Skip to content

Commit 5e79111

Browse files
thienvh332duongtq
authored and
duongtq
committed
[IMP] sale_order_import_edifact: add testcase for no PRI segment
1 parent d273a85 commit 5e79111

File tree

2 files changed

+53
-1
lines changed

2 files changed

+53
-1
lines changed

sale_order_import_edifact/tests/common.py

+23
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,26 @@ def get_test_data_no_ean_in_lin(env):
6565
}
6666
)
6767
}
68+
69+
70+
def get_test_data_no_price(env):
71+
ref = env.ref
72+
return {
73+
"test_orders_-_no_PRI_segments.txt": DotDict(
74+
{
75+
"_get_content": partial(
76+
_get_file_content, "test_orders_-_no_PRI_segments.txt"
77+
),
78+
"client_order_ref": "COM-004017",
79+
"date_order": "2023-03-20",
80+
"partner": ref("sale_order_import_edifact.partner_edi_invoiceto_dm"),
81+
"shipping_partner": ref(
82+
"sale_order_import_edifact.partner_edi_shipto_dm"
83+
),
84+
"products": ref("sale_order_import_edifact.product_product_edifact1_dm")
85+
+ ref("sale_order_import_edifact.product_product_edifact2_dm")
86+
+ ref("sale_order_import_edifact.product_product_edifact3_dm"),
87+
"price": [1.0, 1.0, 1.0],
88+
}
89+
)
90+
}

sale_order_import_edifact/tests/test_edifact_order_import.py

+30-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from odoo.tests.common import TransactionCase
77
from odoo.tools import mute_logger
88

9-
from .common import get_test_data, get_test_data_no_ean_in_lin
9+
from .common import get_test_data, get_test_data_no_ean_in_lin, get_test_data_no_price
1010

1111

1212
class TestEdifactOrderImport(TransactionCase):
@@ -78,3 +78,32 @@ def test_edifact_order_import_no_ean_in_lin(self):
7878
self.assertEqual(
7979
so.order_line.mapped("name")[0], "Product1 description"
8080
)
81+
82+
@mute_logger("odoo.addons.sale_order_import.wizard.sale_order_import")
83+
def test_edifact_order_import_no_price(self):
84+
tests = get_test_data_no_price(self.env)
85+
for filename, expected in tests.items():
86+
edifact_file = expected._get_content()
87+
wiz = self.env["sale.order.import"].create(
88+
{
89+
"import_type": "edifact",
90+
"order_file": base64.b64encode(edifact_file),
91+
"order_filename": filename,
92+
}
93+
)
94+
action = wiz.import_order_button()
95+
so = self.env["sale.order"].browse(action["res_id"])
96+
self.assertEqual(so.partner_id, expected["partner"])
97+
98+
if expected.get("client_order_ref"):
99+
self.assertEqual(so.client_order_ref, expected["client_order_ref"])
100+
101+
if expected.get("shipping_partner"):
102+
self.assertEqual(so.partner_shipping_id, expected["shipping_partner"])
103+
104+
if expected.get("products"):
105+
expected_ids = sorted(expected["products"].ids)
106+
self.assertEqual(
107+
sorted(so.order_line.mapped("product_id").ids), expected_ids
108+
)
109+
self.assertEqual(so.order_line.mapped("price_unit"), expected["price"])

0 commit comments

Comments
 (0)