[Erp5-report] r42166 aurel - /erp5/trunk/products/ERP5/tests/testPayroll.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Jan 10 15:30:39 CET 2011


Author: aurel
Date: Mon Jan 10 15:30:39 2011
New Revision: 42166

URL: http://svn.erp5.org?rev=42166&view=rev
Log:
update test to use a business process instead of the old rule

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

Modified: erp5/trunk/products/ERP5/tests/testPayroll.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testPayroll.py?rev=42166&r1=42165&r2=42166&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testPayroll.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testPayroll.py [utf8] Mon Jan 10 15:30:39 2011
@@ -200,8 +200,10 @@ class TestPayrollMixin(TestTradeModelLin
             'grade/worker',
             'grade/engineer',
             'quantity_unit/time/month',
+            'product_line/base_salary',
             'product_line/labour',
             'product_line/state_insurance',
+            'product_line/payroll_tax_1',
             'use/payroll/tax',
             'use/payroll/base_salary',
             'use/payroll/output',
@@ -2467,7 +2469,7 @@ class TestPayroll(TestPayrollMixin):
                       variation_category_list=('contribution_share/employee',
                                                'contribution_share/employer'))
 
-    business_process = self.createBPMRelated()
+    business_process = self.createBusinessProcess()
     employer = self.portal.organisation_module.newContent(
                       portal_type='Organisation',
                       title='Employer',
@@ -2631,7 +2633,7 @@ class TestPayroll(TestPayrollMixin):
                                                'salary_range/france/slice_a',
                                                'salary_range/france/slice_b'))
 
-    business_process = self.createBPMRelated()
+    business_process = self.createBusinessProcess()
     employer = self.portal.organisation_module.newContent(
                       portal_type='Organisation',
                       title='Employer',
@@ -2856,7 +2858,7 @@ class TestPayroll(TestPayrollMixin):
                       variation_category_list=('contribution_share/employee',
                                                'contribution_share/employer'))
 
-    business_process = self.createBPMRelated()
+    business_process = self.createBusinessProcess()
     employer = self.portal.organisation_module.newContent(
                       portal_type='Organisation',
                       title='Employer',
@@ -2998,39 +3000,6 @@ class TestPayroll(TestPayrollMixin):
             line_list[-1],
             total_price=3000 + 2000 - (2000 * .5) - (3000 * .5))
 
-  def createBPMRelated(self):
-    #raise ValueError
-    business_process = self.createBusinessProcess()
-    business_link = self.createBusinessLink(business_process)
-
-
-    business_process.newContent(portal_type='Trade Model Path',
-                                trade_phase_list=['default/order',],
-                                trade_date='trade_phase/default/order',
-                                reference="path_order",
-                                efficiency=1.0,
-                                )
-    business_process.newContent(portal_type='Trade Model Path',
-                                trade_phase_list=['default/delivery',],
-                                trade_date='trade_phase/default/order',
-                                reference="path_delivery",
-                                efficiency=1.0,
-                                )
-    business_process.newContent(portal_type='Trade Model Path',
-                                trade_phase_list=['default/invoicing',],
-                                trade_date='trade_phase/default/delivery',
-                                reference="path_invoicing",
-                                efficiency=1.0,
-                                )
-    business_process.newContent(portal_type='Trade Model Path',
-                                trade_phase_list=['default/accounting',],
-                                trade_date='trade_phase/default/accounting',
-                                reference="path_accounting",
-                                efficiency=1.0,
-                                )
-    return business_process
-
-
   def test_AccountingLineGeneration(self):
     currency_module = self.getCurrencyModule()
     if not hasattr(currency_module, 'EUR'):
@@ -3085,124 +3054,57 @@ class TestPayroll(TestPayrollMixin):
                           title='Payroll Taxes',
                           account_type='liability/payable',)
 
-    business_process = self.createBPMRelated()
-
-    # create an invoice transaction rule for pay sheets.
-    rule = self.portal.portal_rules.newContent(
-      portal_type='Invoice Transaction Simulation Rule',
-      title='Simulation Rule for PaySheet Accounting',
-      reference='paysheet_transaction_rule',
-      test_method_id='SimulationMovement_testInvoiceTransactionSimulationRule')
-    # matching provider for source and destination
-    for category in ('resource', 'source', 'destination',
-                     'destination_total_asset_price',
-                     'source_total_asset_price'):
-      rule.newContent(
-        portal_type='Category Membership Divergence Tester',
-        title='%s divergence tester' % category,
-        tested_property=category,
-        divergence_provider=False,
-        matching_provider=True)
-    # non-matching/non-divergence provider quantity divergence tester
-    # (i.e. only used for expand)
-    rule.newContent(
-      portal_type='Net Converted Quantity Divergence Tester',
-      title='quantity divergence tester',
-      tested_property='quantity',
-      quantity=0,
-      divergence_provider=False,
-      matching_provider=False)
-    # divergence provider for date
-    for property_id in ('start_date', 'stop_date'):
-      rule.newContent(
-        portal_type='DateTime Divergence Tester',
-        title='%s divergence tester' % property_id,
-        tested_property=property_id,
-        quantity=0,
-        divergence_provider=True,
-        matching_provider=False)
-    for category in ('source_administration', 'source_decision', 'source_function', 'source_payment', 'source_project', 'source_section', 'destination_administration', 'destination_decision', 'destination_function', 'destination_payment', 'destination_project', 'destination_section'):
-      rule.newContent(
-        portal_type='Category Membership Divergence Tester',
-        title='%s divergence tester' % category,
-        tested_property=category,
-        divergence_provider=True,
-        matching_provider=False)
-    rule.newContent(
-      portal_type='Float Divergence Tester',
-      title='price divergence tester',
-      tested_property='price',
-      quantity=0,
-      divergence_provider=True,
-      matching_provider=False)
-    rule.newContent(portal_type='Predicate',
-      title='Employee Share',
-      string_index='contribution_share',
-      int_index=1,
-      membership_criterion_base_category_list=('contribution_share',),
-      membership_criterion_category_list=('contribution_share/employee',))
-    rule.newContent(portal_type='Predicate',
-      title='Employer Share',
-      string_index='contribution_share',
-      int_index=2,
-      membership_criterion_base_category_list=('contribution_share',),
-      membership_criterion_category_list=('contribution_share/employer',))
-
-    rule.newContent(portal_type='Predicate',
-      title='Base Salary',
-      string_index='service',
-      int_index=1,
-      membership_criterion_base_category_list=('product_line',),
-      membership_criterion_category_list=('product_line/base_salary',))
-    rule.newContent(portal_type='Predicate',
-      title='Payroll Tax 1',
-      string_index='service',
-      int_index=2,
-      membership_criterion_base_category_list=('product_line',),
-      membership_criterion_category_list=('product_line/payroll_tax_1',))
-    self.stepTic()
-
-    cell_list = rule.contentValues(portal_type='Accounting Rule Cell')
-    self.assertEquals(4, len(cell_list))
+    business_process = self.createBusinessProcess()
 
