[Erp5-report] r27328 - /erp5/trunk/products/ERP5/tests/testNewPayroll.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Jun 2 13:34:28 CEST 2009
Author: fabien
Date: Tue Jun 2 13:34:24 2009
New Revision: 27328
URL: http://svn.erp5.org?rev=27328&view=rev
Log:
change some steps names. Add a new test to check that updateMovement return nothing but modify directly the movement that need it.
Add a check (CheckPaysheetLineAmounts) in test_basicPaySheetCalculation to be sure that even if updateAggregatedAmountList return nothing, movement are not modified
Modified:
erp5/trunk/products/ERP5/tests/testNewPayroll.py
Modified: erp5/trunk/products/ERP5/tests/testNewPayroll.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testNewPayroll.py?rev=27328&r1=27327&r2=27328&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testNewPayroll.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testNewPayroll.py [utf8] Tue Jun 2 13:34:24 2009
@@ -220,7 +220,7 @@
base_contribution_list=[ 'base_amount/base_salary'])
sequence.edit(labour_paysheet_line = paysheet_line)
- def checkUpdateAggregatedMovementReturn(self, model, paysheet,
+ def checkUpdateAggregatedAmountListReturn(self, model, paysheet,
expected_movement_to_delete_count, expected_movement_to_add_count):
movement_dict = model.updateAggregatedAmountList(context=paysheet)
movement_to_delete = movement_dict['movement_to_delete_list']
@@ -229,10 +229,10 @@
expected_movement_to_delete_count)
self.assertEquals(len(movement_to_add), expected_movement_to_add_count)
- def stepCheckUpdateAggregatedMovementReturn(self, sequence=None, **kw):
+ def stepCheckUpdateAggregatedAmountListReturn(self, sequence=None, **kw):
model = sequence.get('model')
paysheet = sequence.get('paysheet')
- self.checkUpdateAggregatedMovementReturn(model, paysheet, 0, 2)
+ self.checkUpdateAggregatedAmountListReturn(model, paysheet, 0, 2)
def stepPaysheetApplyTransformation(self, sequence=None, **kw):
paysheet = sequence.get('paysheet')
@@ -560,11 +560,11 @@
mapped_value_property_list=('quantity', 'price'))
cell2.edit(price=0.8, tax_category='employer_share')
- def stepCheckUpdateAggregatedMovementReturnWithModelLineOnPaysheet(self,
+ def stepCheckUpdateAggregatedAmountListReturnWithModelLineOnPaysheet(self,
sequence=None, **kw):
model = sequence.get('model')
paysheet = sequence.get('paysheet')
- self.checkUpdateAggregatedMovementReturn(model, paysheet, 0, 4)
+ self.checkUpdateAggregatedAmountListReturn(model, paysheet, 0, 4)
def stepCheckPaysheetLineAreCreatedWithModelLineOnPaysheet(self,
sequence=None, **kw):
@@ -602,6 +602,35 @@
else:
self.fail("Unknown service for line %s" % paysheet_line.getTitle())
+ def stepModelModifyUrssafModelLine(self, sequence=None, **kw):
+ model_line = sequence.get('urssaf_model_line')
+ # modify price on movements :
+ cell_1 = model_line.getCell('tax_category/employee_share',
+ base_id='movement')
+ self.assertNotEquals(cell_1, None)
+ cell_1.edit(price=0.2)
+ cell_2 = model_line.getCell('tax_category/employer_share',
+ base_id='movement')
+ self.assertNotEquals(cell_2, None)
+ cell_2.edit(price=0.6)
+
+ def stepCheckPaysheetLineNewAmountsAfterUpdate(self, sequence=None, **kw):
+ paysheet = sequence.get('paysheet')
+ paysheet_line_list = paysheet.contentValues(portal_type='Pay Sheet Line')
+ for paysheet_line in paysheet_line_list:
+ service = paysheet_line.getResourceTitle()
+ if service == 'Urssaf':
+ cell1 = paysheet_line.getCell('tax_category/employee_share')
+ self.assertEquals(cell1.getQuantity(), 3000)
+ self.assertEquals(cell1.getPrice(), 0.2)
+ cell2 = paysheet_line.getCell('tax_category/employer_share')
+ self.assertEquals(cell2.getQuantity(), 3000)
+ self.assertEquals(cell2.getPrice(), 0.6)
+ elif service == 'Labour':
+ self.assertEqual(paysheet_line.getTotalPrice(), 3000.0)
+ else:
+ self.fail("Unknown service for line %s" % paysheet_line.getTitle())
+
class TestNewPayroll(TestNewPayrollMixin):
BUSINESS_PATH_CREATION_SEQUENCE_STRING = """
@@ -694,13 +723,14 @@
'''
sequence_list = SequenceList()
sequence_string = self.COMMON_BASIC_DOCUMENT_CREATION_SEQUENCE_STRING + """
- CheckUpdateAggregatedMovementReturn
+ CheckUpdateAggregatedAmountListReturn
PaysheetApplyTransformation
Tic
CheckSourceSectionOnMovements
CheckPaysheetLineAreCreated
CheckPaysheetLineAmounts
CheckUpdateAggregatedAmountListReturnNothing
+ CheckPaysheetLineAmounts
"""
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self)
@@ -742,7 +772,7 @@
CreateOldAgeInsuranacePayrollService
PaysheetCreateModelLine
PaysheetModelLineCreateMovements
- CheckUpdateAggregatedMovementReturnWithModelLineOnPaysheet
+ CheckUpdateAggregatedAmountListReturnWithModelLineOnPaysheet
PaysheetApplyTransformation
Tic
CheckPaysheetLineAreCreatedWithModelLineOnPaysheet
@@ -752,6 +782,35 @@
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self)
+ def test_updateMovements(self):
+ '''
+ Calculate the paySheet using a model, modify one value in the model and
+ check that updateAggregatedAmount return nothing but modifed movements
+ that need to be modified
+ '''
+ sequence_list = SequenceList()
+ sequence_string = self.COMMON_BASIC_DOCUMENT_CREATION_SEQUENCE_STRING + """
+ CheckUpdateAggregatedAmountListReturn
+ PaysheetApplyTransformation
+ Tic
+ CheckSourceSectionOnMovements
+ CheckPaysheetLineAreCreated
+ CheckPaysheetLineAmounts
+ CheckUpdateAggregatedAmountListReturnNothing
+ ModelModifyUrssafModelLine
+ CheckUpdateAggregatedAmountListReturnNothing
+ PaysheetApplyTransformation
+ Tic
+ CheckSourceSectionOnMovements
+ CheckPaysheetLineAreCreated
+ CheckPaysheetLineNewAmountsAfterUpdate
+ CheckUpdateAggregatedAmountListReturnNothing
+ CheckPaysheetLineNewAmountsAfterUpdate
+ """
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self)
+
+
import unittest
def test_suite():
suite = unittest.TestSuite()
More information about the Erp5-report
mailing list