diff --git a/product/ERP5/tests/testPayroll.py b/product/ERP5/tests/testPayroll.py index b6798ff1cef4effea0b8ff106f1965d9064fc865..1fd5d777a64ec6cb15a676eb21456029024cc670 100644 --- a/product/ERP5/tests/testPayroll.py +++ b/product/ERP5/tests/testPayroll.py @@ -128,7 +128,6 @@ class TestPayrollMixin(ERP5ReportTestCase): id='urssaf', title='URSSAF') self.urssaf = self.createPayrollService(id=self.urssaf_id, title='State Insurance', - base_amount_list=['deductible_tax',], product_line='state_insurance', variation_base_category_list=['tax_category', 'salary_range'], variation_category_list=self.urssaf_slice_list + \ @@ -137,7 +136,6 @@ class TestPayrollMixin(ERP5ReportTestCase): self.labour = self.createPayrollService(id=self.labour_id, title='Labour', product_line='labour', - base_amount_list=['base_salary', 'gross_salary'], variation_base_category_list=['tax_category', 'salary_range'], variation_category_list=self.salary_slice_list +\ self.salary_share_list) @@ -291,15 +289,13 @@ class TestPayrollMixin(ERP5ReportTestCase): return organisation def createPayrollService(self, id='', title='', - base_amount_list=None, variation_base_category_list=None, + variation_base_category_list=None, variation_category_list=None, product_line=None, **kw): payroll_service_portal_type = 'Payroll Service' payroll_service_module = self.portal.getDefaultModule(\ portal_type=payroll_service_portal_type) - if base_amount_list == None: - base_amount_list=[] if variation_category_list == None: variation_category_list=[] if variation_base_category_list == None: @@ -312,8 +308,7 @@ class TestPayrollMixin(ERP5ReportTestCase): portal_type=self.payroll_service_portal_type, id=id, quantity_unit='time/month', - product_line=product_line, - base_amount_list=base_amount_list) + product_line=product_line) payroll_service.setVariationBaseCategoryList(variation_base_category_list) payroll_service.setVariationCategoryList(variation_category_list) get_transaction().commit() @@ -389,7 +384,8 @@ class TestPayrollMixin(ERP5ReportTestCase): values, editable=False, source_value=None, - base_amount_list=['base_salary']): + base_application_list=[], + base_contribution_list=[]): ''' test the function addModelLine and test if the model line has been well created. @@ -426,7 +422,8 @@ class TestPayrollMixin(ERP5ReportTestCase): resource_value=resource, source_value=source_value, editable=editable, - base_amount_list=base_amount_list, + base_application_list=base_application_list, + base_contribution_list=base_contribution_list, variation_category_list=variation_category_list,) get_transaction().commit() self.tic() @@ -473,7 +470,7 @@ class TestPayrollMixin(ERP5ReportTestCase): def calculatePaySheet(self, paysheet): ''' - Calcul the given paysheet like if you hace click on the 'Calculation of + Calcul the given paysheet like if you have click on the 'Calculation of the Pay Sheet Transaction' action button. XXX Editable line are not yet take into account XXX this method should not exist ! use the standard method @@ -568,12 +565,17 @@ class TestPayroll(TestPayrollMixin): model_line_count_before_add = len(self.model.contentValues(portal_type=\ self.paysheet_model_line_portal_type)) - returned_model_line = self.createModelLine(model=self.model, - id=model_line_id, variation_category_list=variation_category_list, - resource=self.urssaf, share_list=self.urssaf_share_list, + returned_model_line = self.createModelLine( + model=self.model, + id=model_line_id, + variation_category_list=variation_category_list, + resource=self.urssaf, + share_list=self.urssaf_share_list, slice_list=self.urssaf_slice_list, values=[[[None, 0.01], [None, 0.02],[None, 0.03]], [[None, 0.04], - [None, 0.05], [None, 0.06]]]) + [None, 0.05], [None, 0.06]]], + base_application_list=['base_amount/base_salary',], + base_contribution_list=['base_amount/deductible_tax',]) model_line_count_after_add = len(self.model.contentValues(portal_type=\ self.paysheet_model_line_portal_type)) @@ -619,7 +621,6 @@ class TestPayroll(TestPayrollMixin): model_line_id1 = 'urssaf' model_line_id2 = 'salary' - base_salary = 10000 urssaf_slice_list = [ 'salary_range/'+self.france_settings_slice_a, 'salary_range/'+self.france_settings_slice_b, @@ -642,14 +643,19 @@ class TestPayroll(TestPayrollMixin): slice_list=self.urssaf_slice_list, values=[[[None, 0.01], [None, 0.02], [None, 0.03]], [[None, 0.04], [None, 0.05], [None, 0.06]]], - source_value=self.payroll_service_organisation) + source_value=self.payroll_service_organisation, + base_application_list=[ 'base_amount/base_salary'], + base_contribution_list=['base_amount/deductible_tax',]) model_line2 = self.createModelLine(model=self.model, id=model_line_id2, variation_category_list=variation_category_list_salary, - resource=self.labour, share_list=self.salary_share_list, - slice_list=salary_slice_list, base_amount_list=[], - values=[[[base_salary, None]],]) + resource=self.labour, + share_list=self.salary_share_list, + slice_list=self.salary_slice_list, + values=[[[10000, None],],], + base_application_list=[], + base_contribution_list=['base_amount/base_salary', 'base_amount/gross_salary']) pay_sheet_line_count = len(self.model.contentValues(portal_type=\ self.paysheet_line_portal_type)) + 2 # because in this test, 2 lines @@ -680,7 +686,7 @@ class TestPayroll(TestPayrollMixin): self.plafond*8] self.assertEqualAmounts(pay_sheet_line, correct_value_slice_list, - base_salary, i) + 10000, i) self.assertEquals( [self.payroll_service_organisation.getRelativeUrl()], pay_sheet_line._getCategoryMembershipList('source_section')) @@ -690,7 +696,7 @@ class TestPayroll(TestPayrollMixin): 'tax_category/'+ self.tax_category_employee_share, 'salary_range/'+ self.france_settings_forfait) value = cell.getTotalPrice() - self.assertEqual(base_salary, value) + self.assertEqual(10000, value) self.assertEquals([], pay_sheet_line._getCategoryMembershipList('source_section')) @@ -718,14 +724,18 @@ class TestPayroll(TestPayrollMixin): variation_category_list=variation_category_list_urssaf, resource=self.urssaf, share_list=self.urssaf_share_list, slice_list=urssaf_slice_list, - values=[[[None, 0.03]], [[None, 0.04]],]) + values=[[[None, 0.03]], [[None, 0.04]],], + base_application_list=[ 'base_amount/base_salary'], + base_contribution_list=['base_amount/deductible_tax',]) model_line2 = self.createModelLine(model=self.model, id=model_line_id2, variation_category_list=variation_category_list_salary, resource=self.labour, share_list=self.salary_share_list, - slice_list=self.salary_slice_list, base_amount_list=[], - values=[[[base_salary, None]],]) + slice_list=self.salary_slice_list, + values=[[[base_salary, None]],], + base_application_list=[], + base_contribution_list=['base_amount/base_salary', 'base_amount/gross_salary',]) pay_sheet_line_count = len(self.model.contentValues(portal_type=\ self.paysheet_line_portal_type)) + 2 # because in this test, 2 lines @@ -1297,7 +1307,9 @@ class TestPayroll(TestPayrollMixin): portal_type='Pay Sheet Model Line', resource_value=self.labour, variation_category_list=['tax_category/employee_share'], - base_amount_list=['base_salary'], + base_application_list= [], + base_contribution_list=['base_amount/base_salary', + 'base_amount/gross_salary'], float_index=1, int_index=1) line1.updateCellRange(base_id='movement') @@ -1314,7 +1326,10 @@ class TestPayroll(TestPayrollMixin): portal_type='Pay Sheet Model Line', resource_value=self.labour, variation_category_list=['tax_category/employee_share'], - base_amount_list=['base_salary'], + base_application_list= [], + base_contribution_list=['base_amount/base_salary', + 'base_amount/gross_salary'], + #base_amount_list=['base_salary'], editable=1, float_index=2, int_index=2) @@ -1420,7 +1435,8 @@ class TestPayroll(TestPayrollMixin): id='line', portal_type='Pay Sheet Model Line', resource_value=self.labour, - variation_category_list=['tax_category/employee_share'],) + variation_category_list=['tax_category/employee_share'], + base_contribution_list=['base_amount/base_salary', 'base_amount/gross_salary']) line.updateCellRange(base_id='movement') cell = line.newCell('tax_category/employee_share', portal_type='Pay Sheet Cell', @@ -1449,7 +1465,8 @@ class TestPayroll(TestPayrollMixin): id='line', portal_type='Pay Sheet Model Line', resource_value=self.labour, - variation_category_list=['tax_category/employee_share'],) + variation_category_list=['tax_category/employee_share'], + base_contribution_list=['base_amount/base_salary', 'base_amount/gross_salary']) line.updateCellRange(base_id='movement') cell = line.newCell('tax_category/employee_share', portal_type='Pay Sheet Cell', @@ -1492,7 +1509,6 @@ class TestPayroll(TestPayrollMixin): # minimal test for checkConsistency on a Payroll Service service = self.portal.payroll_service_module.newContent( portal_type='Payroll Service') - service.setBaseAmountList(('bonus', 'gross_salary')) service.setVariationBaseCategoryList(['tax_category']) service.setVariationCategoryList(['tax_category/employee_share']) self.assertEquals([], service.checkConsistency()) @@ -1623,7 +1639,9 @@ class TestPayroll(TestPayrollMixin): portal_type='Pay Sheet Model Line', resource_value=self.urssaf, variation_category_list=['tax_category/employee_share'], - source_annotation_line_reference='tax1') + source_annotation_line_reference='tax1', + base_application_list = ['base_amount/base_salary',], + base_contribution_list = ['base_amount/deductible_tax',],) model_line.updateCellRange(base_id='movement') cell = model_line.newCell('tax_category/employee_share', portal_type='Pay Sheet Cell', @@ -2081,7 +2099,7 @@ class TestPayroll(TestPayrollMixin): line = ps1.newContent(portal_type='Pay Sheet Line', resource_value=salary_service, destination_value=employee1, - base_amount='net_salary', + base_contribution_list=['base_amount/net_salary',], variation_category_list=('tax_category/employee_share', 'tax_category/employer_share')) line.updateCellRange(base_id='movement') @@ -2095,7 +2113,7 @@ class TestPayroll(TestPayrollMixin): resource_value=payroll_service, source_section_value=provider, destination_value=employee1, - base_amount='net_salary', + base_contribution_list=['base_amount/net_salary',], variation_category_list=('tax_category/employee_share', 'tax_category/employer_share')) line.updateCellRange(base_id='movement') @@ -2123,7 +2141,7 @@ class TestPayroll(TestPayrollMixin): line = ps2.newContent(portal_type='Pay Sheet Line', resource_value=salary_service, destination_value=employee2, - base_amount='net_salary', + base_contribution_list=['base_amount/net_salary',], variation_category_list=('tax_category/employee_share', 'tax_category/employer_share')) line.updateCellRange(base_id='movement') @@ -2137,7 +2155,7 @@ class TestPayroll(TestPayrollMixin): resource_value=payroll_service, source_section_value=provider, destination_value=employee2, - base_amount='net_salary', + base_contribution_list=['base_amount/net_salary',], variation_category_list=('tax_category/employee_share', 'tax_category/employer_share')) line.updateCellRange(base_id='movement')