Commit e114eff3 authored by Jérome Perrin's avatar Jérome Perrin

Add a test for trial balance and transactions using different currencies.



git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@13698 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 728f19ec
......@@ -1012,6 +1012,75 @@ class TestAccountingReports(AccountingTestCase):
credit=2150, final_debit_balance=2750, final_credit_balance=2750,
final_balance_if_debit=None, final_balance_if_credit=None)
def testTrialBalanceDifferentCurrencies(self):
# Test of trial balance and different currencies
account_module = self.portal.account_module
self._makeOne(
portal_type='Accounting Transaction',
title='Transaction in EUR (our currency)',
resource_value='currency_module/euro',
source_reference='1',
simulation_state='delivered',
destination_section_value=self.organisation_module.client_1,
start_date=DateTime(2006, 2, 2),
lines=(dict(source_value=account_module.payable,
source_debit=200.0),
dict(source_value=account_module.receivable,
source_credit=200.0),))
self._makeOne(
portal_type='Accounting Transaction',
title='Transaction in USD',
resource='currency_module/usd',
source_reference='2',
simulation_state='delivered',
destination_section_value=self.organisation_module.client_1,
start_date=DateTime(2006, 2, 2),
lines=(dict(source_value=account_module.payable,
source_debit=600.0,
source_asset_debit=300.0,
destination_asset_credit=400.0),
dict(source_value=account_module.receivable,
source_credit=600.0,
source_asset_credit=300.0,
destination_asset_debit=400.0),))
# set request variables and render
request_form = self.portal.REQUEST.form
request_form['from_date'] = DateTime(2006, 1, 1)
request_form['at_date'] = DateTime(2006, 2, 2)
request_form['section_category'] = 'group/demo_group'
request_form['simulation_state'] = ['delivered']
request_form['show_empty_accounts'] = 0
request_form['expand_accounts'] = 0
report_section_list = self.getReportSectionList(
'AccountModule_viewTrialBalanceReport')
self.assertEquals(1, len(report_section_list))
line_list = self.getListBoxLineList(report_section_list[0])
data_line_list = [l for l in line_list if l.isDataLine()]
self.assertEquals(2, len(data_line_list))
self.checkLineProperties(data_line_list[0], node_id='40',
node_title='Payable', initial_debit_balance=0,
initial_credit_balance=0, debit=500, credit=0,
final_debit_balance=500, final_credit_balance=0,
final_balance_if_debit=500, final_balance_if_credit=0)
self.checkLineProperties(data_line_list[1], node_id='41',
node_title='Receivable', initial_debit_balance=0,
initial_credit_balance=0, debit=0, credit=500,
final_debit_balance=0, final_credit_balance=500,
final_balance_if_debit=0, final_balance_if_credit=500)
self.failUnless(line_list[-1].isStatLine())
self.checkLineProperties(line_list[-1], node_id=None, node_title=None,
initial_debit_balance=0, initial_credit_balance=0, debit=500,
credit=500, final_debit_balance=500, final_credit_balance=500,
final_balance_if_debit=None, final_balance_if_credit=None)
def test_suite():
suite = unittest.TestSuite()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment