[Erp5-report] r21631 - /erp5/trunk/products/ERP5/tests/testERP5Web.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Jun 17 10:12:56 CEST 2008
Author: ivan
Date: Tue Jun 17 10:12:56 2008
New Revision: 21631
URL: http://svn.erp5.org?rev=21631&view=rev
Log:
Extend test.
Add test for documents (based on language of user) belonging to a section.
Add test for default document for a section.
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=21631&r1=21630&r2=21631&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testERP5Web.py (original)
+++ erp5/trunk/products/ERP5/tests/testERP5Web.py Tue Jun 17 10:12:56 2008
@@ -399,7 +399,83 @@
# Even with the same callable object, a restricted method id should not be callable.
self.assertRaises(Unauthorized, document.asStrippedHTML)
-
+
+ def test_08_LatestContent(self, quiet=quiet, run=run_all_test):
+ """ Test latest content for a Web Section. Test different use case like languaeg, workflow state.
+ """
+ if not run: return
+ if not quiet:
+ message = '\ntest_08_LatestContent'
+ ZopeTestCase._print(message)
+ portal = self.getPortal()
+ website = self.setupWebSite()
+ websection = self.setupWebSection()
+ portal_categories = portal.portal_categories
+ publication_section_category_id_list = ['documentation', 'administration']
+ for category_id in publication_section_category_id_list:
+ portal_categories.publication_section.newContent(portal_type = 'Category',
+ id = category_id)
+ #set predicate on web section using 'publication_section'
+ websection.edit(membership_criterion_base_category = ['publication_section'],
+ membership_criterion_category=['publication_section/%s'
+ %publication_section_category_id_list[0]])
+ get_transaction().commit()
+ self.tic()
+
+ self.assertEquals(0, len(websection.getDocumentValueList()))
+ # create pages belonging to this publication_section 'documentation'
+ web_page_en = portal.web_page_module.newContent(portal_type = 'Web Page',
+ language = 'en',
+ publication_section_list=publication_section_category_id_list[:1])
+ web_page_en.publish()
+ get_transaction().commit()
+ self.tic()
+ self.assertEquals(1, len(websection.getDocumentValueList()))
+ self.assertEquals(web_page_en, websection.getDocumentValueList()[0].getObject())
+
+ # create pages belonging to this publication_section 'documentation' but for 'bg' language
+ web_page_bg = portal.web_page_module.newContent(portal_type = 'Web Page',
+ language = 'bg',
+ publication_section_list=publication_section_category_id_list[:1])
+ web_page_bg.publish()
+ get_transaction().commit()
+ self.tic()
+ self.assertEquals(1, len(websection.getDocumentValueList(language='bg')))
+ self.assertEquals(web_page_bg, websection.getDocumentValueList(language='bg')[0].getObject())
+
+ # reject page
+ web_page_bg.reject()
+ get_transaction().commit()
+ self.tic()
+ self.assertEquals(0, len(websection.getDocumentValueList(language='bg')))
+
+ def test_09_DefaultDocumentForWebSection(self, quiet=quiet, run=run_all_test):
+ """ Testetting default document for a Web Section. Test use case like workflow state of document.
+ Note: due to generic ERP5 Web implementation this test highly depends on WebSection_geDefaulttDocumentValueList
+ """
+ if not run: return
+ if not quiet:
+ message = '\ntest_09_DefaultDocumentForWebSection'
+ ZopeTestCase._print(message)
+ portal = self.getPortal()
+ website = self.setupWebSite()
+ websection = self.setupWebSection()
+ publication_section_category_id_list = ['documentation', 'administration']
+
+ # create pages belonging to this publication_section 'documentation'
+ web_page_en = portal.web_page_module.newContent(portal_type = 'Web Page',
+ language = 'en',
+ reference='NXD-DDP',
+ publication_section_list=publication_section_category_id_list[:1])
+ websection.setAggregateValue(web_page_en)
+ get_transaction().commit()
+ self.tic()
+ self.assertEqual(None, websection.getDefaultDocumentValue())
+ # publish it
+ web_page_en.publish()
+ get_transaction().commit()
+ self.tic()
+ self.assertEqual(web_page_en, websection.getDefaultDocumentValue())
class TestERP5WebWithSimpleSecurity(ERP5TypeTestCase):
"""
More information about the Erp5-report
mailing list