From cf661162326409d703dd0a92d7d1c492b2128808 Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Fri, 1 May 2020 20:33:05 +0200 Subject: [PATCH] Add test for product customers copy issue9017 review315221002 --- tests/scenario_sale_copy_product_customer.rst | 58 +++++++++++++++++++ tests/test_sale_product_customer.py | 5 ++ 2 files changed, 63 insertions(+) create mode 100644 tests/scenario_sale_copy_product_customer.rst diff --git a/tests/scenario_sale_copy_product_customer.rst b/tests/scenario_sale_copy_product_customer.rst new file mode 100644 index 0000000000..2ef01ab7a9 --- /dev/null +++ b/tests/scenario_sale_copy_product_customer.rst @@ -0,0 +1,58 @@ +=================================== +Sale Copy Product Customer Scenario +=================================== + +Imports:: + + >>> from decimal import Decimal + >>> from proteus import Model + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + +Install purchase:: + + >>> config = activate_modules('sale_product_customer') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create party:: + + >>> Party = Model.get('party.party') + >>> customer = Party(name='customer') + >>> customer.save() + +Create a product with customers:: + + >>> ProductUom = Model.get('product.uom') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> ProductTemplate = Model.get('product.template') + + >>> template = ProductTemplate() + >>> template.name = 'product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.salable = True + >>> template.list_price = Decimal('10') + >>> template.cost_price_method = 'fixed' + >>> product_customer = template.product_customers.new() + >>> product_customer.party = customer + >>> template.save() + >>> product, = template.products + >>> product_customer = product.product_customers.new() + >>> product_customer.party = customer + >>> product_customer.template == template + True + >>> product.save() + +Customer is copied when copying the template:: + + >>> template_copy, = template.duplicate() + >>> product_copy, = template_copy.products + >>> len(template_copy.product_customers) + 2 + >>> len(product_copy.product_customers) + 1 diff --git a/tests/test_sale_product_customer.py b/tests/test_sale_product_customer.py index 041e2d74e8..fea3871b27 100644 --- a/tests/test_sale_product_customer.py +++ b/tests/test_sale_product_customer.py @@ -26,4 +26,9 @@ def suite(): tearDown=doctest_teardown, encoding='utf-8', checker=doctest_checker, optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite( + 'scenario_sale_copy_product_customer.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) return suite