[Erp5-report] r27292 - /erp5/trunk/products/ERP5/tests/testItem.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Jun 1 12:04:41 CEST 2009
Author: jerome
Date: Mon Jun 1 12:04:41 2009
New Revision: 27292
URL: http://svn.erp5.org?rev=27292&view=rev
Log:
tests for item creation fast input
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=27292&r1=27291&r2=27292&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testItem.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testItem.py [utf8] Mon Jun 1 12:04:41 2009
@@ -114,21 +114,26 @@
return resource
- def createPackingList(self,resource=None,organisation=None):
- portal = self.getPortal()
- packing_list_module = portal.getDefaultModule(portal_type='Purchase Packing List')
- pac_list = packing_list_module.newContent(portal_type='Purchase Packing List')
+ def createPackingList(self,
+ resource=None,
+ organisation=None,
+ portal_type='Purchase Packing List'):
+ portal = self.portal
+ packing_list_module = portal.getDefaultModule(portal_type=portal_type)
+ pac_list = packing_list_module.newContent(portal_type=portal_type)
pac_list.edit(
title = "PPL%s" % pac_list.getId(),
- start_date = self.datetime + 10,
- stop_date = self.datetime + 20,
+ # FIXME: this is temporary, because item scripts uses today's date (which
+ # is wrong)
+ start_date = self.datetime - 20,
+ stop_date = self.datetime - 10,
)
+
if organisation is not None:
pac_list.edit(source_value=organisation,
source_section_value=organisation,
destination_value=organisation,
destination_section_value=organisation,
- # Added for test Packing List Copy
source_decision_value=organisation,
destination_decision_value=organisation,
source_administration_value=organisation,
@@ -136,8 +141,11 @@
)
return pac_list
- def createPackingListLine(self,packing_list=None,resource=None):
- packing_list_line = packing_list.newContent(portal_type='Purchase Packing List Line')
+ def createPackingListLine(self,
+ packing_list=None,
+ resource=None,
+ portal_type='Purchase Packing List Line'):
+ packing_list_line = packing_list.newContent(portal_type=portal_type)
packing_list_line.edit(
title = "Packing List Line"
)
@@ -489,6 +497,125 @@
self.assertEquals(movement_cell_list,[])
+ def test_select_item_dialog_no_variation(self):
+ organisation = self.createOrganisation(title='Organisation III')
+ resource = self.createNotVariatedResource()
+
+ # create one item that is in organisation
+ packing_list = self.createPackingList(resource=resource,
+ organisation=organisation)
+ packing_list.edit(source_section=None, source=None)
+ packing_list_line = self.createPackingListLine(packing_list=packing_list,
+ resource=resource)
+ item = self.portal.item_module.newContent(
+ portal_type='Item',
+ title='Test Item',
+ reference='TI',
+ quantity=12)
+ packing_list_line.setAggregateValue(item)
+ packing_list.confirm()
+ packing_list.stop()
+ self.assertEquals('stopped', packing_list.getSimulationState())
+ transaction.commit()
+ self.tic()
+
+
+ packing_list = self.createPackingList(resource=resource,
+ organisation=organisation,
+ portal_type='Internal Packing List')
+ packing_list_line = self.createPackingListLine(
+ packing_list=packing_list,
+ resource=resource,
+ portal_type='Internal Packing List Line')
+ packing_list_line.setQuantity(32)
+
+ # we can view the dialog
+ packing_list_line.DeliveryLine_viewSelectItemListDialog()
+
+ # the listbox contains the items physically in the source of the packing
+ # list
+ self.assertEquals([item],
+ packing_list_line.DeliveryLine_getSelectableItemList())
+
+ packing_list_line.DeliveryLine_selectItemList(
+ list_selection_name='select_item_fast_input_selection',
+ listbox_uid=(item.getUid(),),
+ uids=(item.getUid(),))
+
+ self.assertEquals([item], packing_list_line.getAggregateValueList())
+ self.assertEquals(12, packing_list_line.getQuantity())
+
+
+ def test_select_item_dialog_variation(self):
+ organisation = self.createOrganisation(title='Organisation IV')
+ resource = self.createVariatedResource()
+ variation_category_list = [ 'size/%s' % variation.getRelativeUrl()
+ for variation in resource.contentValues() ]
+
+ # create one item that is in organisation
+ packing_list = self.createPackingList(resource=resource,
+ organisation=organisation)
+ packing_list.edit(source_section=None, source=None)
+ packing_list_line = self.createPackingListLine(packing_list=packing_list,
+ resource=resource)
+ packing_list_line.setVariationCategoryList(variation_category_list)
+
+ variation = variation_category_list[0]
+ cell = packing_list_line.newCell(base_id='movement',
+ *(variation,))
+ cell.edit(mapped_value_property_list=('quantity,'),
+ quantity=1,
+ variation_category_list=[variation])
+
+ item = self.portal.item_module.newContent(
+ portal_type='Item',
+ title='Test Item %s' % variation,
+ reference='TI%s' % variation,
+ quantity=12)
+ cell.setAggregateValue(item)
+
+ packing_list.confirm()
+ packing_list.stop()
+ self.assertEquals('stopped', packing_list.getSimulationState())
+ transaction.commit()
+ self.tic()
+
+
+ packing_list = self.createPackingList(resource=resource,
+ organisation=organisation,
+ portal_type='Internal Packing List')
+ packing_list_line = self.createPackingListLine(
+ packing_list=packing_list,
+ resource=resource,
+ portal_type='Internal Packing List Line')
+ packing_list_line.setQuantity(32)
+
+ # we can view the dialog
+ packing_list_line.DeliveryLine_viewSelectItemListDialog()
+
+ # the listbox contains the items physically in the source of the packing
+ # list, and have matching variations
+ self.assertEquals([item],
+ packing_list_line.DeliveryLine_getSelectableItemList())
+
+ packing_list_line.DeliveryLine_selectItemList(
+ list_selection_name='select_item_fast_input_selection',
+ listbox_uid=(item.getUid(),),
+ uids=(item.getUid(),))
+
+ self.assertEquals([variation],
+ packing_list_line.getVariationCategoryList())
+ self.assertEquals(12, packing_list_line.getTotalQuantity())
+ self.assertEquals([], packing_list_line.getAggregateValueList())
+
+ self.assertEquals(1,
+ len(packing_list_line.getCellValueList(base_id='movement')))
+
+ cell = packing_list_line.getCell(base_id='movement', *(variation, ))
+ self.assertEquals(12, cell.getQuantity())
+ self.assertEquals([item], cell.getAggregateValueList())
+
+
class TestItemScripts(ERP5TypeTestCase):
"""Test scripts from erp5_item.
"""
More information about the Erp5-report
mailing list