-    employee_base_salary = rule._getOb('movement_0_0')
-    self.assertEquals('Employee Share * Base Salary',
-                      employee_base_salary.getTitle())
-    employee_base_salary.newContent(
-                      portal_type='Accounting Rule Cell Line',
-                      destination_debit=1,
-                      destination_value=account_payroll_wages_expense)
-    employee_base_salary.newContent(
-                      portal_type='Accounting Rule Cell Line',
-                      destination_credit=1,
-                      destination_value=account_net_wages)
-
-    employer_tax = rule._getOb('movement_1_1')
-    self.assertEquals('Employer Share * Payroll Tax 1',
-                      employer_tax.getTitle())
-    employer_tax.newContent(
-                      portal_type='Accounting Rule Cell Line',
-                      destination_debit=1,
-                      destination_value=account_payroll_taxes)
-    employer_tax.newContent(
-                      portal_type='Accounting Rule Cell Line',
-                      destination_credit=1,
-                      destination_value=account_payroll_taxes_expense)
-
-    employee_tax = rule._getOb('movement_0_1')
-    self.assertEquals('Employee Share * Payroll Tax 1',
-                      employee_tax.getTitle())
-    employee_tax.newContent(
-                      portal_type='Accounting Rule Cell Line',
-                      destination_debit=1,
-                      destination_value=account_payroll_taxes)
-    employee_tax.newContent(
-                      portal_type='Accounting Rule Cell Line',
-                      destination_credit=1,
-                      generate_prevision_script_id=\
-      'SimulationMovement_generatePrevisionForEmployeeSharePaySheetMovement',
-                      destination_value=account_net_wages)
-    rule.validate()
+    kw = dict(business_process=business_process,
+              trade_phase='default/accounting',
+              trade_date='trade_phase/default/invoicing',
+              membership_criterion_base_category_list=['contribution_share',
+                                                       'product_line'],
+              criterion_property_dict={'portal_type': 'Simulation Movement'})
+
+    # Employee Share * Base Salary
+    self.createTradeModelPath(reference='payroll_base_1',
+       efficiency=1,
+       destination_value=account_payroll_wages_expense,
+       membership_criterion_category_list=['contribution_share/employee',
+                                           'product_line/base_salary'],
+       **kw)
+    self.createTradeModelPath(reference='payroll_base_2',
+       efficiency=-1,
+       destination_value=account_net_wages,
+       membership_criterion_category_list=['contribution_share/employee',
+                                           'product_line/base_salary'],
+       **kw)
+    # Employer Share * Payroll Tax 1
+    self.createTradeModelPath(reference='payroll_employer_tax1',
+       efficiency=1,
+       destination_value=account_payroll_taxes,
+       membership_criterion_category_list=['contribution_share/employer',
+                                      'product_line/payroll_tax_1'],
+       **kw)
+    self.createTradeModelPath(reference='payroll_employer_tax2',
+       efficiency=-1,
+       destination_value=account_payroll_taxes_expense,
+       membership_criterion_category_list=['contribution_share/employer',
+                                           'product_line/payroll_tax_1'],
+       **kw)
+
+    # Employee Share * Payroll Tax 1
+    self.createTradeModelPath(reference='payroll_employee_tax1',
+       efficiency=1,
+       destination_value=account_payroll_taxes,
+       membership_criterion_category_list=['contribution_share/employee',
+                                           'product_line/payroll_tax_1'],
+       **kw)
+    self.createTradeModelPath(reference='payroll_employee_tax2',
+       efficiency=-1,
+       destination_value=account_net_wages,
+       source_method_id=\
+        'SimulationMovement_generatePrevisionForEmployeeSharePaySheetMovement',
+       membership_criterion_category_list=['contribution_share/employee',
+                                           'product_line/payroll_tax_1'],
+       **kw)
 
     # create a pay sheet
     eur = self.portal.currency_module.EUR



More information about the Erp5-report mailing list