From b2c8622e87d6528bd51a8e19fbd8ded7915e2204 Mon Sep 17 00:00:00 2001 From: Stefan Rijnhart Date: Tue, 2 Feb 2021 09:42:39 +0100 Subject: [PATCH] [FIX] Fix same eror in camt54 module --- account_statement_import_camt/models/parser.py | 2 -- .../test_files/golden-camt053-txdtls.pydata | 6 ++---- .../test_files/golden-camt053.pydata | 12 ++++-------- .../tests/test_import_bank_statement.py | 4 +++- .../models/account_statement_import.py | 3 +-- account_statement_import_camt54/models/parser.py | 12 ++++++------ .../tests/test_get_partner_ref.py | 6 +++--- .../tests/test_statement.py | 9 +-------- 8 files changed, 20 insertions(+), 34 deletions(-) diff --git a/account_statement_import_camt/models/parser.py b/account_statement_import_camt/models/parser.py index 0ee3e739..0fdbeb27 100644 --- a/account_statement_import_camt/models/parser.py +++ b/account_statement_import_camt/models/parser.py @@ -219,8 +219,6 @@ class CamtParser(models.AbstractModel): result["date"] = sorted( transactions, key=lambda x: x["date"], reverse=True )[0]["date"] - for seq, vals in enumerate(transactions, start=1): - vals["sequence"] = seq return result def check_version(self, ns, root): diff --git a/account_statement_import_camt/test_files/golden-camt053-txdtls.pydata b/account_statement_import_camt/test_files/golden-camt053-txdtls.pydata index 37b60b30..44418034 100644 --- a/account_statement_import_camt/test_files/golden-camt053-txdtls.pydata +++ b/account_statement_import_camt/test_files/golden-camt053-txdtls.pydata @@ -10,13 +10,11 @@ 'narration': 'CRÉDIT GROUPÉ BVR TRAITEMENT DU 22.03.2017 NUMÉRO CLIENT 01-70884-3 PAQUET ID: 123456CHCAFEBABE', 'partner_name': 'Banque Cantonale Vaudoise', 'payment_ref': '/', - 'ref': '302388292000011111111111111', - 'sequence': 1}, + 'ref': '302388292000011111111111111'}, {'account_number': 'CH3333000000123456789', 'amount': 1296.0, 'date': '2017-03-22', 'narration': 'CRÉDIT GROUPÉ BVR TRAITEMENT DU 22.03.2017 NUMÉRO CLIENT 01-70884-3 PAQUET ID: 123456CHCAFEBABE', 'partner_name': 'Banque Cantonale Vaudoise', 'payment_ref': '/', - 'ref': '302388292000022222222222222', - 'sequence': 2}]}]) + 'ref': '302388292000022222222222222'}]}]) diff --git a/account_statement_import_camt/test_files/golden-camt053.pydata b/account_statement_import_camt/test_files/golden-camt053.pydata index 528f4f61..4c116025 100644 --- a/account_statement_import_camt/test_files/golden-camt053.pydata +++ b/account_statement_import_camt/test_files/golden-camt053.pydata @@ -9,26 +9,22 @@ 'date': '2014-01-05', 'partner_name': 'INSURANCE COMPANY TESTX', 'payment_ref': 'MKB Insurance 859239PERIOD 01.01.2014 - 31.12.2014', - 'ref': '435005714488-ABNO33052620', - 'sequence': 1}, + 'ref': '435005714488-ABNO33052620'}, {'account_number': 'NL46ABNA0499998748', 'amount': -564.05, 'date': '2014-01-05', 'partner_name': 'Test Customer', 'payment_ref': 'Direct debit S14 0410 AC07 Rek.nummer blokkade TESTBANK/NL/20141229/01206408', - 'ref': 'TESTBANK/NL/20141229/01206408', - 'sequence': 2}, + 'ref': 'TESTBANK/NL/20141229/01206408'}, {'account_number': 'NL46ABNA0499998748', 'amount': -100.0, 'date': '2014-01-05', 'partner_name': 'Test Customer', 'payment_ref': 'Direct debit S14 0410 AC07 Rek.nummer blokkade TESTBANK/NL/20141229/01206408', - 'ref': 'TESTBANK/NL/20141229/01206407', - 'sequence': 3}, + 'ref': 'TESTBANK/NL/20141229/01206407'}, {'account_number': 'NL69ABNA0522123643', 'amount': 1405.31, 'date': '2014-01-05', 'partner_name': '3rd party Media', 'payment_ref': '#RD PARTY MEDIA CUSNO 90782 4210773', - 'ref': '115', - 'sequence': 4}]}]) + 'ref': '115'}]}]) diff --git a/account_statement_import_camt/tests/test_import_bank_statement.py b/account_statement_import_camt/tests/test_import_bank_statement.py index 5e7b3a13..cda12fa9 100644 --- a/account_statement_import_camt/tests/test_import_bank_statement.py +++ b/account_statement_import_camt/tests/test_import_bank_statement.py @@ -118,6 +118,7 @@ class TestImport(TransactionCase): ) with open(testfile, "rb") as datafile: camt_file = base64.b64encode(datafile.read()) + self.env["account.statement.import"].create( { "statement_filename": "test import", @@ -156,4 +157,5 @@ class TestImport(TransactionCase): [("name", "in", ["1234Test/2", "1234Test/3"])] ) - self.assertTrue(all([st.line_ids for st in bank_st_record])) + self.assertTrue(all([st.line_ids for st in bank_st_record])) + self.assertEqual(bank_st_record[0].line_ids.mapped("sequence"), [1, 2, 3]) diff --git a/account_statement_import_camt54/models/account_statement_import.py b/account_statement_import_camt54/models/account_statement_import.py index 6dc15ec3..40b6dbf5 100644 --- a/account_statement_import_camt54/models/account_statement_import.py +++ b/account_statement_import_camt54/models/account_statement_import.py @@ -25,11 +25,10 @@ class AccountStatementImport(models.TransientModel): amount = -amount statement.line_ids.create( { - "name": statement.name, "amount": amount, "statement_id": statement.id, "date": statement.date, - "payment_ref": "/", + "payment_ref": statement.name, } ) statement.balance_end_real = statement.balance_start diff --git a/account_statement_import_camt54/models/parser.py b/account_statement_import_camt54/models/parser.py index 7c6d4190..b12b1caa 100644 --- a/account_statement_import_camt54/models/parser.py +++ b/account_statement_import_camt54/models/parser.py @@ -58,7 +58,7 @@ class CamtParser(models.AbstractModel): "./ns:RmtInf/ns:Strd/ns:CdtrRefInf/ns:Ref", namespaces={"ns": ns} ) if len(isr_number): - transaction["name"] = isr_number[0].text + transaction["payment_ref"] = isr_number[0].text partner_ref = self._get_partner_ref(isr_number[0].text) if partner_ref: transaction["partner_ref"] = partner_ref @@ -68,11 +68,11 @@ class CamtParser(models.AbstractModel): "./ns:AddtlNtryInf", "/ns:Refs/ns:InstrId", ] - name = transaction["name"] + payment_ref = transaction["payment_ref"] for xpath_expr in xpath_exprs: found_node = node.xpath(xpath_expr, namespaces={"ns": ns}) if found_node: - name = found_node[0].text + payment_ref = found_node[0].text break trans_id_node = ( node.getparent() @@ -80,9 +80,9 @@ class CamtParser(models.AbstractModel): .xpath("./ns:AcctSvcrRef", namespaces={"ns": ns}) ) if trans_id_node: - name = "{} ({})".format(name, trans_id_node[0].text) - if name: - transaction["name"] = name + payment_ref = "{} ({})".format(payment_ref, trans_id_node[0].text) + if payment_ref: + transaction["payment_ref"] = payment_ref # End add esr to the label. # add transaction id to ref diff --git a/account_statement_import_camt54/tests/test_get_partner_ref.py b/account_statement_import_camt54/tests/test_get_partner_ref.py index 01170a18..f42b039e 100644 --- a/account_statement_import_camt54/tests/test_get_partner_ref.py +++ b/account_statement_import_camt54/tests/test_get_partner_ref.py @@ -27,21 +27,21 @@ class TestGetPartnerRef(common.TransactionCase): self.ICP.set_param("isr_partner_ref", "12") ref = "11 11111 11112 34567 11111 11111".replace(" ", "") partner_ref = self.Parser._get_partner_ref(ref) - self.assertEquals(partner_ref, "234567") + self.assertEqual(partner_ref, "234567") def test_ICP_full(self): """Test full format of partner ref definition""" self.ICP.set_param("isr_partner_ref", "12,6") ref = "11 11111 11112 34567 11111 11111".replace(" ", "") partner_ref = self.Parser._get_partner_ref(ref) - self.assertEquals(partner_ref, "234567") + self.assertEqual(partner_ref, "234567") def test_zero_stripped(self): """Test full format of partner ref definition""" self.ICP.set_param("isr_partner_ref", "12,6") ref = "11 11111 11110 00560 11111 11111".replace(" ", "") partner_ref = self.Parser._get_partner_ref(ref) - self.assertEquals(partner_ref, "560") + self.assertEqual(partner_ref, "560") def test_bad_ICP(self): """Test ir config parameter validation""" diff --git a/account_statement_import_camt54/tests/test_statement.py b/account_statement_import_camt54/tests/test_statement.py index b7a16fd3..aa59318f 100644 --- a/account_statement_import_camt54/tests/test_statement.py +++ b/account_statement_import_camt54/tests/test_statement.py @@ -3,8 +3,6 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). import base64 -import mock - from odoo.modules.module import get_module_resource from odoo.tests.common import SavepointCase @@ -39,12 +37,7 @@ class TestGenerateBankStatement(SavepointCase): } ) - @mock.patch( - "odoo.addons.account.models.sequence_mixin." - "SequenceMixin._constrains_date_sequence", - side_effect=False, - ) - def _load_statement(self, constraint): + def _load_statement(self): testfile = get_module_resource( "account_statement_import_camt", "test_files", "test-camt053" )