From 1baaf39888d4e0e85ed65508ca1f042899f6e265 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 24 Oct 2014 10:44:09 +0200 Subject: [PATCH] Add some test tools to ease scenario writing review11331002 --- tests/scenario_account_dunning.rst | 91 ++++++------------------------ 1 file changed, 16 insertions(+), 75 deletions(-) diff --git a/tests/scenario_account_dunning.rst b/tests/scenario_account_dunning.rst index d3c6f6c31f..a6c405bfb0 100644 --- a/tests/scenario_account_dunning.rst +++ b/tests/scenario_account_dunning.rst @@ -2,16 +2,16 @@ Account Dunning Scenario ======================== -============= -General Setup -============= - Imports:: >>> import datetime >>> from dateutil.relativedelta import relativedelta >>> from decimal import Decimal >>> from proteus import config, Model, Wizard + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + >>> from trytond.modules.account.tests.tools import create_fiscalyear, \ + ... create_chart, get_accounts >>> today = datetime.date.today() Create database:: @@ -19,40 +19,19 @@ Create database:: >>> config = config.set_trytond() >>> config.pool.test = True -Install account:: +Install account_dunning:: >>> Module = Model.get('ir.module.module') - >>> modules = Module.find([ + >>> module, = Module.find([ ... ('name', '=', 'account_dunning'), ... ]) - >>> Module.install([x.id for x in modules], config.context) + >>> module.click('install') >>> Wizard('ir.module.module.install_upgrade').execute('upgrade') Create company:: - >>> Currency = Model.get('currency.currency') - >>> CurrencyRate = Model.get('currency.currency.rate') - >>> Company = Model.get('company.company') - >>> Party = Model.get('party.party') - >>> company_config = Wizard('company.company.config') - >>> company_config.execute('company') - >>> company = company_config.form - >>> party = Party(name='Dunder Mifflin') - >>> party.save() - >>> company.party = party - >>> currencies = Currency.find([('code', '=', 'USD')]) - >>> if not currencies: - ... currency = Currency(name='US Dollar', symbol='$', code='USD', - ... rounding=Decimal('0.01'), mon_grouping='[3, 3, 0]', - ... mon_decimal_point='.') - ... currency.save() - ... CurrencyRate(date=today + relativedelta(month=1, day=1), - ... rate=Decimal('1.0'), currency=currency).save() - ... else: - ... currency, = currencies - >>> company.currency = currency - >>> company_config.execute('add') - >>> company, = Company.find() + >>> _ = create_company() + >>> company = get_company() Reload the context:: @@ -93,55 +72,17 @@ Create dunning user:: Create fiscal year:: - >>> FiscalYear = Model.get('account.fiscalyear') - >>> Sequence = Model.get('ir.sequence') - >>> SequenceStrict = Model.get('ir.sequence.strict') - >>> fiscalyear = FiscalYear(name='%s' % today.year) - >>> fiscalyear.start_date = today + relativedelta(month=1, day=1) - >>> fiscalyear.end_date = today + relativedelta(month=12, day=31) - >>> fiscalyear.company = company - >>> post_move_sequence = Sequence(name='%s' % today.year, - ... code='account.move', company=company) - >>> post_move_sequence.save() - >>> fiscalyear.post_move_sequence = post_move_sequence - >>> fiscalyear.save() - >>> FiscalYear.create_period([fiscalyear.id], config.context) + >>> fiscalyear = create_fiscalyear(company) + >>> fiscalyear.click('create_period') >>> period = fiscalyear.periods[0] Create chart of accounts:: - >>> AccountTemplate = Model.get('account.account.template') - >>> Account = Model.get('account.account') - >>> account_template, = AccountTemplate.find([('parent', '=', None)]) - >>> create_chart = Wizard('account.create_chart') - >>> create_chart.execute('account') - >>> create_chart.form.account_template = account_template - >>> create_chart.form.company = company - >>> create_chart.execute('create_account') - >>> receivable, = Account.find([ - ... ('kind', '=', 'receivable'), - ... ('company', '=', company.id), - ... ]) - >>> payable, = Account.find([ - ... ('kind', '=', 'payable'), - ... ('company', '=', company.id), - ... ]) - >>> revenue, = Account.find([ - ... ('kind', '=', 'revenue'), - ... ('company', '=', company.id), - ... ]) - >>> expense, = Account.find([ - ... ('kind', '=', 'expense'), - ... ('company', '=', company.id), - ... ]) - >>> cash, = Account.find([ - ... ('kind', '=', 'other'), - ... ('company', '=', company.id), - ... ('name', '=', 'Main Cash'), - ... ]) - >>> create_chart.form.account_receivable = receivable - >>> create_chart.form.account_payable = payable - >>> create_chart.execute('create_properties') + >>> _ = create_chart(company) + >>> accounts = get_accounts(company) + >>> receivable = accounts['receivable'] + >>> revenue = accounts['revenue'] + >>> cash = accounts['cash'] Create dunning procedure::