diff --git a/modules/sale_shipment_grouping/tests/scenario_sale_shipment_grouping_return.rst b/modules/sale_shipment_grouping/tests/scenario_sale_shipment_grouping_return.rst new file mode 100644 index 0000000000..e76f39c790 --- /dev/null +++ b/modules/sale_shipment_grouping/tests/scenario_sale_shipment_grouping_return.rst @@ -0,0 +1,77 @@ +====================================== +Sale Shipment Grouping Return 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) + >>> from trytond.modules.account.tests.tools import ( + ... create_chart, get_accounts) + +Activate modules:: + + >>> config = activate_modules('sale_shipment_grouping') + + >>> Party = Model.get('party.party') + >>> ProductCategory = Model.get('product.category') + >>> ProductTemplate = Model.get('product.template') + >>> ProductUom = Model.get('product.uom') + >>> Sale = Model.get('sale.sale') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create chart of accounts:: + + >>> _ = create_chart(company) + >>> accounts = get_accounts(company) + +Create parties:: + + >>> customer = Party(name='Customer') + >>> customer.sale_shipment_grouping_method = 'standard' + >>> customer.save() + +Create account category:: + + >>> account_category = ProductCategory(name="Account Category") + >>> account_category.accounting = True + >>> account_category.account_expense = accounts['expense'] + >>> account_category.account_revenue = accounts['revenue'] + >>> account_category.save() + +Create product:: + + >>> unit, = ProductUom.find([('name', '=', "Unit")]) + + >>> template = ProductTemplate() + >>> template.name = "Product" + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.salable = True + >>> template.list_price = Decimal('10.0000') + >>> template.account_category = account_category + >>> template.save() + >>> product, = template.products + +Return a product:: + + >>> sale = Sale() + >>> sale.party = customer + >>> sale.invoice_method = 'order' + >>> sale_line = sale.lines.new() + >>> sale_line.product = product + >>> sale_line.quantity = -1 + >>> sale.click('quote') + >>> sale.click('confirm') + >>> sale.state + 'processing' + + >>> shipment_return, = sale.shipment_returns