[Erp5-report] r10129 - /erp5/trunk/products/ERP5/tests/testOrder.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Sep 19 00:14:02 CEST 2006
Author: seb
Date: Tue Sep 19 00:13:59 2006
New Revision: 10129
URL: http://svn.erp5.org?rev=10129&view=rev
Log:
make sure to test well the fast parameter in getTotalQuantity and getTotalPrice on delivery lines and deliveries
Modified:
erp5/trunk/products/ERP5/tests/testOrder.py
Modified: erp5/trunk/products/ERP5/tests/testOrder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testOrder.py?rev=10129&r1=10128&r2=10129&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testOrder.py (original)
+++ erp5/trunk/products/ERP5/tests/testOrder.py Tue Sep 19 00:13:59 2006
@@ -458,8 +458,7 @@
Check the method getTotalQuantity on a order line.
"""
- # FIXME : order_line needs to be indexed for 'fast' calculation to
- # work as expected
+ # order_line needs to be indexed for 'fast' calculation to work as expected
self.stepTic()
order_line = sequence.get('order_line')
@@ -477,6 +476,7 @@
self.assertEquals(total_quantity, order_line.getTotalQuantity())
self.assertEquals( order_line.getTotalQuantity(fast = 0),
order_line.getTotalQuantity(fast = 1) )
+ self.assertNotEquals(order_line.getTotalQuantity(fast = 1),0)
def stepCheckOrderLineTotalPrice(self, sequence=None, \
sequence_list=None, **kw):
@@ -484,8 +484,7 @@
Check the method getTotalPrice on a order line.
"""
- # FIXME : order_line needs to be indexed for 'fast' calculation to
- # work as expected
+ # order_line needs to be indexed for 'fast' calculation to work as expected
self.stepTic()
order_line = sequence.get('order_line')
@@ -505,6 +504,41 @@
self.assertEquals(total_price, order_line.getTotalPrice())
self.assertEquals( order_line.getTotalPrice(fast = 0),
order_line.getTotalPrice(fast = 1) )
+ self.assertNotEquals(order_line.getTotalPrice(fast = 1),0)
+
+ def stepCheckOrderLineTotalPriceAndQuantityFastParameter(self, sequence=None, \
+ sequence_list=None, **kw):
+ """
+ Check the method getTotalPrice on a order line.
+
+ Here we will check that very carefully ther parameter fast
+ """
+ portal_catalog = self.getCatalogTool()
+ total_price = 0
+ total_quantity = 0
+ order_line = sequence.get('order_line')
+ base_id = 'movement'
+ cell_key_list = order_line.getCellKeyList(base_id=base_id)
+ for cell_key in cell_key_list:
+ if order_line.hasCell(base_id = base_id, *cell_key):
+ cell = order_line.getCell(base_id = base_id, *cell_key)
+ total_price += ( cell.getProperty('quantity') *
+ cell.getProperty('price'))
+ total_quantity += (cell.getProperty('quantity'))
+ self.assertEquals(len(portal_catalog(
+ relative_url=order_line.getRelativeUrl())),0)
+ self.assertEquals(total_price, order_line.getTotalPrice(fast=0))
+ self.assertEquals(total_quantity, order_line.getTotalQuantity(fast=0))
+ self.assertEquals(0, order_line.getTotalPrice(fast=1))
+ self.assertEquals(0, order_line.getTotalQuantity(fast=1))
+ self.assertNotEquals(total_price, 0)
+ self.stepTic()
+ self.assertEquals(len(portal_catalog(relative_url=
+ order_line.getRelativeUrl())),1)
+ self.assertEquals(total_price, order_line.getTotalPrice(fast=1))
+ self.assertEquals(total_price, order_line.getTotalPrice(fast=0))
+ self.assertEquals(total_quantity, order_line.getTotalQuantity(fast=1))
+ self.assertEquals(total_quantity, order_line.getTotalQuantity(fast=0))
def stepCheckOrderTotalQuantity(self, sequence=None, sequence_list=None, \
**kw):
@@ -512,8 +546,7 @@
Check the method getTotalQuantity on a order .
"""
- # FIXME : order needs to be indexed for 'fast' calculation to
- # work as expected
+ # order needs to be indexed for 'fast' calculation to work as expected
self.stepTic()
order = sequence.get('order')
@@ -533,8 +566,7 @@
Check the method getTotalPrice on a order .
"""
- # FIXME : order needs to be indexed for 'fast' calculation to
- # work as expected
+ # order needs to be indexed for 'fast' calculation to work as expected
self.stepTic()
order = sequence.get('order')
@@ -547,6 +579,31 @@
self.assertEquals(total_price, order.getTotalPrice())
self.assertEquals( order.getTotalPrice(fast = 0),
order.getTotalPrice(fast = 1) )
+
+ def stepCheckOrderTotalPriceAndQuantityFastParameter(self,
+ sequence=None, sequence_list=None, **kw):
+ """
+ Check the method getTotalPrice on a order .
+
+ Here we will look carefully at the parameter fast
+ """
+ portal_catalog = self.getCatalogTool()
+
+ order = sequence.get('order')
+ order_line_list = order.objectValues( \
+ portal_type=self.order_line_portal_type)
+ order_line_list = map(lambda x: x.getObject(), order_line_list)
+ total_price = 0
+ for order_line in order_line_list:
+ total_price += order_line.getTotalPrice(fast=0)
+ self.assertEquals(0, len(portal_catalog(relative_url=order.getRelativeUrl())))
+ self.assertEquals(total_price, order.getTotalPrice(fast=0))
+ self.assertNotEquals(total_price, 0)
+ self.assertEquals(0, order.getTotalPrice(fast=1))
+ self.stepTic()
+ self.assertEquals(1, len(portal_catalog(relative_url=order.getRelativeUrl())))
+ self.assertEquals(total_price, order.getTotalPrice(fast=1))
+ self.assertEquals(total_price, order.getTotalPrice(fast=0))
def stepCheckOrderInitialState(self, sequence=None, sequence_list=None, \
**kw):
@@ -920,7 +977,6 @@
non_variated_order_creation = '\
stepCreateOrder \
stepCreateNotVariatedResource \
- stepTic \
stepCreateOrderLine \
stepCheckOrderLineEmptyMatrix \
stepSetOrderLineResource \
@@ -931,7 +987,6 @@
variated_order_line_creation = '\
stepCreateOrder \
stepCreateVariatedResource \
- stepTic \
stepCreateOrderLine \
'
variated_line_completion = '\
@@ -944,6 +999,16 @@
'
variated_order_creation = variated_order_line_creation + \
variated_line_completion
+
+ variated_line_completion_without_tic = '\
+ stepSetOrderLineResource \
+ stepSetOrderLineDefaultValues \
+ stepCheckOrderLineDefaultValues \
+ stepSetOrderLineFullVCL \
+ stepCompleteOrderLineMatrix \
+ '
+ variated_order_creation_without_tic = variated_order_line_creation + \
+ variated_line_completion_without_tic
class TestOrder(TestOrderMixin, ERP5TypeTestCase):
"""
@@ -1200,6 +1265,21 @@
sequence_list.play(self)
+ def test_07b_OrderLine_getTotalPriceAndQuantityFastParameter(self, quiet=0, run=run_all_test):
+ """
+ Test method getTotalPrice on order line.
+ """
+ if not run: return
+ sequence_list = SequenceList()
+
+ # Test when resource has variations
+ sequence_string = self.variated_order_creation_without_tic + '\
+ stepCheckOrderLineTotalPriceAndQuantityFastParameter \
+ '
+ sequence_list.addSequenceString(sequence_string)
+
+ sequence_list.play(self)
+
def test_08_Order_testTotalQuantity(self, quiet=0, run=run_all_test):
"""
Test method getTotalQuantity on a order
@@ -1232,6 +1312,23 @@
stepSetOrderLineDefaultValues \
stepTic \
stepCheckOrderTotalQuantity \
+ '
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self)
+
+ def test_08b_Order_testTotalPriceAndQuantityFastParameter(self, quiet=0, run=run_all_test):
+ """
+ Test method getTotalQuantity on a order
+ """
+ if not run: return
+ sequence_list = SequenceList()
+ # Test whith multiples order line
+ sequence_string = self.variated_order_creation_without_tic + '\
+ stepCreateNotVariatedResource \
+ stepCreateOrderLine \
+ stepSetOrderLineResource \
+ stepSetOrderLineDefaultValues \
+ stepCheckOrderTotalPriceAndQuantityFastParameter \
'
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self)
More information about the Erp5-report
mailing list