[Erp5-report] r22292 - /erp5/trunk/products/ERP5/tests/testERP5Web.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Sun Jul 6 14:57:54 CEST 2008
Author: yo
Date: Sun Jul 6 14:57:53 2008
New Revision: 22292
URL: http://svn.erp5.org?rev=22292&view=rev
Log:
Add a test for acquisition wrappers, and fix some style mess.
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=22292&r1=22291&r2=22292&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testERP5Web.py (original)
+++ erp5/trunk/products/ERP5/tests/testERP5Web.py Sun Jul 6 14:57:53 2008
@@ -102,27 +102,24 @@
"""
web_site_module = self.portal.getDefaultModule('Web Site')
website = web_site_module[self.website_id]
- websection = website.newContent(portal_type = 'Web Section', **kw)
+ websection = website.newContent(portal_type='Web Section', **kw)
self.websection = websection
kw = dict(criterion_property_list = 'portal_type',
- membership_criterion_base_category_list = '',
- membership_criterion_category_list = '',)
+ membership_criterion_base_category_list='',
+ membership_criterion_category_list='')
websection.edit(**kw)
- websection.setCriterion(property = 'portal_type',
- identity = ['Web Page'],
- max = '',
- min = '')
+ websection.setCriterion(property='portal_type',
+ identity=['Web Page'],
+ max='',
+ min='')
get_transaction().commit()
self.tic()
return websection
- def setupWebSitePages(self,
- prefix,
- suffix = None,
- version = '0.1',
- language_list = LANGUAGE_LIST):
+ def setupWebSitePages(self, prefix, suffix=None, version='0.1',
+ language_list=LANGUAGE_LIST, **kw):
"""
Setup some Web Pages.
"""
@@ -135,23 +132,23 @@
# create sample web pages
for language in language_list:
if suffix is not None:
- reference = '%s-%s' %(prefix, language)
+ reference = '%s-%s' % (prefix, language)
else:
reference = prefix
- webpage = self.web_page_module.newContent(portal_type = 'Web Page',
- reference = reference,
- version = version,
- language = language)
+ webpage = self.web_page_module.newContent(portal_type='Web Page',
+ reference=reference,
+ version=version,
+ language=language,
+ **kw)
webpage.publish()
- webpage.reindexObject()
+ get_transaction().commit()
+ self.tic()
self.assertEquals(language, webpage.getLanguage())
self.assertEquals(reference, webpage.getReference())
self.assertEquals(version, webpage.getVersion())
self.assertEquals('published', webpage.getValidationState())
webpage_list.append(webpage)
- get_transaction().commit()
- self.tic()
return webpage_list
@@ -710,6 +707,64 @@
self.web_page_module.manage_delObjects(list(self.web_page_module.objectIds()))
+ def test_12_AcquisitionWrappers(self, quiet=quiet, run=run_all_test):
+ """Test acquisition wrappers of documents.
+ Check if documents obtained by getDefaultDocumentValue, getDocumentValue
+ and getDocumentValueList are wrapped appropriately.
+ """
+ if not run: return
+ if not quiet:
+ message = '\ntest_12_AcquisitionWrappers'
+ ZopeTestCase._print(message)
+
+ portal = self.getPortal()
+
+ # Make its own publication section category.
+ publication_section = portal.portal_categories['publication_section']
+ if publication_section._getOb('my_test_category', None) is None:
+ publication_section.newContent(portal_type='Category',
+ id='my_test_category',
+ title='Test')
+ get_transaction().commit()
+ self.tic()
+
+ website = self.setupWebSite()
+ websection = self.setupWebSection(
+ membership_criterion_base_category_list=('publication_section',),
+ membership_criterion_category=('publication_section/my_test_category',),
+ )
+
+ # Create at least two documents which belong to the publication section
+ # category.
+ web_page_list = self.setupWebSitePages('test1',
+ language_list=('en',),
+ publication_section_list=('my_test_category',))
+ web_page_list2 = self.setupWebSitePages('test2',
+ language_list=('en',),
+ publication_section_list=('my_test_category',))
+
+ # We need a default document.
+ websection.setAggregateValue(web_page_list[0])
+ get_transaction().commit()
+ self.tic()
+
+ # Obtain documens in various ways.
+ default_document = websection.getDefaultDocumentValue()
+ self.assertNotEquals(default_document, None)
+
+ document1 = websection.getDocumentValue('test1')
+ self.assertNotEquals(document1, None)
+ document2 = websection.getDocumentValue('test2')
+ self.assertNotEquals(document2, None)
+
+ document_list = websection.getDocumentValueList()
+ self.assertNotEquals(document_list, None)
+ self.assertNotEquals(len(document_list), 0)
+
+ # Check if they have good acquisition wrappers.
+ for doc in (default_document, document1, document2) + tuple(document_list):
+ self.assertEquals(doc.aq_parent, websection)
+ self.assertEquals(doc.aq_parent.aq_parent, website)
class TestERP5WebWithSimpleSecurity(ERP5TypeTestCase):
"""
More information about the Erp5-report
mailing list