[Erp5-report] r11079 - /erp5/trunk/products/ERP5Type/tests/testERP5Type.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Nov 2 20:38:12 CET 2006


Author: jerome
Date: Thu Nov  2 20:38:10 2006
New Revision: 11079

URL: http://svn.erp5.org?rev=11079&view=rev
Log:
add some tests for the asContext method


Modified:
    erp5/trunk/products/ERP5Type/tests/testERP5Type.py

Modified: erp5/trunk/products/ERP5Type/tests/testERP5Type.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/testERP5Type.py?rev=11079&r1=11078&r2=11079&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/testERP5Type.py (original)
+++ erp5/trunk/products/ERP5Type/tests/testERP5Type.py Thu Nov  2 20:38:10 2006
@@ -1024,6 +1024,29 @@
       self.assertEquals('The organisation title',
                         person.getDefaultOrganisationTitle())
     
+    def test_AsContext(self):
+      """asContext method return a temporary copy of an object.
+      Any modification made to the copy does not change the original object.
+      """
+      obj = self.getPersonModule().newContent(portal_type='Person')
+      obj.setTitle('obj title')
+      copy = obj.asContext()
+      copy.setTitle('copy title')
+      self.assertEquals('obj title', obj.getTitle())
+      self.assertEquals('copy title', copy.getTitle())
+
+      # asContext method accepts parameters, and edit the copy with those
+      # parameters
+      obj = self.getPersonModule().newContent(portal_type='Person', id='obj')
+      obj.setTitle('obj title')
+      copy = obj.asContext(title='copy title')
+      self.assertEquals('obj title', obj.getTitle())
+      self.assertEquals('copy title', copy.getTitle())
+    
+      # acquisition context is the same
+      self.assertEquals(self.getPersonModule(), obj.aq_parent)
+      self.assertEquals(self.getPersonModule(), copy.aq_parent)
+
 if __name__ == '__main__':
   framework()
 else:




More information about the Erp5-report mailing list