From d17d1b8d4accc19165ae309f9e0a8dc2400848bc Mon Sep 17 00:00:00 2001 From: Frederik Jaeckel Date: Tue, 30 Aug 2022 22:49:52 +0200 Subject: [PATCH] =?UTF-8?q?test=20f=C3=BCr=20wizard=20begonnen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- qif_import_wiz.py | 4 +- tests/test_category.py | 124 +++++++++++++++++++++++++++++------------ 2 files changed, 91 insertions(+), 37 deletions(-) diff --git a/qif_import_wiz.py b/qif_import_wiz.py index 419e746..0687533 100644 --- a/qif_import_wiz.py +++ b/qif_import_wiz.py @@ -103,9 +103,9 @@ class ImportQifWizard(Wizard): self.showinfo.info = gettext( 'cashbook_dataexchange.msg_wiz_categories_found', categories = '\n'.join( - [' '] + + [''] + ['%s (in)' % x for x in get_catlist(categories['in'], None)]+ - [' '] + + [''] + ['%s (out)' % x for x in get_catlist(categories['out'], None)] ) ) diff --git a/tests/test_category.py b/tests/test_category.py index 82bface..a87de89 100644 --- a/tests/test_category.py +++ b/tests/test_category.py @@ -14,6 +14,61 @@ class CategoryTestCase(CashbookTestCase): 'Test cashbook categoy module' module = 'CashbookExchangeTestCase' + @with_transaction() + def test_wiz_import_category(self): + """ create categories by run wizard + """ + pool = Pool() + Category = pool.get('cashbook.category') + ImportWiz = pool.get('cashbook_dataexchange.qif_imp_wiz', type='wizard') + + company = self.prep_company() + with Transaction().set_context({ + 'company': company.id, + 'active_model': 'cashbook.category', + }): + (sess_id, start_state, end_state) = ImportWiz.create() + w_obj = ImportWiz(sess_id) + self.assertEqual(start_state, 'start') + self.assertEqual(end_state, 'end') + + # run start + result = ImportWiz.execute(sess_id, {}, start_state) + self.assertEqual(list(result.keys()), ['view']) + self.assertEqual(result['view']['defaults']['company'], company.id) + + r1 = {} + r1['file_'] = qif_types.encode('utf8') + r1['company'] = company.id + w_obj.start.file_ = r1['file_'] + w_obj.start.company = company.id + + result = ImportWiz.execute(sess_id, {'start': r1}, 'readf') + + self.assertEqual(list(result.keys()), ['view']) + self.assertEqual(result['view']['defaults']['company'], company.id) + self.assertEqual(result['view']['defaults']['info'], +"""The following categories are now imported:\\n +Gehalt (in) +Gehalt/Zulagen (in) + +Telekommunikation (out) +Telekommunikation/Online-Dienste (out) +Telekommunikation/Telefon (out) +Telekommunikation/Telefon/Test1 (out) +Telekommunikation/Fernsehen (out) +Telefon (out) +Telefon/Telco1-Tablett (out) +Telefon/Telco2-Handy (out) +Telefon/Telco3 (out) +Fernsehen (out) +Fernsehen/TV-Company (out) +Fernsehen/GEZ (out) +Lebensmittel (out)""") + + ImportWiz.delete(sess_id) + + @with_transaction() def test_category_create_by_qif_emptydb(self): """ create categories by import a qif-file @@ -27,23 +82,24 @@ class CategoryTestCase(CashbookTestCase): }): records = Category.create_from_qif(qif_types) - records = Category.search([], order=[('name', 'ASC')]) + records = Category.search([], order=[('rec_name', 'ASC')]) self.assertEqual(len(records), 15) + self.assertEqual(records[0].rec_name, 'Fernsehen') - self.assertEqual(records[1].rec_name, 'Telekommunikation/Fernsehen') - self.assertEqual(records[2].rec_name, 'Gehalt') - self.assertEqual(records[3].rec_name, 'Fernsehen/GEZ') - self.assertEqual(records[4].rec_name, 'Lebensmittel') - self.assertEqual(records[5].rec_name, 'Telekommunikation/Online-Dienste') - self.assertEqual(records[6].rec_name, 'Telefon/Telco1-Tablett') - self.assertEqual(records[7].rec_name, 'Telefon/Telco2-Handy') - self.assertEqual(records[8].rec_name, 'Telefon/Telco3') - self.assertEqual(records[9].rec_name, 'Telekommunikation/Telefon') - self.assertEqual(records[10].rec_name, 'Telefon') - self.assertEqual(records[11].rec_name, 'Telekommunikation') - self.assertEqual(records[12].rec_name, 'Telekommunikation/Telefon/Test1') - self.assertEqual(records[13].rec_name, 'Fernsehen/TV-Company') - self.assertEqual(records[14].rec_name, 'Gehalt/Zulagen') + self.assertEqual(records[1].rec_name, 'Fernsehen/GEZ') + self.assertEqual(records[2].rec_name, 'Fernsehen/TV-Company') + self.assertEqual(records[3].rec_name, 'Gehalt') + self.assertEqual(records[4].rec_name, 'Gehalt/Zulagen') + self.assertEqual(records[5].rec_name, 'Lebensmittel') + self.assertEqual(records[6].rec_name, 'Telefon') + self.assertEqual(records[7].rec_name, 'Telefon/Telco1-Tablett') + self.assertEqual(records[8].rec_name, 'Telefon/Telco2-Handy') + self.assertEqual(records[9].rec_name, 'Telefon/Telco3') + self.assertEqual(records[10].rec_name, 'Telekommunikation') + self.assertEqual(records[11].rec_name, 'Telekommunikation/Fernsehen') + self.assertEqual(records[12].rec_name, 'Telekommunikation/Online-Dienste') + self.assertEqual(records[13].rec_name, 'Telekommunikation/Telefon') + self.assertEqual(records[14].rec_name, 'Telekommunikation/Telefon/Test1') @with_transaction() def test_category_create_by_qif_existing_categories(self): @@ -68,31 +124,29 @@ class CategoryTestCase(CashbookTestCase): records = Category.search([]) self.assertEqual(len(records), 2) - self.assertEqual(records[0].rec_name, 'Telekommunikation/Telefon') - self.assertEqual(records[1].rec_name, 'Telekommunikation') + self.assertEqual(records[0].rec_name, 'Telekommunikation') + self.assertEqual(records[1].rec_name, 'Telekommunikation/Telefon') records1 = Category.create_from_qif(qif_types) - records = Category.search([], order=[('name', 'ASC')]) + records = Category.search([], order=[('rec_name', 'ASC')]) self.assertEqual(len(records), 15) - for rec in records: - print('-rec:', rec.rec_name) - self.assertEqual(records[0].rec_name, 'Telekommunikation/Fernsehen') - self.assertEqual(records[1].rec_name, 'Fernsehen') - self.assertEqual(records[2].rec_name, 'Gehalt') - self.assertEqual(records[3].rec_name, 'Fernsehen/GEZ') - self.assertEqual(records[4].rec_name, 'Lebensmittel') - self.assertEqual(records[5].rec_name, 'Telekommunikation/Online-Dienste') - self.assertEqual(records[6].rec_name, 'Telefon/Telco1-Tablett') - self.assertEqual(records[7].rec_name, 'Telefon/Telco2-Handy') - self.assertEqual(records[8].rec_name, 'Telefon/Telco3') - self.assertEqual(records[9].rec_name, 'Telefon') - self.assertEqual(records[10].rec_name, 'Telekommunikation/Telefon') - self.assertEqual(records[11].rec_name, 'Telekommunikation') - self.assertEqual(records[12].rec_name, 'Telekommunikation/Telefon/Test1') - self.assertEqual(records[13].rec_name, 'Fernsehen/TV-Company') - self.assertEqual(records[14].rec_name, 'Gehalt/Zulagen') + self.assertEqual(records[0].rec_name, 'Fernsehen') + self.assertEqual(records[1].rec_name, 'Fernsehen/GEZ') + self.assertEqual(records[2].rec_name, 'Fernsehen/TV-Company') + self.assertEqual(records[3].rec_name, 'Gehalt') + self.assertEqual(records[4].rec_name, 'Gehalt/Zulagen') + self.assertEqual(records[5].rec_name, 'Lebensmittel') + self.assertEqual(records[6].rec_name, 'Telefon') + self.assertEqual(records[7].rec_name, 'Telefon/Telco1-Tablett') + self.assertEqual(records[8].rec_name, 'Telefon/Telco2-Handy') + self.assertEqual(records[9].rec_name, 'Telefon/Telco3') + self.assertEqual(records[10].rec_name, 'Telekommunikation') + self.assertEqual(records[11].rec_name, 'Telekommunikation/Fernsehen') + self.assertEqual(records[12].rec_name, 'Telekommunikation/Online-Dienste') + self.assertEqual(records[13].rec_name, 'Telekommunikation/Telefon') + self.assertEqual(records[14].rec_name, 'Telekommunikation/Telefon/Test1') @with_transaction() def test_qiftool_split_types(self):