[Erp5-report] r15131 - /erp5/trunk/products/ERP5/tests/testERP5Web.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Jul 3 13:02:27 CEST 2007


Author: ivan
Date: Tue Jul  3 13:02:27 2007
New Revision: 15131

URL: http://svn.erp5.org?rev=15131&view=rev
Log:
Added test for versioning of Web Pages (i.e TextDocument objects).

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

Modified: erp5/trunk/products/ERP5/tests/testERP5Web.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testERP5Web.py?rev=15131&r1=15130&r2=15131&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testERP5Web.py (original)
+++ erp5/trunk/products/ERP5/tests/testERP5Web.py Tue Jul  3 13:02:27 2007
@@ -264,6 +264,54 @@
       default_document = websection.getDefaultDocumentValue()
       self.assertEquals(language, default_document.getLanguage())
 
+  def test_05_WebPageVersioning(self, quiet=quiet, run=run_all_test):
+    """
+      Simple Case of showing the proper most recent public Web Page based on 
+      (language, version
+    """
+    if not run:
+      return
+    if not quiet:
+      message = '\ntest_05_WebPageVersioning'
+      ZopeTestCase._print(message)
+    portal = self.getPortal()
+    request = self.app.REQUEST
+    website = self.setupWebSite()
+    websection = self.setupWebSection()
+    page_reference = 'default-webpage-versionning'
+    webpage_list  = self.setupWebSitePages(prefix = page_reference)
+   
+    # set default web page for section
+    found_by_reference = portal.portal_catalog(name = page_reference,
+                                               language = 'en',
+                                               portal_type = 'Web Page')
+    en_01 =  found_by_reference[0].getObject()
+    # set it as default web page for section
+    websection.edit(categories_list = ['aggregate/%s' %en_01.getRelativeUrl(),])
+    self.assertEqual([en_01.getReference(),],
+                      websection.getAggregateReferenceList())
+    
+    # create manually a copy of 'en_01' with higher version and check that
+    # older version is archived and new one is show as default web page for section
+    en_02 = self.web_page_module.newContent(portal_type = 'Web Page', 
+                                            reference = page_reference,
+                                            version = 0.2,
+                                            language = 'en')
+    en_02.publish()
+    en_02.reindexObject()
+    get_transaction().commit()
+    self.tic()
+
+    # is old archived?
+    self.assertEquals('archived', en_01.getValidationState())
+
+    # is new public and default web page for section?
+    portal.Localizer.manage_changeDefaultLang(language = 'en')
+    default_document = websection.getDefaultDocumentValue()
+    self.assertEquals(en_02, default_document)
+    self.assertEquals('en', default_document.getLanguage())
+    self.assertEquals('0.2', default_document.getVersion())
+    self.assertEquals('published', default_document.getValidationState())
 
 def test_suite():
   suite = unittest.TestSuite()




More information about the Erp5-report mailing list