[Erp5-report] r27095 - /erp5/trunk/products/ERP5/tests/testItem.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri May 22 14:56:35 CEST 2009
Author: jerome
Date: Fri May 22 14:56:35 2009
New Revision: 27095
URL: http://svn.erp5.org?rev=27095&view=rev
Log:
test for some scripts in erp5_item
Modified:
erp5/trunk/products/ERP5/tests/testItem.py
Modified: erp5/trunk/products/ERP5/tests/testItem.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testItem.py?rev=27095&r1=27094&r2=27095&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testItem.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testItem.py [utf8] Fri May 22 14:56:35 2009
@@ -28,7 +28,10 @@
import unittest
+import transaction
+from DateTime import DateTime
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
+from Products.ERP5Type.tests.utils import reindex
from zLOG import LOG
from Products.ERP5Type.tests.Sequence import SequenceList
from testInvoice import TestSaleInvoiceMixin
@@ -178,9 +181,155 @@
sequence_list.play(self, quiet=quiet)
-
+class TestItemScripts(ERP5TypeTestCase):
+ """Test scripts from erp5_item.
+ """
+ def getBusinessTemplateList(self):
+ return ('erp5_base', 'erp5_pdm', 'erp5_trade', 'erp5_item',)
+
+ def afterSetUp(self):
+ self.validateRules()
+ size_category = self.portal.portal_categories.size
+ if 'big' not in size_category.objectIds():
+ size_category.newContent(portal_type='Category',
+ id='big',
+ title='Big')
+ if 'small' not in size_category.objectIds():
+ size_category.newContent(portal_type='Category',
+ id='small',
+ title='Small')
+
+ self.node = self.portal.organisation_module.newContent(
+ portal_type='Organisation',
+ title='Node')
+ self.section = self.portal.organisation_module.newContent(
+ portal_type='Organisation',
+ title='Section')
+ self.mirror_node = self.portal.organisation_module.newContent(
+ portal_type='Organisation',
+ title='Mirror Node')
+ self.mirror_section = self.portal.organisation_module.newContent(
+ portal_type='Organisation',
+ title='Mirror Section')
+ self.product = self.portal.product_module.newContent(
+ portal_type='Product',
+ title='Product')
+ self.variated_product = self.portal.product_module.newContent(
+ portal_type='Product',
+ title='Variated Product',
+ variation_base_category_list=('size',),
+ variation_category_list=('size/big',
+ 'size/small'))
+ self.item = self.portal.item_module.newContent(
+ portal_type='Item',
+ title='Item')
+ transaction.commit()
+ self.tic()
+
+ def beforeTearDown(self):
+ transaction.abort()
+ for module in (self.portal.organisation_module,
+ self.portal.item_module,
+ self.portal.sale_packing_list_module,
+ self.portal.purchase_packing_list_module,
+ self.portal.product_module,
+ self.portal.portal_simulation,):
+ module.manage_delObjects(list(module.objectIds()))
+ transaction.commit()
+ self.tic()
+
+ @reindex
+ def _makeSalePackingListLine(self):
+ packing_list = self.portal.sale_packing_list_module.newContent(
+ portal_type='Sale Packing List',
+ source_value=self.mirror_node,
+ source_section_value=self.mirror_section,
+ destination_value=self.node,
+ destination_section_value=self.section,
+ start_date=DateTime() - 1,)
+ line = packing_list.newContent(
+ portal_type='Sale Packing List Line',
+ quantity=1,
+ resource_value=self.product,
+ aggregate_value=self.item,)
+ packing_list.confirm()
+ packing_list.start()
+ packing_list.deliver()
+ return line
+
+ # with line
+ def test_Item_getResourceValue(self):
+ self.assertEquals(None, self.item.Item_getResourceValue())
+ line = self._makeSalePackingListLine()
+ self.assertEquals(self.product, self.item.Item_getResourceValue())
+
+ def test_Item_getResourceTitle(self):
+ self.assertEquals(None, self.item.Item_getResourceTitle())
+ line = self._makeSalePackingListLine()
+ self.assertEquals('Product', self.item.Item_getResourceTitle())
+
+ def test_Item_getCurrentOwnerValue(self):
+ self.assertEquals(None, self.item.Item_getCurrentOwnerValue())
+ line = self._makeSalePackingListLine()
+ self.assertEquals(self.section, self.item.Item_getCurrentOwnerValue())
+
+ def test_Item_getCurrentOwnerTitle(self):
+ self.assertEquals(None, self.item.Item_getCurrentOwnerTitle())
+ line = self._makeSalePackingListLine()
+ self.assertEquals('Section', self.item.Item_getCurrentOwnerTitle())
+
+ def test_Item_getCurrentSiteValue(self):
+ self.assertEquals(None, self.item.Item_getCurrentSiteValue())
+ line = self._makeSalePackingListLine()
+ self.assertEquals(self.node, self.item.Item_getCurrentSiteValue())
+
+ def test_Item_getCurrentSiteTitle(self):
+ self.assertEquals(None, self.item.Item_getCurrentSiteTitle())
+ line = self._makeSalePackingListLine()
+ self.assertEquals('Node', self.item.Item_getCurrentSiteTitle())
+
+ # with cells
+ @reindex
+ def _makeSalePackingListCellWithVariation(self):
+ packing_list = self.portal.sale_packing_list_module.newContent(
+ portal_type='Sale Packing List',
+ source_value=self.mirror_node,
+ source_section_value=self.mirror_section,
+ destination_value=self.node,
+ destination_section_value=self.section,
+ start_date=DateTime() - 1,)
+ line = packing_list.newContent(
+ portal_type='Sale Packing List Line',
+ resource_value=self.variated_product,)
+ line.setVariationCategoryList(['size/small'])
+ cell = line.newCell(portal_type='Sale Packing List Cell',
+ base_id='movement', *('size/small',))
+ cell.edit(mapped_value_property_list=['price','quantity'],
+ quantity=1,
+ variation_category_list=['size/small'],
+ aggregate_value=self.item)
+ packing_list.confirm()
+ packing_list.start()
+ packing_list.deliver()
+ return cell
+
+ def test_Item_getVariationCategoryList(self):
+ self.assertEquals([], self.item.Item_getVariationCategoryList())
+ self._makeSalePackingListCellWithVariation()
+ self.assertEquals(['size/small'], self.item.Item_getVariationCategoryList())
+
+ def test_Item_getVariationRangeCategoryItemList(self):
+ self.assertEquals([], self.item.Item_getVariationRangeCategoryItemList())
+ self._makeSalePackingListCellWithVariation()
+ self.assertEquals([['Big', 'size/big'],
+ ['Small', 'size/small']],
+ self.item.Item_getVariationRangeCategoryItemList())
+
+
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestItem))
+ suite.addTest(unittest.makeSuite(TestItemScripts))
return suite
More information about the Erp5-report
mailing list