[Erp5-report] r20132 - /erp5/trunk/products/ERP5/tests/testPayroll.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Mar 25 19:53:21 CET 2008
Author: jerome
Date: Tue Mar 25 19:53:21 2008
New Revision: 20132
URL: http://svn.erp5.org?rev=20132&view=rev
Log:
add test for applying model
(+ remove useless reindexObject calls)
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=20132&r1=20131&r2=20132&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testPayroll.py (original)
+++ erp5/trunk/products/ERP5/tests/testPayroll.py Tue Mar 25 19:53:21 2008
@@ -420,7 +420,6 @@
base_amount_list = base_amount_list,
variation_category_list = variation_category_list,)
get_transaction().commit()
- model_line.reindexObject()
self.tic()
# put values in Model Line cells
@@ -460,7 +459,6 @@
stop_date = DateTime(2008, 1, 31),)
paysheet.setPriceCurrency('currency_module/EUR')
get_transaction().commit()
- paysheet.reindexObject()
self.tic()
return paysheet
@@ -476,7 +474,6 @@
'Pay Sheet Model Ratio Line']
paysheet.PaySheetTransaction_copySubObject(portal_type_list)
get_transaction().commit()
- paysheet.recursiveReindexObject()
self.tic()
return paysheet_line_list
@@ -650,9 +647,6 @@
paysheet_line_count_before_calculation = \
len(paysheet.contentValues(portal_type= \
self.paysheet_line_portal_type))
-
- # apply the model
- #paysheet.PaySheetTransaction_applyModel()
# calculate the pay sheet
pay_sheet_line_list = self.calculatePaySheet(paysheet=paysheet)
@@ -1267,6 +1261,60 @@
service.setVariationCategoryList(['tax_category/employee_share'])
self.assertEquals([], service.checkConsistency())
+ def test_apply_model(self):
+ eur = self.portal.currency_module.EUR
+ employee = self.portal.person_module.newContent(
+ portal_type='Person',
+ title='Employee')
+ employer = self.portal.organisation_module.newContent(
+ portal_type='Organisation',
+ title='Employer')
+ model = self.portal.paysheet_model_module.newContent(
+ portal_type='Pay Sheet Model',
+ source_section_value=employee,
+ destination_section_value=employer,
+ price_currency_value=eur,
+ payment_condition_payment_date=DateTime(2008, 1, 1),
+ work_time_annotation_line_quantity=10)
+ paysheet = self.portal.accounting_module.newContent(
+ portal_type='Pay Sheet Transaction',
+ specialise_value=model)
+
+ paysheet.PaySheetTransaction_applyModel(form_id='view')
+ self.assertEquals(employee, paysheet.getSourceSectionValue())
+ self.assertEquals(employer, paysheet.getDestinationSectionValue())
+ self.assertEquals(eur, paysheet.getResourceValue())
+ self.assertEquals(eur, paysheet.getPriceCurrencyValue())
+ self.assertEquals(DateTime(2008, 1, 1),
+ paysheet.getPaymentConditionPaymentDate())
+ self.assertEquals(10, paysheet.getWorkTimeAnnotationLineQuantity())
+
+ # if not found on the first model, values are searched recursivly in the
+ # model hierarchy
+ other_model = self.portal.paysheet_model_module.newContent(
+ portal_type='Pay Sheet Model',
+ source_section_value=employee,
+ destination_section_value=employer,
+ price_currency_value=eur,
+ specialise_value=model)
+ paysheet = self.portal.accounting_module.newContent(
+ portal_type='Pay Sheet Transaction',
+ specialise_value=other_model)
+
+ paysheet.PaySheetTransaction_applyModel(form_id='view')
+ self.assertEquals(employee, paysheet.getSourceSectionValue())
+ self.assertEquals(employer, paysheet.getDestinationSectionValue())
+ self.assertEquals(eur, paysheet.getResourceValue())
+ self.assertEquals(eur, paysheet.getPriceCurrencyValue())
+ self.assertEquals(DateTime(2008, 1, 1),
+ paysheet.getPaymentConditionPaymentDate())
+ self.assertEquals(10, paysheet.getWorkTimeAnnotationLineQuantity())
+
+ # applying twice does not copy subdocument twice
+ self.assertEquals(2, len(paysheet.contentValues()))
+ paysheet.PaySheetTransaction_applyModel(form_id='view')
+ self.assertEquals(2, len(paysheet.contentValues()))
+
import unittest
def test_suite():
More information about the Erp5-report
mailing list