[Erp5-report] r17673 - /erp5/trunk/products/ERP5/tests/testERP5Category.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Nov 19 11:11:30 CET 2007


Author: jerome
Date: Mon Nov 19 11:11:30 2007
New Revision: 17673

URL: http://svn.erp5.org?rev=17673&view=rev
Log:
test getAcquiredCategoryList

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

Modified: erp5/trunk/products/ERP5/tests/testERP5Category.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testERP5Category.py?rev=17673&r1=17672&r2=17673&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testERP5Category.py (original)
+++ erp5/trunk/products/ERP5/tests/testERP5Category.py Mon Nov 19 11:11:30 2007
@@ -303,6 +303,46 @@
     base_category.newContent(id='toto',title='Toto')
     self.assertTrue(len(base_category.Base_viewDict())>0)
 
+
+  def test_getAcquiredCategoryList(self):
+    # create a base category
+    ctool = self.getCategoryTool()
+    test_aq_category = ctool.newContent(id='test_aq_category',
+        portal_type='Base Category',
+        acquisition_base_category_list=['parent'],
+        acquisition_portal_type="python:['Organisation', 'Telephone']",)
+    test_aq_category.newContent(portal_type='Category', id='1')
+    # this category will acquire from parent category
+    self.assertEquals(['parent'], test_aq_category.getAcquisitionBaseCategoryList())
+    # only if portal type of the current document and his parent are in
+    # acquisition portal type
+    self.assertEquals(['Organisation', 'Telephone'],
+                      test_aq_category.getAcquisitionPortalTypeList())
+    
+    # associate the base category with our portal types
+    ttool = self.getTypesTool()
+    ttool['Organisation'].base_category_list = ['test_aq_category']
+    ttool['Telephone'].base_category_list = ['test_aq_category']
+
+    doc = self.organisation
+    subdoc = doc['1']
+
+    doc.setCategoryList(['test_aq_category/1'])
+    self.assertEquals(['test_aq_category/1'], ctool.getAcquiredCategoryList(doc))
+    self.assertEquals(['test_aq_category/1'], doc.getAcquiredCategoryList())
+    
+    # Telephone subdocument acquire categories, because 'test_aq_category' has
+    # 'parent' in its acquisition_base_category_list
+    self.assertEquals([], subdoc.getCategoryList())
+    self.assertEquals(['test_aq_category/1'], subdoc.getAcquiredCategoryList())
+    
+    doc.setCategoryList([])
+    self.assertEquals([], ctool.getAcquiredCategoryList(doc))
+
+    # XXX this test's beforeTearDown commits transaction
+    get_transaction().abort()
+
+
 def test_suite():
   suite = unittest.TestSuite()
   suite.addTest(unittest.makeSuite(TestERP5Category))




More information about the Erp5-report mailing list