[Erp5-report] r42103 rafael - /erp5/trunk/products/ERP5Workflow/tests/testERP5Workflow.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Jan 7 05:32:58 CET 2011


Author: rafael
Date: Fri Jan  7 05:32:57 2011
New Revision: 42103

URL: http://svn.erp5.org?rev=42103&view=rev
Log:

Add test for before script.

Modified:
    erp5/trunk/products/ERP5Workflow/tests/testERP5Workflow.py

Modified: erp5/trunk/products/ERP5Workflow/tests/testERP5Workflow.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Workflow/tests/testERP5Workflow.py?rev=42103&r1=42102&r2=42103&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Workflow/tests/testERP5Workflow.py [utf8] (original)
+++ erp5/trunk/products/ERP5Workflow/tests/testERP5Workflow.py [utf8] Fri Jan  7 05:32:57 2011
@@ -32,12 +32,6 @@ from AccessControl.SecurityManagement im
 from AccessControl import Unauthorized
 from AccessControl import SpecialUsers
 
-try:
-  from transaction import get as get_transaction
-except ImportError:
-  pass
-
-
 class TestERP5Workflow(ERP5TypeTestCase):
   """
     Tests ERP5 Workflow.
@@ -166,6 +160,35 @@ class TestERP5Workflow(ERP5TypeTestCase)
     # FIXME: not passing parameter to an after script is probably too
     # restrictive
 
+  def test_BeforeScript(self):
+    workflow = self.workflow_module.newContent(
+                                portal_type='Workflow',
+                                state_base_category='current_state')
+    s1 = workflow.newContent(portal_type='State',
+                             title='State 1')
+    s2 = workflow.newContent(portal_type='State',
+                             title='State 2')
+    t1 = workflow.newContent(portal_type='Transition',
+                             title='Transition 1',
+                             before_script_id='Document_testBeforeScript'
+                             )
+    s1.setDestinationValue(t1)
+    t1.setDestinationValue(s2)
+    workflow.setSourceValue(s1)
+
+    doc = self.portal.newContent(portal_type='Folder', id='test_doc')
+
+    called = []
+    def Document_testBeforeScript(**kw):
+      called.append('called %s' % kw)
+    doc.Document_testBeforeScript = Document_testBeforeScript
+
+    workflow.initializeDocument(doc)
+    t1.execute(doc)
+    self.assertEquals(['called {}'], called)
+    # FIXME: not passing parameter to an before script is probably too
+    # restrictive
+
   def test_WorkflowSecurity(self):
     """
      Test workflow security.



More information about the Erp5-report mailing list