diff --git a/product/ERP5/tests/testCRM.py b/product/ERP5/tests/testCRM.py index 58d13d9d775a15c046d00f587766e3a15c14465f..e3024311276404b7677b008c77740873e999ccd4 100644 --- a/product/ERP5/tests/testCRM.py +++ b/product/ERP5/tests/testCRM.py @@ -111,11 +111,80 @@ class TestCRM(ERP5TypeTestCase): description='New Desc', direction='incoming') - def test_PersonModule_CreateRelatedEvent(self): + def test_PersonModule_CreateRelatedEventSelectionParams(self): # create related event from selected persons. + person_module = self.portal.person_module + pers1 = person_module.newContent(portal_type='Person', title='Pers1') + pers2 = person_module.newContent(portal_type='Person', title='Pers2') + pers3 = person_module.newContent(portal_type='Person', title='Pers3') + self.portal.person_module.view() + self.portal.portal_selections.setSelectionCheckedUidsFor( + 'person_module_selection', []) + self.portal.portal_selections.setSelectionParamsFor( + 'person_module_selection', dict(title='Pers1')) + get_transaction().commit() + self.tic() + person_module.PersonModule_newEvent(portal_type='Mail Message', + title='The Event Title', + description='The Event Descr.', + direction='outgoing', + selection_name='person_module_selection', + selection_index=1, # in list mode ? + follow_up='', + text_content='Event Content', + form_id='PersonModule_viewPersonList') + + get_transaction().commit() + self.tic() + + related_event = pers1.getDestinationRelatedValue( + portal_type='Mail Message') + self.assertNotEquals(None, related_event) + self.assertEquals('The Event Title', related_event.getTitle()) + self.assertEquals('The Event Descr.', related_event.getDescription()) + self.assertEquals('Event Content', related_event.getTextContent()) + + for person in (pers2, pers3): + self.assertEquals(None, person.getDestinationRelatedValue( + portal_type='Mail Message')) + + def test_PersonModule_CreateRelatedEventCheckedUid(self): + # create related event from selected persons. + person_module = self.portal.person_module + pers1 = person_module.newContent(portal_type='Person', title='Pers1') + pers2 = person_module.newContent(portal_type='Person', title='Pers2') + pers3 = person_module.newContent(portal_type='Person', title='Pers3') + self.portal.person_module.view() + self.portal.portal_selections.setSelectionCheckedUidsFor( + 'person_module_selection', + [pers1.getUid(), pers2.getUid()]) + get_transaction().commit() + self.tic() + person_module.PersonModule_newEvent(portal_type='Mail Message', + title='The Event Title', + description='The Event Descr.', + direction='outgoing', + selection_name='person_module_selection', + selection_index=1, # in list mode ? + follow_up='', + text_content='Event Content', + form_id='PersonModule_viewPersonList') + + get_transaction().commit() + self.tic() + + for person in (pers1, pers2): + related_event = person.getDestinationRelatedValue( + portal_type='Mail Message') + self.assertNotEquals(None, related_event) + self.assertEquals('The Event Title', related_event.getTitle()) + self.assertEquals('The Event Descr.', related_event.getDescription()) + self.assertEquals('Event Content', related_event.getTextContent()) + + self.assertEquals(None, pers3.getDestinationRelatedValue( + portal_type='Mail Message')) - # XXX this fail when no persons are selected in listbox - raise NotImplementedError + ERP5Site_getFollowUpItemList = 'TODO' def test_SaleOpportunitySold(self): # test the workflow of sale opportunities, when the sale opportunity is