[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