From 660eafe90ca67cf3543a35444296ff7df31ecc1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 20 May 2024 20:35:26 +0200 Subject: [PATCH] Add test scenario for production split --- modules/production_split/setup.py | 4 +- .../tests/scenario_production_split.rst | 57 +++++++++++++++++++ .../production_split/tests/test_scenario.py | 8 +++ 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 modules/production_split/tests/scenario_production_split.rst create mode 100644 modules/production_split/tests/test_scenario.py diff --git a/modules/production_split/setup.py b/modules/production_split/setup.py index a6475e5015..e9f1e6614f 100755 --- a/modules/production_split/setup.py +++ b/modules/production_split/setup.py @@ -47,7 +47,9 @@ for dep in info.get('depends', []): requires.append(get_require_version('trytond_%s' % dep)) requires.append(get_require_version('trytond')) -tests_require = [] +tests_require = [ + get_require_version('proteus'), + ] setup(name=name, version=version, diff --git a/modules/production_split/tests/scenario_production_split.rst b/modules/production_split/tests/scenario_production_split.rst new file mode 100644 index 0000000000..79b2402081 --- /dev/null +++ b/modules/production_split/tests/scenario_production_split.rst @@ -0,0 +1,57 @@ +========================= +Production Split Scenario +========================= + +Imports:: + + >>> from decimal import Decimal + + >>> from proteus import Model + >>> from trytond.modules.company.tests.tools import create_company, get_company + >>> from trytond.tests.tools import activate_modules + +Activate modules:: + + >>> config = activate_modules('production_split') + + >>> ProductTemplate = Model.get('product.template') + >>> ProductUom = Model.get('product.uom') + >>> Production = Model.get('production') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create product:: + + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + + >>> template = ProductTemplate() + >>> template.name = 'product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.producible = True + >>> template.list_price = Decimal(20) + >>> template.save() + >>> product, = template.products + +Create a production:: + + >>> production = Production() + >>> production.product = product + >>> production.quantity = 10 + >>> production.save() + +Split the production:: + + >>> split_production = production.click('split_wizard') + >>> split_production.form.quantity = 4 + >>> split_production.form.count = 1 + >>> split_production.execute('split') + >>> production2, = Production.find([('id', '!=', production.id)]) + + >>> production.quantity + 4.0 + >>> production2.quantity + 6.0 diff --git a/modules/production_split/tests/test_scenario.py b/modules/production_split/tests/test_scenario.py new file mode 100644 index 0000000000..dc1d23e7e5 --- /dev/null +++ b/modules/production_split/tests/test_scenario.py @@ -0,0 +1,8 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +from trytond.tests.test_tryton import load_doc_tests + + +def load_tests(*args, **kwargs): + return load_doc_tests(__name__, __file__, *args, **kwargs)