[Erp5-report] r38592 ivan - /erp5/trunk/products/ERP5OOo/tests/testDms.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Sep 23 14:36:55 CEST 2010


Author: ivan
Date: Thu Sep 23 14:36:54 2010
New Revision: 38592

URL: http://svn.erp5.org?rev=38592&view=rev
Log:
Add test for Document_getOtherVersionDocumentList.

Modified:
    erp5/trunk/products/ERP5OOo/tests/testDms.py

Modified: erp5/trunk/products/ERP5OOo/tests/testDms.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/testDms.py?rev=38592&r1=38591&r2=38592&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/testDms.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/tests/testDms.py [utf8] Thu Sep 23 14:36:54 2010
@@ -2065,6 +2065,49 @@ return 1
     self.assertEqual(request.get('advanced_search_text'),
                      portal.Base_getSearchText())
 
+  def test_Document_getOtherVersionDocumentList(self):
+    """
+      Test getting list of other documents which have the same reference.
+    """
+    request = get_request()
+    portal = self.portal
+
+    kw={'reference': 'one_that_will_never_change',
+        'language': 'en',
+         'version': '001'}
+    document1 = portal.document_module.newContent(portal_type="Presentation", **kw)
+    self.stepTic()
+    self.assertEquals(0, len(document1.Document_getOtherVersionDocumentList()))
+
+    kw['version'] == '002'
+    document2 = portal.document_module.newContent(portal_type="Spreadsheet", **kw)
+    self.stepTic()
+
+    web_page1 = portal.web_page_module.newContent(portal_type="Web Page", \
+                                                  **{'reference': 'embedded',
+                                                     'version': '001'})
+    web_page2 = portal.web_page_module.newContent(portal_type="Web Page", \
+                                                 **{'reference': 'embedded',
+                                                    'version': '002'})
+    self.stepTic()
+
+    # both documents should be in other's document version list
+    self.assertSameSet([x.getObject() for x in document1.Document_getOtherVersionDocumentList()], \
+                        [document2])
+    self.assertSameSet([x.getObject() for x in document2.Document_getOtherVersionDocumentList()], \
+                        [document1])
+    
+    # limit by portal type works
+    self.assertSameSet([x.getObject() for x in document1.Document_getOtherVersionDocumentList(**{'portal_type':'Presentation'})], \
+                        [])
+
+    # current_web_document mode (i.e. embedded Web Page in Web Section) can override current context
+    request.set('current_web_document', web_page1)
+    self.assertSameSet([x.getObject() for x in document1.Document_getOtherVersionDocumentList()], \
+                        [web_page2])
+    request.set('current_web_document', web_page2)
+    self.assertSameSet([x.getObject() for x in document1.Document_getOtherVersionDocumentList()], \
+                        [web_page1])
 
 class TestDocumentWithSecurity(TestDocumentMixin):
 




More information about the Erp5-report mailing list