From c1d4d781aefe4c9a9af40ee57f9e2340e270ca74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20BEAU?= Date: Thu, 23 Jun 2022 14:14:41 +0200 Subject: [PATCH] shopinvader_sale_configurator_variant: add test --- .../tests/test_cart.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/shopinvader_sale_configurator_variant/tests/test_cart.py b/shopinvader_sale_configurator_variant/tests/test_cart.py index 6095ed0b..ff56cf25 100644 --- a/shopinvader_sale_configurator_variant/tests/test_cart.py +++ b/shopinvader_sale_configurator_variant/tests/test_cart.py @@ -22,6 +22,7 @@ def setUpClass(cls): {"product_id": cls.variant_3.id, "qty": 20}, ] } + cls.pricelist = cls.env.ref("product.list0") def setUp(self, *args, **kwargs): super().setUp(*args, **kwargs) @@ -42,6 +43,33 @@ def test_add_multi_variant_item(self): self.assertEqual(items[0]["amount"]["price"], 0) variants = items[0]["variants"] self.assertEqual(len(variants), 3) + self.assertEqual(variants[0]["amount"]["price"], 750) + self.assertEqual(variants[1]["amount"]["price"], 750) + self.assertEqual(variants[2]["amount"]["price"], 800.4) + + def test_add_multi_variant_item_with_discount(self): + self.env.ref("product.group_discount_per_so_line").write( + {"users": [(4, self.env.user.id, False)]} + ) + self.pricelist.discount_policy = "without_discount" + self.env["product.pricelist.item"].create( + { + "pricelist_id": self.pricelist.id, + "product_tmpl_id": self.variant_1.product_tmpl_id.id, + "percent_price": 30, + "min_quantity": 30, + "compute_price": "percentage", + } + ) + res = self.service.dispatch("add_multi_variant_item", params=self.item_params) + variants = res["data"]["lines"]["items"][0]["variants"] + self.assertEqual(len(variants), 3) + self.assertEqual(variants[0]["amount"]["total"], 5250.0) + self.assertEqual(variants[0]["amount"]["total_without_discount"], 7500.0) + self.assertEqual(variants[1]["amount"]["total"], 7875.0) + self.assertEqual(variants[1]["amount"]["total_without_discount"], 11250.0) + self.assertEqual(variants[2]["amount"]["total"], 11205.6) + self.assertEqual(variants[2]["amount"]["total_without_discount"], 16008.0) def test_update_multi_variant_item(self): res = self.service.dispatch("add_multi_variant_item", params=self.item_params)