From 989948e1f8e5032d93cee8f99d393c5615408f27 Mon Sep 17 00:00:00 2001 From: Alexey Pelykh Date: Mon, 8 Aug 2022 08:04:16 +0200 Subject: [PATCH 1/2] [UPD] Repo template --- .copier-answers.yml | 9 ++++----- .pylintrc | 2 ++ .pylintrc-mandatory | 1 + README.md | 4 ++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.copier-answers.yml b/.copier-answers.yml index ad73096c..377ef7b8 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,6 +1,6 @@ # Do NOT update manually; changes here will be overwritten by Copier -_commit: v1.6.1 -_src_path: https://github.com/OCA/oca-addons-repo-template.git +_commit: v1.7.0 +_src_path: git+https://github.com/oca/oca-addons-repo-template ci: GitHub dependency_installation_mode: PIP generate_requirements_txt: true @@ -9,9 +9,8 @@ odoo_version: 13.0 org_name: Odoo Community Association (OCA) org_slug: OCA rebel_module_groups: [] -repo_description: This repository hosts additionnal parsers and import features for - bank statements. -repo_name: OCA bank statement import modules for Odoo +repo_description: 'TODO: add repo description.' +repo_name: bank-statement-import repo_slug: bank-statement-import repo_website: https://github.com/OCA/bank-statement-import travis_apt_packages: [] diff --git a/.pylintrc b/.pylintrc index c3d75e12..20d850df 100644 --- a/.pylintrc +++ b/.pylintrc @@ -1,3 +1,5 @@ + + [MASTER] load-plugins=pylint_odoo score=n diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory index 3e19630b..1c8f3771 100644 --- a/.pylintrc-mandatory +++ b/.pylintrc-mandatory @@ -1,3 +1,4 @@ + [MASTER] load-plugins=pylint_odoo score=n diff --git a/README.md b/README.md index 388f3a87..d819b2cd 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,9 @@ -# OCA bank statement import modules for Odoo +# bank-statement-import -This repository hosts additionnal parsers and import features for bank statements. +TODO: add repo description. From ca20f3a910088154c1c0ae8f78bfda5bee074de4 Mon Sep 17 00:00:00 2001 From: Alexey Pelykh Date: Mon, 8 Aug 2022 08:02:17 +0200 Subject: [PATCH 2/2] [FIX] account_statement_import_online_paypal: tests --- ...unt_bank_statement_import_online_paypal.py | 116 +++++++++++------- 1 file changed, 69 insertions(+), 47 deletions(-) diff --git a/account_bank_statement_import_online_paypal/tests/test_account_bank_statement_import_online_paypal.py b/account_bank_statement_import_online_paypal/tests/test_account_bank_statement_import_online_paypal.py index 87c92e2c..5adf7f48 100644 --- a/account_bank_statement_import_online_paypal/tests/test_account_bank_statement_import_online_paypal.py +++ b/account_bank_statement_import_online_paypal/tests/test_account_bank_statement_import_online_paypal.py @@ -1,5 +1,5 @@ # Copyright 2019 Brainbean Apps (https://brainbeanapps.com) -# Copyright 2021 CorporateHub (https://corporatehub.eu) +# Copyright 2021-2022 CorporateHub (https://corporatehub.eu) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). import json @@ -54,6 +54,13 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): super().setUp() self.now = fields.Datetime.now() + self.now_isoformat = self.now.isoformat() + "+0000" + self.today = datetime(self.now.year, self.now.month, self.now.day) + self.today_isoformat = self.today.isoformat() + "+0000" + self.today_timestamp = str(int(self.today.timestamp())) + self.yesterday = self.today - relativedelta(days=1) + self.yesterday_isoformat = self.yesterday.isoformat() + "+0000" + self.yesterday_timestamp = str(int(self.yesterday.timestamp())) self.currency_eur = self.env.ref("base.EUR") self.currency_usd = self.env.ref("base.USD") self.AccountJournal = self.env["account.journal"] @@ -237,9 +244,10 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): } ], "account_id": "1234567890", - "as_of_time": "2019-08-01T00:00:00+0000", - "last_refresh_time": "2019-08-01T00:00:00+0000" + "as_of_time": "%s", + "last_refresh_time": "%s" }""" + % (self.now_isoformat, self.now_isoformat,) ) with mock.patch( _provider_class + "._paypal_urlopen", @@ -320,13 +328,14 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): """{ "transaction_details": [], "account_number": "1234567890", - "start_date": "2019-08-01T00:00:00+0000", - "end_date": "2019-08-01T00:00:00+0000", - "last_refreshed_datetime": "2019-09-01T00:00:00+0000", + "start_date": "%s", + "end_date": "%s", + "last_refreshed_datetime": "%s", "page": 1, "total_items": 0, "total_pages": 0 -}""", +}""" + % (self.now_isoformat, self.now_isoformat, self.now_isoformat,), parse_float=Decimal, ) mocked_response_2 = json.loads( @@ -350,9 +359,10 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): } ], "account_id": "1234567890", - "as_of_time": "2019-08-01T00:00:00+0000", - "last_refresh_time": "2019-08-01T00:00:00+0000" -}""", + "as_of_time": "%s", + "last_refresh_time": "%s" +}""" + % (self.now_isoformat, self.now_isoformat,), parse_float=Decimal, ) with mock.patch( @@ -382,13 +392,14 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): """{ "transaction_details": [], "account_number": "1234567890", - "start_date": "2019-08-01T00:00:00+0000", - "end_date": "2019-08-01T00:00:00+0000", - "last_refreshed_datetime": "2019-09-01T00:00:00+0000", + "start_date": "%s", + "end_date": "%s", + "last_refreshed_datetime": "%s", "page": 1, "total_items": 0, "total_pages": 0 -}""", +}""" + % (self.now_isoformat, self.now_isoformat, self.now_isoformat,), parse_float=Decimal, ) with mock.patch( @@ -419,8 +430,8 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): "paypal_account_id": "1234567890", "transaction_id": "1234567890", "transaction_event_code": "T1234", - "transaction_initiation_date": "2019-08-01T00:00:00+0000", - "transaction_updated_date": "2019-08-01T00:00:00+0000", + "transaction_initiation_date": "%s", + "transaction_updated_date": "%s", "transaction_amount": { "currency_code": "USD", "value": "1000.00" @@ -461,8 +472,8 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): "paypal_account_id": "1234567890", "transaction_id": "1234567891", "transaction_event_code": "T1234", - "transaction_initiation_date": "2019-08-02T00:00:00+0000", - "transaction_updated_date": "2019-08-02T00:00:00+0000", + "transaction_initiation_date": "%s", + "transaction_updated_date": "%s", "transaction_amount": { "currency_code": "USD", "value": "1000.00" @@ -500,43 +511,50 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): "incentive_info": {} }], "account_number": "1234567890", - "start_date": "2019-08-01T00:00:00+0000", - "end_date": "2019-08-02T00:00:00+0000", - "last_refreshed_datetime": "2019-09-01T00:00:00+0000", + "start_date": "%s", + "end_date": "%s", + "last_refreshed_datetime": "%s", "page": 1, "total_items": 1, "total_pages": 1 -}""", +}""" + % ( + self.yesterday_isoformat, + self.yesterday_isoformat, + self.today_isoformat, + self.today_isoformat, + self.yesterday_isoformat, + self.today_isoformat, + self.now_isoformat, + ), parse_float=Decimal, ) with mock.patch( _provider_class + "._paypal_retrieve", return_value=mocked_response, ), self.mock_token(): - data = provider._obtain_statement_data( - datetime(2019, 8, 1), datetime(2019, 8, 2), - ) + data = provider._obtain_statement_data(self.yesterday, self.today,) self.assertEqual(len(data[0]), 2) self.assertEqual( data[0][0], { - "date": datetime(2019, 8, 1), + "date": self.yesterday, "amount": "1000.00", "name": "Invoice 1", "note": "1234567890: Payment for Invoice(s) 1", "partner_name": "Acme, Inc.", - "unique_import_id": "1234567890-1564617600", + "unique_import_id": "1234567890-%s" % (self.yesterday_timestamp,), }, ) self.assertEqual( data[0][1], { - "date": datetime(2019, 8, 1), + "date": self.yesterday, "amount": "-100.00", "name": "Fee for Invoice 1", "note": "Transaction fee for 1234567890: Payment for Invoice(s) 1", "partner_name": "PayPal", - "unique_import_id": "1234567890-1564617600-FEE", + "unique_import_id": "1234567890-%s-FEE" % (self.yesterday_timestamp,), }, ) self.assertEqual(data[1], {"balance_start": 0.0, "balance_end_real": 900.0}) @@ -548,8 +566,8 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): "paypal_account_id": "1234567890", "transaction_id": "1234567890", "transaction_event_code": "T1234", - "transaction_initiation_date": "2019-08-01T00:00:00+0000", - "transaction_updated_date": "2019-08-01T00:00:00+0000", + "transaction_initiation_date": "%s", + "transaction_updated_date": "%s", "transaction_amount": { "currency_code": "USD", "value": "1000.00" @@ -586,17 +604,18 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): "auction_info": {}, "incentive_info": {} }""" + % (self.today_isoformat, self.today_isoformat,) ) self.assertEqual(len(lines), 1) self.assertEqual( lines[0], { - "date": datetime(2019, 8, 1), + "date": self.today, "amount": "1000.00", "name": "Invoice 1", "note": "1234567890: Payment for Invoice(s) 1", "partner_name": "Acme, Inc.", - "unique_import_id": "1234567890-1564617600", + "unique_import_id": "1234567890-%s" % (self.today_timestamp,), }, ) @@ -607,8 +626,8 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): "paypal_account_id": "1234567890", "transaction_id": "1234567890", "transaction_event_code": "T1234", - "transaction_initiation_date": "2019-08-01T00:00:00+0000", - "transaction_updated_date": "2019-08-01T00:00:00+0000", + "transaction_initiation_date": "%s", + "transaction_updated_date": "%s", "transaction_amount": { "currency_code": "USD", "value": "1000.00" @@ -645,17 +664,18 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): "auction_info": {}, "incentive_info": {} }""" + % (self.today_isoformat, self.today_isoformat,) ) self.assertEqual(len(lines), 1) self.assertEqual( lines[0], { - "date": datetime(2019, 8, 1), + "date": self.today, "amount": "1000.00", "name": "Invoice 1", "note": "1234567890: Payment for Invoice(s) 1", "partner_name": "Acme, Inc.", - "unique_import_id": "1234567890-1564617600", + "unique_import_id": "1234567890-%s" % (self.today_timestamp,), }, ) @@ -666,8 +686,8 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): "paypal_account_id": "1234567890", "transaction_id": "1234567890", "transaction_event_code": "T1234", - "transaction_initiation_date": "2019-08-01T00:00:00+0000", - "transaction_updated_date": "2019-08-01T00:00:00+0000", + "transaction_initiation_date": "%s", + "transaction_updated_date": "%s", "transaction_amount": { "currency_code": "USD", "value": "1000.00" @@ -704,28 +724,29 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): "auction_info": {}, "incentive_info": {} }""" + % (self.today_isoformat, self.today_isoformat,) ) self.assertEqual(len(lines), 2) self.assertEqual( lines[0], { - "date": datetime(2019, 8, 1), + "date": self.today, "amount": "1000.00", "name": "Invoice 1", "note": "1234567890: Payment for Invoice(s) 1", "partner_name": "Acme, Inc.", - "unique_import_id": "1234567890-1564617600", + "unique_import_id": "1234567890-%s" % (self.today_timestamp,), }, ) self.assertEqual( lines[1], { - "date": datetime(2019, 8, 1), + "date": self.today, "amount": "-100.00", "name": "Fee for Invoice 1", "note": "Transaction fee for 1234567890: Payment for Invoice(s) 1", "partner_name": "PayPal", - "unique_import_id": "1234567890-1564617600-FEE", + "unique_import_id": "1234567890-%s-FEE" % (self.today_timestamp,), }, ) @@ -736,8 +757,8 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): "paypal_account_id": "1234567890", "transaction_id": "1234567890", "transaction_event_code": "T1234", - "transaction_initiation_date": "2019-08-01T00:00:00+0000", - "transaction_updated_date": "2019-08-01T00:00:00+0000", + "transaction_initiation_date": "%s", + "transaction_updated_date": "%s", "transaction_amount": { "currency_code": "USD", "value": "1000.00" @@ -770,16 +791,17 @@ class TestAccountBankAccountStatementImportOnlinePayPal(common.TransactionCase): "auction_info": {}, "incentive_info": {} }""" + % (self.today_isoformat, self.today_isoformat,) ) self.assertEqual(len(lines), 1) self.assertEqual( lines[0], { - "date": datetime(2019, 8, 1), + "date": self.today, "amount": "1000.00", "name": "Invoice 1", "note": "1234567890: Payment for Invoice(s) 1", "partner_name": "Acme, Inc.", - "unique_import_id": "1234567890-1564617600", + "unique_import_id": "1234567890-%s" % (self.today_timestamp,), }, )