|
3 | 3 |
|
4 | 4 | import base64 |
5 | 5 |
|
| 6 | +from lxml import etree |
| 7 | + |
6 | 8 | from odoo import Command |
7 | 9 | from odoo.tests import Form, tagged |
8 | 10 |
|
@@ -105,9 +107,20 @@ def test_2_bills(self): |
105 | 107 | payment_att = self._get_payment_attachment(bills) |
106 | 108 |
|
107 | 109 | # Assert |
108 | | - payment_att_content = base64.b64decode(payment_att.datas).decode() |
109 | | - self.assertIn(bill_1.ref, payment_att_content) |
110 | | - self.assertIn(bill_2.ref, payment_att_content) |
| 110 | + payment_tree = etree.fromstring(base64.b64decode(payment_att.datas)) |
| 111 | + namespaces = payment_tree.nsmap |
| 112 | + bills_refs_node = payment_tree.find( |
| 113 | + ".//PMRQ:RmtInf//PMRQ:Ustrd", |
| 114 | + namespaces=namespaces, |
| 115 | + ) |
| 116 | + self.assertIn(bill_1.ref, bills_refs_node.text) |
| 117 | + self.assertIn(bill_2.ref, bills_refs_node.text) |
| 118 | + |
| 119 | + category_purpose_code_node = payment_tree.find( |
| 120 | + ".//PMRQ:CtgyPurp//PMRQ:Cd", |
| 121 | + namespaces=namespaces, |
| 122 | + ) |
| 123 | + self.assertEqual(category_purpose_code_node.text, "SUPP") |
111 | 124 |
|
112 | 125 | def test_multiple_payment_priority(self): |
113 | 126 | """Generate a payment file for a vendor bill |
@@ -143,5 +156,10 @@ def test_multiple_payment_priority(self): |
143 | 156 | payment_att = self._get_record_from_action(payment_file_action) |
144 | 157 |
|
145 | 158 | # Assert |
146 | | - payment_att_content = base64.b64decode(payment_att.datas).decode() |
147 | | - self.assertIn(bill.ref, payment_att_content) |
| 159 | + payment_tree = etree.fromstring(base64.b64decode(payment_att.datas)) |
| 160 | + namespaces = payment_tree.nsmap |
| 161 | + bills_refs_node = payment_tree.find( |
| 162 | + ".//PMRQ:RmtInf//PMRQ:Ustrd", |
| 163 | + namespaces=namespaces, |
| 164 | + ) |
| 165 | + self.assertIn(bill.ref, bills_refs_node.text) |
0 commit comments