[Erp5-report] r17394 - /erp5/trunk/products/ERP5/tests/testAccountingReports.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Nov 5 18:29:33 CET 2007


Author: jerome
Date: Mon Nov  5 18:29:32 2007
New Revision: 17394

URL: http://svn.erp5.org?rev=17394&view=rev
Log:
test initial balance of payable/receivable accounts, both with and without expending third parties.


Modified:
    erp5/trunk/products/ERP5/tests/testAccountingReports.py

Modified: erp5/trunk/products/ERP5/tests/testAccountingReports.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testAccountingReports.py?rev=17394&r1=17393&r2=17394&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testAccountingReports.py (original)
+++ erp5/trunk/products/ERP5/tests/testAccountingReports.py Mon Nov  5 18:29:32 2007
@@ -77,9 +77,14 @@
   def checkLineProperties(self, line, **kw):
     """Check properties of a report line.
     """
+    diff_list = []
     for k, v in kw.items():
-      self.assertEquals(v, line.getColumnProperty(k),
-          '`%s`: expected: %r actual: %r' % (k, v, line.getColumnProperty(k)))
+      if 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):
     # Journal report.
@@ -1490,6 +1495,148 @@
         credit=0, final_debit_balance=200, final_credit_balance=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):
     # Test of trial balance and initial balance
     account_module = self.portal.account_module




More information about the Erp5-report mailing list