|
6 | 6 | from odoo.tests.common import TransactionCase
|
7 | 7 | from odoo.tools import mute_logger
|
8 | 8 |
|
9 |
| -from .common import get_test_data |
| 9 | +from .common import get_test_data, get_test_data_no_ean_in_lin |
10 | 10 |
|
11 | 11 |
|
12 | 12 | class TestEdifactOrderImport(TransactionCase):
|
@@ -44,3 +44,37 @@ def test_edifact_order_import(self):
|
44 | 44 | self.assertEqual(
|
45 | 45 | sorted(so.order_line.mapped("product_id").ids), expected_ids
|
46 | 46 | )
|
| 47 | + |
| 48 | + @mute_logger("odoo.addons.sale_order_import.wizard.sale_order_import") |
| 49 | + def test_edifact_order_import_no_ean_in_lin(self): |
| 50 | + tests = get_test_data_no_ean_in_lin(self.env) |
| 51 | + for filename, expected in tests.items(): |
| 52 | + edifact_file = expected._get_content() |
| 53 | + wiz = self.env["sale.order.import"].create( |
| 54 | + { |
| 55 | + "import_type": "edifact", |
| 56 | + "order_file": base64.b64encode(edifact_file), |
| 57 | + "order_filename": filename, |
| 58 | + } |
| 59 | + ) |
| 60 | + action = wiz.import_order_button() |
| 61 | + so = self.env["sale.order"].browse(action["res_id"]) |
| 62 | + self.assertEqual(so.partner_id, expected["partner"]) |
| 63 | + |
| 64 | + if expected.get("client_order_ref"): |
| 65 | + self.assertEqual(so.client_order_ref, expected["client_order_ref"]) |
| 66 | + |
| 67 | + if expected.get("shipping_partner"): |
| 68 | + self.assertEqual(so.partner_shipping_id, expected["shipping_partner"]) |
| 69 | + |
| 70 | + if expected.get("products"): |
| 71 | + expected_ids = sorted(expected["products"].ids) |
| 72 | + self.assertEqual( |
| 73 | + sorted(so.order_line.mapped("product_id").ids), expected_ids |
| 74 | + ) |
| 75 | + self.assertEqual( |
| 76 | + so.order_line.mapped("product_uom_qty"), expected["qty"] |
| 77 | + ) |
| 78 | + self.assertEqual( |
| 79 | + so.order_line.mapped("name")[0], "Product1 description" |
| 80 | + ) |
0 commit comments