You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

69 lines
2.7 KiB

# -*- coding: utf-8 -*-
# © 2017 CompassionCH <http://therp.nl>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import base64
from odoo.tests.common import TransactionCase
from odoo.tools.misc import file_open
class TestImport(TransactionCase):
"""Run test to import camt import."""
def setUp(self):
super(TestImport, self).setUp()
bank = self.env['res.partner.bank'].create({
'acc_number': 'NL77ABNA0574908765',
'partner_id': self.env.ref('base.main_partner').id,
'company_id': self.env.ref('base.main_company').id,
'bank_id': self.env.ref('base.res_bank_1').id,
})
self.env['account.journal'].create({
'name': 'Bank Journal - (test camt)',
'code': 'TBNKCAMT',
'type': 'bank',
'bank_account_id': bank.id,
})
def test_statement_import(self):
"""Test that transaction details are correctly imported."""
line_details = [
{
'partner_account': 'NL69ABNA0522123643',
'partner_bic': 'ABNANL2A',
'partner_name': '3rd party Media',
'partner_address': 'SOMESTREET 570-A, 1276 ML HOUSCITY'
},
{
'partner_account': 'NL46ABNA0499998748',
'partner_bic': 'ABNANL2A',
'partner_name': 'Test Customer',
},
{
'partner_account': 'NL46ABNA0499998748',
'partner_bic': 'ABNANL2A',
'partner_name': 'Test Customer',
},
{
'partner_account': 'NL46ABNA0499998748',
'partner_bic': 'ABNANL2A',
'partner_name': 'INSURANCE COMPANY TESTX',
'partner_address': 'TEST STREET 20, 1234 AB TESTCITY'
},
]
with file_open(
'account_bank_statement_import_camt/test_files/test-camt053'
) as testfile:
action = self.env['account.bank.statement.import'].create({
'data_file': base64.b64encode(testfile.read()),
}).import_file()
statement_lines = self.env['account.bank.statement'].browse(
action['context']['statement_ids']).mapped('line_ids')
for i in range(0, len(line_details)):
line = statement_lines[i]
rec_data = line.get_statement_line_for_reconciliation_widget()
for key, val in line_details[i].iteritems():
# test data is in reconcile data view
if key in ('partner_account', 'partner_address'):
self.assertEqual(val, rec_data.get(key))
# test field is set in model
self.assertEqual(getattr(line, key), val)