[Erp5-report] r38364 seb - /erp5/trunk/products/ERP5/tests/testTask.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Sep 14 15:46:44 CEST 2010
Author: seb
Date: Tue Sep 14 15:46:43 2010
New Revision: 38364
URL: http://svn.erp5.org?rev=38364&view=rev
Log:
add a test to check the TaskConstraint propertysheet
Modified:
erp5/trunk/products/ERP5/tests/testTask.py
Modified: erp5/trunk/products/ERP5/tests/testTask.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testTask.py?rev=38364&r1=38363&r2=38364&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testTask.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testTask.py [utf8] Tue Sep 14 15:46:43 2010
@@ -31,7 +31,8 @@ import unittest
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
from AccessControl.SecurityManagement import newSecurityManager
from DateTime import DateTime
-from Products.ERP5Type.tests.Sequence import SequenceList
+from Products.DCWorkflow.DCWorkflow import ValidationFailed
+from Products.ERP5Type.tests.Sequence import SequenceList, Sequence
from Testing.ZopeTestCase.PortalTestCase import PortalTestCase
class TestTaskMixin:
@@ -708,6 +709,48 @@ class TestTask(TestTaskMixin, ERP5TypeTe
'T %s'%(new_task.getId(),)
)
+ def test_07_taskConstraints(self):
+ """Check tasks constraints"""
+ self.stepLogin()
+ portal = self.getPortal()
+ portal_type = portal.portal_types['Task']
+ original_property_sheet_list = portal_type.getTypePropertySheetList()
+ try:
+ sequence = Sequence(context=self)
+ if not('TaskConstraint' in original_property_sheet_list):
+ new_property_sheet_list = ['TaskConstraint'] + original_property_sheet_list
+ portal_type.edit(type_property_sheet_list=new_property_sheet_list)
+ task_module = portal.getDefaultModule(portal_type=self.task_portal_type)
+ task = task_module.newContent(portal_type=self.task_portal_type)
+ doActionFor = self.portal.portal_workflow.doActionFor
+ self.assertRaises(ValidationFailed, doActionFor, task,
+ 'confirm_action')
+ sequence('CreateOrganisation')
+ sequence('CreateOrganisation')
+ sequence('CreateResource')
+ (source, destination) = sequence.get('organisation_list')
+ check_result = task.checkConsistency()
+ self.assertEquals(len(check_result), 4)
+ task.setDestinationValue(destination)
+ task.setSourceValue(source)
+ check_result = task.checkConsistency()
+ self.assertEquals(len(check_result), 2)
+ task.setStartDate(DateTime())
+ task.setStopDate(DateTime() + 1)
+ check_result = task.checkConsistency()
+ self.assertEquals(len(check_result), 1)
+ resource = sequence.get('resource_list')[0]
+ task.edit(task_line_resource_value = resource,
+ task_line_quantity = self.default_quantity,
+ task_line_price = self.default_price,
+ )
+ check_result = task.checkConsistency()
+ self.assertEquals(len(check_result), 0)
+
+ finally:
+ portal_type.setTypePropertySheetList(original_property_sheet_list)
+
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestTask))
More information about the Erp5-report
mailing list