From 99932368ce935804770fd6760d4ef7df20963299 Mon Sep 17 00:00:00 2001 From: Jacques-Etienne Baudoux Date: Fri, 25 Aug 2023 19:44:40 +0200 Subject: [PATCH] [IMP] procurement_auto_create_group: pull flow When the pull flow is coming from an SO, a procurement group is already preset. When the option to auto create a procurement group, replace that procurement group by a new one. --- .../models/procurement_group.py | 7 +------ .../tests/test_auto_create.py | 12 +++++++++--- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/procurement_auto_create_group/models/procurement_group.py b/procurement_auto_create_group/models/procurement_group.py index 97873a264..ca9cb938c 100644 --- a/procurement_auto_create_group/models/procurement_group.py +++ b/procurement_auto_create_group/models/procurement_group.py @@ -13,11 +13,6 @@ class ProcurementGroup(models.Model): rule = super()._get_rule(product_id, location_id, values) # If there isn't a date planned in the values it means that this # method has been called outside of a procurement process. - if ( - rule - and not values.get("group_id") - and rule.auto_create_group - and values.get("date_planned") - ): + if rule and rule.auto_create_group and values.get("date_planned"): values["group_id"] = rule._get_auto_procurement_group(product_id) return rule diff --git a/procurement_auto_create_group/tests/test_auto_create.py b/procurement_auto_create_group/tests/test_auto_create.py index 9bd260870..090b9871a 100644 --- a/procurement_auto_create_group/tests/test_auto_create.py +++ b/procurement_auto_create_group/tests/test_auto_create.py @@ -116,9 +116,13 @@ class TestProcurementAutoCreateGroup(TransactionCase): } ) + cls.group = cls.group_obj.create({"name": "SO0001"}) + @classmethod def _procure(cls, product): - values = {} + values = { + "group_id": cls.group, + } cls.group_obj.run( [ cls.env["procurement.group"].Procurement( @@ -175,8 +179,10 @@ class TestProcurementAutoCreateGroup(TransactionCase): [("product_id", "=", self.prod_no_auto_pull_push.id)] ) self.assertTrue(move) - self.assertFalse( - move.group_id, "Procurement Group should not have been assigned." + self.assertEqual( + move.group_id, + self.group, + "Procurement Group should not have been assigned.", ) def test_02_pull_push_auto_create_group(self):