first commit
This commit is contained in:
137
modules/account/tests/scenario_close_fiscalyear.rst
Normal file
137
modules/account/tests/scenario_close_fiscalyear.rst
Normal file
@@ -0,0 +1,137 @@
|
||||
=================================
|
||||
Account Close Fiscalyear Scenario
|
||||
=================================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> import datetime as dt
|
||||
>>> from decimal import Decimal
|
||||
|
||||
>>> from dateutil.relativedelta import relativedelta
|
||||
|
||||
>>> from proteus import Model, Wizard
|
||||
>>> from trytond.modules.account.tests.tools import (
|
||||
... create_chart, create_fiscalyear, get_accounts)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
>>> today = dt.date.today()
|
||||
>>> last_year = today - relativedelta(years=1)
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('account', create_company, create_chart)
|
||||
|
||||
>>> Account = Model.get('account.account')
|
||||
>>> AccountType = Model.get('account.account.type')
|
||||
>>> Journal = Model.get('account.journal')
|
||||
>>> Journal = Model.get('account.journal')
|
||||
>>> Move = Model.get('account.move')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> Period = Model.get('account.period')
|
||||
>>> Sequence = Model.get('ir.sequence')
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = create_fiscalyear(today=last_year)
|
||||
>>> fiscalyear.click('create_period')
|
||||
>>> period = fiscalyear.periods[0]
|
||||
|
||||
Get accounts::
|
||||
|
||||
>>> accounts = get_accounts()
|
||||
|
||||
Prepare the closing settings for fiscalyear close::
|
||||
|
||||
>>> journal_closing = Journal()
|
||||
>>> journal_closing.name = 'Closing'
|
||||
>>> journal_closing.code = 'CLO'
|
||||
>>> journal_closing.type = 'situation'
|
||||
>>> journal_closing.save()
|
||||
>>> period_closing = Period()
|
||||
>>> period_closing.name = 'Closing'
|
||||
>>> period_closing.start_date = fiscalyear.end_date
|
||||
>>> period_closing.end_date = fiscalyear.end_date
|
||||
>>> period_closing.fiscalyear = fiscalyear
|
||||
>>> period_closing.type = 'adjustment'
|
||||
>>> period_closing.save()
|
||||
|
||||
>>> account_pl, = Account.find([('code', '=', '3.2.1')])
|
||||
|
||||
Create children accounts::
|
||||
|
||||
>>> receivable_customer = Account()
|
||||
>>> receivable_customer.name = "Customer Receivable"
|
||||
>>> receivable_customer.parent = accounts['receivable']
|
||||
>>> receivable_customer.save()
|
||||
|
||||
Create parties::
|
||||
|
||||
>>> customer = Party(name="Customer")
|
||||
>>> customer.save()
|
||||
|
||||
Create and post a move using children accounts::
|
||||
|
||||
>>> journal_revenue, = Journal.find([
|
||||
... ('code', '=', 'REV'),
|
||||
... ])
|
||||
|
||||
>>> move = Move()
|
||||
>>> move.period = period
|
||||
>>> move.journal = journal_revenue
|
||||
>>> move.date = period.start_date
|
||||
>>> line = move.lines.new()
|
||||
>>> line.account = accounts['revenue']
|
||||
>>> line.credit = Decimal(42)
|
||||
>>> line = move.lines.new()
|
||||
>>> line.account = receivable_customer
|
||||
>>> line.debit = Decimal(21)
|
||||
>>> line.party = customer
|
||||
>>> line = move.lines.new()
|
||||
>>> line.account = accounts['receivable']
|
||||
>>> line.debit = Decimal(21)
|
||||
>>> line.party = customer
|
||||
>>> move.save()
|
||||
>>> move.click('post')
|
||||
|
||||
Balance non deferral::
|
||||
|
||||
>>> balance_non_deferral = Wizard('account.fiscalyear.balance_non_deferral')
|
||||
>>> balance_non_deferral.form.fiscalyear = fiscalyear
|
||||
>>> balance_non_deferral.form.journal = journal_closing
|
||||
>>> balance_non_deferral.form.period = period_closing
|
||||
>>> balance_non_deferral.form.credit_account = account_pl
|
||||
>>> balance_non_deferral.form.debit_account = account_pl
|
||||
>>> balance_non_deferral.execute('balance')
|
||||
>>> move, = Move.find([('state', '=', 'draft')])
|
||||
>>> move.click('post')
|
||||
|
||||
Renew fiscalyear using the wizard::
|
||||
|
||||
>>> renew_fiscalyear = Wizard('account.fiscalyear.renew')
|
||||
>>> renew_fiscalyear.form.reset_sequences = False
|
||||
>>> renew_fiscalyear.execute('create_')
|
||||
|
||||
Check receivable balance before closing fiscalyear::
|
||||
|
||||
>>> accounts['receivable'].reload()
|
||||
>>> accounts['receivable'].balance
|
||||
Decimal('42.00')
|
||||
>>> receivable_customer.reload()
|
||||
>>> receivable_customer.balance
|
||||
Decimal('21.00')
|
||||
|
||||
Close fiscalyear::
|
||||
|
||||
>>> fiscalyear.click('close')
|
||||
>>> fiscalyear.state
|
||||
'closed'
|
||||
|
||||
Check receivable amounts after closing fiscalyear::
|
||||
|
||||
>>> accounts['receivable'].reload()
|
||||
>>> accounts['receivable'].balance
|
||||
Decimal('42.00')
|
||||
>>> receivable_customer.reload()
|
||||
>>> receivable_customer.balance
|
||||
Decimal('21.00')
|
||||
Reference in New Issue
Block a user