Browse Source

[FIX] don't mess with the registry for tests

pull/188/head
Holger Brunn 6 years ago
parent
commit
44828e8dd3
No known key found for this signature in database GPG Key ID: 1C9760FECA3AE18
  1. 90
      account_bank_statement_import_save_file/tests/test_save_file.py

90
account_bank_statement_import_save_file/tests/test_save_file.py

@ -19,60 +19,52 @@
#
##############################################################################
import base64
from openerp import api, models
from mock import patch
from openerp.tests.common import TransactionCase
acc_number = 'BE1234567890'
class HelloWorldParser(models.TransientModel):
_inherit = 'account.bank.statement.import'
@api.model
def _parse_file(self, data_file):
return (
'EUR',
acc_number,
[{
'name': '000000123',
'date': '2013-06-26',
'transactions': [{
'name': 'KBC-INVESTERINGSKREDIET 787-5562831-01',
'date': '2013-06-26',
'amount': 42,
'unique_import_id': 'hello',
}],
}],
)
class TestSaveFile(TransactionCase):
def test_SaveFile(self):
HelloWorldParser._build_model(self.registry, self.cr)
import_wizard = self.env['account.bank.statement.import']
import_wizard._prepare_setup()
import_wizard._setup_base(False)
import_wizard._setup_fields()
import_wizard._setup_complete()
import_wizard._auto_init()
journal_id = self.env['res.partner.bank'].search([
('acc_number', '=', acc_number),
]).journal_id.id
if not journal_id:
account = import_wizard._create_bank_account(acc_number)
journal_id = self.env['account.journal']\
.search([
'|',
('currency.name', '=', 'EUR'),
('currency', '=', False)
]).ids[0]
account.journal_id = journal_id
action = import_wizard.with_context(journal_id=journal_id)\
.create({'data_file': base64.b64encode('hello world')})\
.import_file()
for statement in self.env['account.bank.statement'].browse(
action['context']['statement_ids']):
self.assertEqual(
base64.b64decode(statement.import_file.datas),
'hello world')
with patch.object(
self.env.registry
.models['account.bank.statement.import'].__class__,
'_parse_file'
) as _parse_file:
_parse_file.side_effect = lambda data_file: (
'EUR',
acc_number,
[{
'name': '000000123',
'date': '2013-06-26',
'transactions': [{
'name': 'KBC-INVESTERINGSKREDIET 787-5562831-01',
'date': '2013-06-26',
'amount': 42,
'unique_import_id': 'hello',
}],
}],
)
import_wizard = self.env['account.bank.statement.import']
journal_id = self.env['res.partner.bank'].search([
('acc_number', '=', acc_number),
]).journal_id.id
if not journal_id:
account = import_wizard._create_bank_account(acc_number)
journal_id = self.env['account.journal']\
.search([
'|',
('currency.name', '=', 'EUR'),
('currency', '=', False)
]).ids[0]
account.journal_id = journal_id
action = import_wizard.with_context(journal_id=journal_id)\
.create({'data_file': base64.b64encode('hello world')})\
.import_file()
for statement in self.env['account.bank.statement'].browse(
action['context']['statement_ids']):
self.assertEqual(
base64.b64decode(statement.import_file.datas),
'hello world')
Loading…
Cancel
Save