[Erp5-report] r41493 nicolas - /erp5/trunk/products/ERP5/tests/testCRM.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Dec 16 12:01:34 CET 2010


Author: nicolas
Date: Thu Dec 16 12:01:34 2010
New Revision: 41493

URL: http://svn.erp5.org?rev=41493&view=rev
Log:
* Run activities after ingestion.
  Because discoverMedata may change the portal_type of ingested Event.
* Get the last event according creation_date
* It has been decided to no hide portal_type added in Subject or in Body parts of message.
  getTitle() == 'Visit:Company A' even if 'Visit:' is a keyword to help contribution_tool
  to Construct Visit portal_type during ingestion process.

Modified:
    erp5/trunk/products/ERP5/tests/testCRM.py

Modified: erp5/trunk/products/ERP5/tests/testCRM.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testCRM.py?rev=41493&r1=41492&r2=41493&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testCRM.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testCRM.py [utf8] Thu Dec 16 12:01:34 2010
@@ -573,63 +573,85 @@ class TestCRMMailIngestion(BaseTestCRM):
     Make sure that ingested email will be correctly converted to
     appropriate portal type by email metadata.
     """
+    def getLastCreatedEvent(module):
+      object_list = module.contentValues()
+      object_list.sort(key=lambda e:e.getCreationDate())
+      return object_list[-1]
+
+    portal = self.portal
     message = email.message_from_string(self._readTestData('simple'))
     message.replace_header('subject', 'Visit:Company A')
     data = message.as_string()
-    document = self._ingestMail(data=data)
+    self._ingestMail(data=data)
+    transaction.commit()
+    self.tic()
+    document = getLastCreatedEvent(portal.event_module)
     self.assertEqual(document.getPortalType(), 'Visit')
-    self.assertEqual(document.getTitle(), 'Company A')
 
     message = email.message_from_string(self._readTestData('simple'))
     message.replace_header('subject', 'Fax:Company B')
     data = message.as_string()
-    document = self._ingestMail(data=data)
+    self._ingestMail(data=data)
+    transaction.commit()
+    self.tic()
+    document = getLastCreatedEvent(portal.event_module)
     self.assertEqual(document.getPortalType(), 'Fax Message')
-    self.assertEqual(document.getTitle(), 'Company B')
 
     message = email.message_from_string(self._readTestData('simple'))
     message.replace_header('subject', 'TEST:Company B')
     data = message.as_string()
-    document = self._ingestMail(data=data)
+    self._ingestMail(data=data)
+    transaction.commit()
+    self.tic()
+    document = getLastCreatedEvent(portal.event_module)
     self.assertEqual(document.getPortalType(), 'Mail Message')
-    self.assertEqual(document.getTitle(), 'TEST:Company B')
 
     message = email.message_from_string(self._readTestData('simple'))
     message.replace_header('subject', 'visit:Company A')
     data = message.as_string()
-    document = self._ingestMail(data=data)
+    self._ingestMail(data=data)
+    transaction.commit()
+    self.tic()
+    document = getLastCreatedEvent(portal.event_module)
     self.assertEqual(document.getPortalType(), 'Visit')
-    self.assertEqual(document.getTitle(), 'Company A')
 
     message = email.message_from_string(self._readTestData('simple'))
     message.replace_header('subject', 'phone:Company B')
     data = message.as_string()
-    document = self._ingestMail(data=data)
+    self._ingestMail(data=data)
+    transaction.commit()
+    self.tic()
+    document = portal.event_module[portal.event_module.objectIds()[-1]]
     self.assertEqual(document.getPortalType(), 'Phone Call')
-    self.assertEqual(document.getTitle(), 'Company B')
 
     message = email.message_from_string(self._readTestData('simple'))
     message.replace_header('subject', 'LETTER:Company C')
     data = message.as_string()
-    document = self._ingestMail(data=data)
+    self._ingestMail(data=data)
+    transaction.commit()
+    self.tic()
+    document = getLastCreatedEvent(portal.event_module)
     self.assertEqual(document.getPortalType(), 'Letter')
-    self.assertEqual(document.getTitle(), 'Company C')
 
     message = email.message_from_string(self._readTestData('simple'))
     body = message.get_payload()
     message.set_payload('Visit:%s' % body)
     data = message.as_string()
-    document = self._ingestMail(data=data)
+    self._ingestMail(data=data)
+    transaction.commit()
+    self.tic()
+    document = getLastCreatedEvent(portal.event_module)
     self.assertEqual(document.getPortalType(), 'Visit')
-    self.assertEqual(document.getTextContent(), body)
 
     message = email.message_from_string(self._readTestData('simple'))
     body = message.get_payload()
     message.set_payload('PHONE CALL:%s' % body)
     data = message.as_string()
-    document = self._ingestMail(data=data)
+    self._ingestMail(data=data)
+    transaction.commit()
+    self.tic()
+    document = getLastCreatedEvent(portal.event_module)
     self.assertEqual(document.getPortalType(), 'Phone Call')
-    self.assertEqual(document.getTextContent(), body)
 
   def test_forwarder_mail(self):
     """



More information about the Erp5-report mailing list