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

test initial balance of payable/receivable accounts, both with and without expending third parties.



git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@17394 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 0b79c351
...@@ -77,9 +77,14 @@ class TestAccountingReports(AccountingTestCase): ...@@ -77,9 +77,14 @@ class TestAccountingReports(AccountingTestCase):
def checkLineProperties(self, line, **kw): def checkLineProperties(self, line, **kw):
"""Check properties of a report line. """Check properties of a report line.
""" """
diff_list = []
for k, v in kw.items(): for k, v in kw.items():
self.assertEquals(v, line.getColumnProperty(k), if v != line.getColumnProperty(k):
'`%s`: expected: %r actual: %r' % (k, v, line.getColumnProperty(k))) diff_list.append('`%s`: expected: %r actual: %r' %
(k, v, line.getColumnProperty(k)))
if diff_list:
self.fail('Lines differs:\n' + '\n'.join(diff_list))
def testJournal(self): def testJournal(self):
# Journal report. # Journal report.
...@@ -1490,6 +1495,148 @@ class TestAccountingReports(AccountingTestCase): ...@@ -1490,6 +1495,148 @@ class TestAccountingReports(AccountingTestCase):
credit=0, final_debit_balance=200, final_credit_balance=200, credit=0, final_debit_balance=200, final_credit_balance=200,
final_balance_if_debit=200, final_balance_if_credit=200) final_balance_if_debit=200, final_balance_if_credit=200)
def testTrialBalanceInitialBalanceMultiMirrorSectionExpandAccount(self):
# Test of trial balance and initial balance with multiple mirror_section
account_module = self.portal.account_module
# previous period
self._makeOne(
portal_type='Accounting Transaction',
title='Transaction -2',
source_reference='-2',
simulation_state='delivered',
destination_section_value=self.organisation_module.client_1,
start_date=DateTime(2006, 2, 1),
lines=(dict(source_value=account_module.payable,
source_debit=400.0),
dict(source_value=account_module.receivable,
source_credit=400.0),))
self._makeOne(
portal_type='Accounting Transaction',
title='Transaction -1',
source_reference='-1',
simulation_state='delivered',
destination_section_value=self.organisation_module.client_2,
start_date=DateTime(2006, 2, 2),
lines=(dict(source_value=account_module.receivable,
source_debit=600.0),
dict(source_value=account_module.payable,
source_credit=600.0),))
# set request variables and render
request_form = self.portal.REQUEST.form
request_form['from_date'] = DateTime(2007, 1, 1)
request_form['at_date'] = DateTime(2007, 12, 31)
request_form['section_category'] = 'group/demo_group'
request_form['simulation_state'] = ['delivered']
request_form['show_empty_accounts'] = 0
request_form['expand_accounts'] = 1
request_form['per_account_class_summary'] = 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(4, len(data_line_list))
self.checkLineProperties(data_line_list[0], node_id='40',
node_title='Payable (Client 1)3', initial_debit_balance=400,
initial_credit_balance=0, debit=03, credit=03,
final_debit_balance=400, final_credit_balance=0,
final_balance_if_debit=400, final_balance_if_credit=0)
self.checkLineProperties(data_line_list[1], node_id='40',
node_title='Payable (Client 2)', initial_debit_balance=0,
initial_credit_balance=600, debit=0, credit=0,
final_debit_balance=0, final_credit_balance=600,
final_balance_if_debit=0, final_balance_if_credit=600)
self.checkLineProperties(data_line_list[2], node_id='41',
node_title='Receivable (Client 1)', initial_debit_balance=0,
initial_credit_balance=400, debit=0, credit=0,
final_debit_balance=0, final_credit_balance=400,
final_balance_if_debit=0, final_balance_if_credit=400)
self.checkLineProperties(data_line_list[3], node_id='41',
node_title='Receivable (Client 2)', initial_debit_balance=600,
initial_credit_balance=0, debit=0, credit=0,
final_debit_balance=600, final_credit_balance=0,
final_balance_if_debit=600, final_balance_if_credit=0)
self.failUnless(line_list[-1].isStatLine())
self.checkLineProperties(line_list[-1], node_id=None, node_title=None,
initial_debit_balance=1000, initial_credit_balance=1000, debit=0,
credit=0, final_debit_balance=1000, final_credit_balance=1000,
final_balance_if_debit=1000, final_balance_if_credit=1000)
def testTrialBalanceInitialBalanceMultiMirrorSectionNoExpandAccount(self):
# Test of trial balance and initial balance with multiple mirror_section,
# without expanding accounts. This is the same as
# testTrialBalanceInitialBalanceMultiMirrorSectionExpandAccount, but we
# don't use the "Expand other parties". The initial debit & credit must be
# the same as without this option
account_module = self.portal.account_module
# previous period
self._makeOne(
portal_type='Accounting Transaction',
title='Transaction -2',
source_reference='-2',
simulation_state='delivered',
destination_section_value=self.organisation_module.client_1,
start_date=DateTime(2006, 2, 1),
lines=(dict(source_value=account_module.payable,
source_debit=400.0),
dict(source_value=account_module.receivable,
source_credit=400.0),))
self._makeOne(
portal_type='Accounting Transaction',
title='Transaction -1',
source_reference='-1',
simulation_state='delivered',
destination_section_value=self.organisation_module.client_2,
start_date=DateTime(2006, 2, 2),
lines=(dict(source_value=account_module.receivable,
source_debit=600.0),
dict(source_value=account_module.payable,
source_credit=600.0),))
# set request variables and render
request_form = self.portal.REQUEST.form
request_form['from_date'] = DateTime(2007, 1, 1)
request_form['at_date'] = DateTime(2007, 12, 31)
request_form['section_category'] = 'group/demo_group'
request_form['simulation_state'] = ['delivered']
request_form['show_empty_accounts'] = 0
request_form['expand_accounts'] = 0
request_form['per_account_class_summary'] = 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=400,
initial_credit_balance=600, debit=0, credit=0,
final_debit_balance=400, final_credit_balance=600,
final_balance_if_debit=0, final_balance_if_credit=200)
self.checkLineProperties(data_line_list[1], node_id='41',
node_title='Receivable', initial_debit_balance=600,
initial_credit_balance=400, debit=0, credit=0,
final_debit_balance=600, final_credit_balance=400,
final_balance_if_debit=200, final_balance_if_credit=0)
self.failUnless(line_list[-1].isStatLine())
self.checkLineProperties(line_list[-1], node_id=None, node_title=None,
initial_debit_balance=1000, initial_credit_balance=1000, debit=0,
credit=0, final_debit_balance=1000, final_credit_balance=1000,
final_balance_if_debit=200, final_balance_if_credit=200)
def testTrialBalanceInitialBalanceWithPeriod(self): def testTrialBalanceInitialBalanceWithPeriod(self):
# Test of trial balance and initial balance # Test of trial balance and initial balance
account_module = self.portal.account_module account_module = self.portal.account_module
......
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