From 29e8d48a6a5d2dd13edafcf1d7c0219f47ac0c6f Mon Sep 17 00:00:00 2001 From: Yusei Tahara <yusei@nexedi.com> Date: Tue, 27 May 2008 10:03:51 +0000 Subject: [PATCH] Update test_Event_CreateRelatedEvent and test_Event_CreateRelatedEventUnauthorized. "Create Related Event" action was replaced with equivalent workflow transition. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@21166 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testCRM.py | 49 ++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/product/ERP5/tests/testCRM.py b/product/ERP5/tests/testCRM.py index 58452c6d63..1cb5f9f2d9 100644 --- a/product/ERP5/tests/testCRM.py +++ b/product/ERP5/tests/testCRM.py @@ -30,6 +30,7 @@ import os import email import email.Header +from Products.CMFCore.WorkflowCore import WorkflowException from Products.ERP5Type.tests.utils import DummyMailHost from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase from Products.ERP5OOo.tests.testIngestion import conversion_server_host @@ -48,30 +49,48 @@ class TestCRM(ERP5TypeTestCase): 'erp5_crm',) def test_Event_CreateRelatedEvent(self): - # test action to create a related event from an event + # test workflow to create a related event from responded event event_module = self.portal.event_module event_module_url = event_module.absolute_url() + portal_workflow = self.portal.portal_workflow for ptype in self.portal.getPortalEventTypeList(): event = event_module.newContent(portal_type=ptype) - redirect = event.Event_createRelatedEvent( - portal_type=ptype, - title='New Title', - description='New Desc') - self.assert_(redirect.startswith(event_module_url), redirect) - # event_module_url does not contain trailing slash, so add +1 to its len - new_id = redirect[len(event_module_url)+1:].split('/', 1)[0] - new_event = self.portal.event_module._getOb(new_id) - self.assertEquals(event, new_event.getCausalityValue()) + + event.receive() + event.respond() + + self.assertEqual(len(event.getCausalityRelatedValueList()), 0) + + get_transaction().commit() + self.tic() + + portal_workflow.doActionFor(event, 'create_related_event_action', + related_event_portal_type=ptype, + related_event_title='New Title', + related_event_description='New Desc') + + get_transaction().commit() + self.tic() + + self.assertEqual(len(event.getCausalityRelatedValueList()), 1) + + related_event = event.getCausalityRelatedValue() + + self.assertEqual(related_event.getPortalType(), ptype) + self.assertEqual(related_event.getTitle(), 'New Title') + self.assertEqual(related_event.getDescription(), 'New Desc') def test_Event_CreateRelatedEventUnauthorized(self): # test that we don't get Unauthorized error when invoking the "Create - # Related Event" without add permission on the module + # Related Event" without add permission on the module, + # but will get WorkflowException error. event = self.portal.event_module.newContent(portal_type='Letter') self.portal.event_module.manage_permission('Add portal content', [], 0) - redirect = event.Event_createRelatedEvent( - portal_type='Letter', - title='New Title', - description='New Desc') + self.assertRaises(WorkflowException, + event.Event_createRelatedEvent, + portal_type='Letter', + title='New Title', + description='New Desc') def test_Ticket_CreateRelatedEvent(self): # test action to create a related event from a ticket -- 2.30.9