[Erp5-report] r27526 - /erp5/trunk/products/ERP5/tests/testNewPayroll.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Jun 11 15:02:45 CEST 2009
Author: fabien
Date: Thu Jun 11 15:02:42 2009
New Revision: 27526
URL: http://svn.erp5.org?rev=27526&view=rev
Log:
- add more tests to check updateAggregatedAmountList behaviour.
- Change some step names to be able to reuse them in other tests
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=27526&r1=27525&r2=27526&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testNewPayroll.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testNewPayroll.py [utf8] Thu Jun 11 15:02:42 2009
@@ -458,6 +458,12 @@
paysheet = sequence.get('paysheet')
self.checkUpdateAggregatedAmountListReturn(model, paysheet, 2, 2)
+ def stepCheckUpdateAggregatedAmountListReturnAfterRemoveLine(self,
+ sequence=None, **kw):
+ model = sequence.get('model')
+ paysheet = sequence.get('paysheet')
+ self.checkUpdateAggregatedAmountListReturn(model, paysheet, 2, 0)
+
def stepPaysheetApplyTransformation(self, sequence=None, **kw):
paysheet = sequence.get('paysheet')
paysheet.applyTransformation()
@@ -468,6 +474,13 @@
self.assertEqual(len(paysheet_line_list), 2)
self.assertEqual(len(paysheet.getMovementList(portal_type=\
'Pay Sheet Cell')), 2) # 2 because labour line contain no movement
+
+ def stepCheckThereIsOnlyOnePaysheetLine(self, sequence=None, **kw):
+ paysheet = sequence.get('paysheet')
+ paysheet_line_list = paysheet.contentValues(portal_type='Pay Sheet Line')
+ self.assertEqual(len(paysheet_line_list), 1)
+ self.assertEqual(len(paysheet.getMovementList(portal_type=\
+ 'Pay Sheet Cell')), 0) # 0 because labour line contain no movement
def stepCheckPaysheetLineAreCreatedUsingSlices(self, sequence=None, **kw):
paysheet = sequence.get('paysheet')
@@ -485,7 +498,7 @@
'Pay Sheet Cell')), 4) # 4 because labour line contain no movement and
# because of the 2 slice and 2 tax_categories
- def stepCheckPaysheetLineAreCreatedUsingPredicate(self, sequence=None, **kw):
+ def stepCheckPaysheetLineAreCreatedUsingWith3Lines(self, sequence=None, **kw):
paysheet = sequence.get('paysheet')
paysheet_line_list = paysheet.contentValues(portal_type='Pay Sheet Line')
self.assertEqual(len(paysheet_line_list), 3)
@@ -591,7 +604,7 @@
else:
self.fail("Unknown service for line %s" % paysheet_line.getTitle())
- def stepCheckPaysheetLineAmountsUsingPredicate(self, sequence=None, **kw):
+ def stepCheckPaysheetLineAmountsWithSicknessInsuranceAndUrssaf(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:
@@ -615,7 +628,7 @@
else:
self.fail("Unknown service for line %s" % paysheet_line.getTitle())
- def stepCheckPaysheetLineAmountsUsingAfterChanginPredicate(self, sequence=None, **kw):
+ def stepCheckPaysheetLineAmountsWithOldAgeInsuranceAndUrssaf(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:
@@ -1046,6 +1059,11 @@
self.assertNotEquals(cell_2, None)
cell_2.edit(price=0.6)
+ def stepModelDelUrssafModelLine(self, sequence=None, **kw):
+ model_line = sequence.get('urssaf_model_line')
+ model = sequence.get('model')
+ model.manage_delObjects(model_line.getId())
+
def stepCheckPaysheetLineNewAmountsAfterUpdate(self, sequence=None, **kw):
paysheet = sequence.get('paysheet')
paysheet_line_list = paysheet.contentValues(portal_type='Pay Sheet Line')
@@ -1059,6 +1077,16 @@
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())
+
+ def stepCheckPaysheetLineLabourAmountOnly(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 == 'Labour':
self.assertEqual(paysheet_line.getTotalPrice(), 3000.0)
else:
self.fail("Unknown service for line %s" % paysheet_line.getTitle())
@@ -1289,7 +1317,7 @@
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self)
- def test_updateMovements(self):
+ def test_updateModifyMovements(self):
'''
Calculate the paySheet using a model, modify one value in the model and
check that updateAggregatedAmount return nothing but modifed movements
@@ -1311,6 +1339,60 @@
CheckPaysheetLineNewAmountsAfterUpdate
CheckUpdateAggregatedAmountListReturnNothing
CheckPaysheetLineNewAmountsAfterUpdate
+ """
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self)
+
+ def test_updateAddMovements(self):
+ '''
+ Calculate the paySheet using a model, add a model line in the model
+ and check that updateAggregatedAmount add the movements corresponding
+ to this model_line
+ '''
+ sequence_list = SequenceList()
+ sequence_string = self.COMMON_BASIC_DOCUMENT_CREATION_SEQUENCE_STRING + """
+ CheckUpdateAggregatedAmountListReturn
+ PaysheetApplyTransformation
+ Tic
+ CheckPaysheetLineAreCreated
+ CheckPaysheetLineAmounts
+ CheckUpdateAggregatedAmountListReturnNothing
+ CreateSicknessInsuranceService
+ ModelCreateSicknessInsuranceModelLine
+ SicknessInsuranceModelLineCreateMovements
+ CheckUpdateAggregatedAmountListReturn
+ PaysheetApplyTransformation
+ Tic
+ CheckPaysheetLineAreCreatedUsingWith3Lines
+ CheckPaysheetLineAmountsWithSicknessInsuranceAndUrssaf
+ CheckUpdateAggregatedAmountListReturnNothing
+ CheckPaysheetLineAmountsWithSicknessInsuranceAndUrssaf
+ """
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self)
+
+ def test_updateRemoveMovements(self):
+ '''
+ Calculate the paySheet using a model, delete a model line in the model
+ and check that updateAggregatedAmount remove the movements corresponding
+ to this model_line
+ '''
+ sequence_list = SequenceList()
+ sequence_string = self.COMMON_BASIC_DOCUMENT_CREATION_SEQUENCE_STRING + """
+ CheckUpdateAggregatedAmountListReturn
+ PaysheetApplyTransformation
+ Tic
+ CheckPaysheetLineAreCreated
+ CheckPaysheetLineAmounts
+ CheckUpdateAggregatedAmountListReturnNothing
+ ModelDelUrssafModelLine
+ CheckUpdateAggregatedAmountListReturnAfterRemoveLine
+ PaysheetApplyTransformation
+ Tic
+ CheckThereIsOnlyOnePaysheetLine
+ CheckPaysheetLineLabourAmountOnly
+ CheckUpdateAggregatedAmountListReturnNothing
+ CheckPaysheetLineLabourAmountOnly
"""
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self)
@@ -1461,16 +1543,16 @@
CheckUpdateAggregatedAmountListReturnUsingPredicate
PaysheetApplyTransformation
Tic
- CheckPaysheetLineAreCreatedUsingPredicate
- CheckPaysheetLineAmountsUsingPredicate
+ CheckPaysheetLineAreCreatedUsingWith3Lines
+ CheckPaysheetLineAmountsWithSicknessInsuranceAndUrssaf
CheckUpdateAggregatedAmountListReturnNothing
- CheckPaysheetLineAmountsUsingPredicate
+ CheckPaysheetLineAmountsWithSicknessInsuranceAndUrssaf
SetMaritalStatusSingleOnEmployee
CheckUpdateAggregatedAmountListReturnAfterChangePredicate
PaysheetApplyTransformation
Tic
- CheckPaysheetLineAreCreatedUsingPredicate
- CheckPaysheetLineAmountsUsingAfterChanginPredicate
+ CheckPaysheetLineAreCreatedUsingWith3Lines
+ CheckPaysheetLineAmountsWithOldAgeInsuranceAndUrssaf
CheckUpdateAggregatedAmountListReturnNothing
"""
sequence_list.addSequenceString(sequence_string)
More information about the Erp5-report
mailing list