Cédric Krier pushed to branch branch/default at Tryton / Tryton


Commits:
c383c81b by Cédric Krier at 2023-01-14T17:09:52+01:00
Group only with the fields existing on the shipment

Closes #11998
- - - - -
e56da44a by Cédric Krier at 2023-01-14T17:10:40+01:00
Test shipment grouping with return for #11998
- - - - -
2ddae6bf by Cédric Krier at 2023-01-14T17:11:07+01:00
Use correct name for test scenario of sale shipment grouping
- - - - -


4 changed files:

- modules/sale_shipment_grouping/sale.py
- modules/sale_shipment_grouping/tests/scenario_sale_shipment_grouping.rst
- 
modules/sale_shipment_grouping/tests/scenario_sale_shipment_grouping_multiple.rst
- + 
modules/sale_shipment_grouping/tests/scenario_sale_shipment_grouping_return.rst


Changes:

=====================================
modules/sale_shipment_grouping/sale.py
=====================================
@@ -37,9 +37,10 @@
             ('state', 'in', self._shipment_grouping_state),
             ]
         shipment_domain += self._get_grouped_shipment_planned_date(shipment)
-        defaults = Shipment.default_get(self._shipment_grouping_fields,
-            with_rec_name=False)
-        for field in self._shipment_grouping_fields:
+        fields = [
+            f for f in self._shipment_grouping_fields if f in Shipment._fields]
+        defaults = Shipment.default_get(fields, with_rec_name=False)
+        for field in fields:
             shipment_domain.append((field, '=',
                     getattr(shipment, field, defaults.get(field))))
         return shipment_domain


=====================================
modules/sale_shipment_grouping/tests/scenario_sale_shipment_grouping.rst
=====================================
@@ -1,6 +1,6 @@
-==============================
-Sale Invoice Grouping Scenario
-==============================
+===============================
+Sale Shipment Grouping Scenario
+===============================
 
 Imports::
 


=====================================
modules/sale_shipment_grouping/tests/scenario_sale_shipment_grouping_multiple.rst
=====================================
@@ -1,6 +1,6 @@
-=======================================
-Sale Invoice Grouping Multiple Scenario
-=======================================
+========================================
+Sale Shipment Grouping Multiple Scenario
+========================================
 
 Imports::
 


=====================================
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



View it on Heptapod: 
https://foss.heptapod.net/tryton/tryton/-/compare/e22f31a0163998902145ea47d76ded437e0c7ccf...2ddae6bfbb96cbba9e7367a377ff4533856c59ed

-- 
View it on Heptapod: 
https://foss.heptapod.net/tryton/tryton/-/compare/e22f31a0163998902145ea47d76ded437e0c7ccf...2ddae6bfbb96cbba9e7367a377ff4533856c59ed
You're receiving this email because of your account on foss.heptapod.net.


Reply via email to