Commit c9fb850f authored by Nicolas Wavrant's avatar Nicolas Wavrant

erp5_pdm_ui_test: add tests for the "price per slice" checkbox

To be sure that Cells are updated correctly when the pricing method is chosen
parent cf2f6192
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>resource_default_internal_supply_line_price_per_slice</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html>
<head><title>Test toggling price per slice updates internal supply cells correctly</title></head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="4">
Test quantity steps for price on internal supply line
</td></tr>
</thead>
<tbody tal:define="init_method string:PdmZuite_createDelivery?state=draft&delivery_type=Internal">
<!-- Setup {{{ -->
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/init" />
<!-- }}} -->
<tr>
<td>clickAndWait</td>
<td>link=Internal</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>field_my_internal_supply_line_base_unit_price</td>
<td>0.00001</td>
<!-- Enter quantity step list and check -->
<tr>
<td>type</td>
<td>field_my_internal_supply_line_quantity_step_list</td>
<td>11
21</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>assertText</td>
<td>field_my_internal_supply_line_quantity_step_list</td>
<td>11.0 21.0</td>
<tr>
<td>assertText</td>
<td>//input[@name="field_matrixbox_base_price_cell_0_0_0"]/../../../td[1]</td>
<td>Quantity &lt; 11.0</td>
</tr>
<tr>
<td>assertText</td>
<td>//input[@name="field_matrixbox_base_price_cell_1_0_0"]/../../../td[1]</td>
<td>11.0 &lt;= Quantity &lt; 21.0</td>
</tr>
<tr>
<td>assertText</td>
<td>//input[@name="field_matrixbox_base_price_cell_2_0_0"]/../../../td[1]</td>
<td>21.0 &lt;= Quantity</td>
</tr>
<tr>
<!-- Enter price per quantity step and check-->
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
<!-- Open Delivery Line with the product and check price is correct -->
<tr>
<td>open</td>
<td tal:content="string:$${base_url}/internal_packing_list_module/erp5_pdm_ui_test_delivery/1" />
<td></td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_quantity"]</td>
<td>15</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_price"]</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>assertFloatValue</td>
<td>//input[@name="field_my_price"]</td>
<td>9</td>
</tr>
<!-- Select the new method "Price per slice" on the Internal Supply
and enter the prices again-->
<tr>
<td>open</td>
<td>${base_url}/product_module/erp5_pdm_ui_test_product</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Internal</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/toggleInternalSupplyLineBasePricePerSlice" />
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
<!-- Open Delivery Line with the product and check price is correct -->
<tr>
<td>open</td>
<td tal:content="string:$${base_url}/internal_packing_list_module/erp5_pdm_ui_test_delivery/1" />
<td></td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_quantity"]</td>
<td>15</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_price"]</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>assertFloatValue</td>
<td>//input[@name="field_my_price"]</td>
<td>9.66667</td>
</tr>
<!-- Unselect the new method "Price per slice" on the Internal Supply
and enter the prices again-->
<tr>
<td>open</td>
<td>${base_url}/product_module/erp5_pdm_ui_test_product</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Internal</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/toggleInternalSupplyLineBasePricePerSlice" />
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
<!-- Open Delivery Line with the product and check price is correct -->
<tr>
<td>open</td>
<td tal:content="string:$${base_url}/internal_packing_list_module/erp5_pdm_ui_test_delivery/1" />
<td></td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_quantity"]</td>
<td>15</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_price"]</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>assertFloatValue</td>
<td>//input[@name="field_my_price"]</td>
<td>9</td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>resource_default_purchase_supply_line_price_per_slice</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html>
<head><title>Test toggling price per slice updates purchase supply cells correctly</title></head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="4">
Test quantity steps for price on purchase supply line
</td></tr>
</thead>
<tbody tal:define="init_method string:PdmZuite_createDelivery?state=draft&delivery_type=Purchase">
<!-- Setup {{{ -->
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/init" />
<!-- }}} -->
<tr>
<td>clickAndWait</td>
<td>link=Purchase</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>field_my_purchase_supply_line_base_unit_price</td>
<td>0.00001</td>
<!-- Enter quantity step list and check -->
<tr>
<td>type</td>
<td>field_my_purchase_supply_line_quantity_step_list</td>
<td>11
21</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>assertText</td>
<td>field_my_purchase_supply_line_quantity_step_list</td>
<td>11.0 21.0</td>
<tr>
<td>assertText</td>
<td>//input[@name="field_matrixbox_base_price_cell_0_0_0"]/../../../td[1]</td>
<td>Quantity &lt; 11.0</td>
</tr>
<tr>
<td>assertText</td>
<td>//input[@name="field_matrixbox_base_price_cell_1_0_0"]/../../../td[1]</td>
<td>11.0 &lt;= Quantity &lt; 21.0</td>
</tr>
<tr>
<td>assertText</td>
<td>//input[@name="field_matrixbox_base_price_cell_2_0_0"]/../../../td[1]</td>
<td>21.0 &lt;= Quantity</td>
</tr>
<tr>
<!-- Enter price per quantity step and check-->
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
<!-- Open Delivery Line with the product and check price is correct -->
<tr>
<td>open</td>
<td tal:content="string:$${base_url}/purchase_packing_list_module/erp5_pdm_ui_test_delivery/1" />
<td></td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_quantity"]</td>
<td>15</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_price"]</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>assertFloatValue</td>
<td>//input[@name="field_my_price"]</td>
<td>9</td>
</tr>
<!-- Select the new method "Price per slice" on the Purchase Supply
and enter the prices again-->
<tr>
<td>open</td>
<td>${base_url}/product_module/erp5_pdm_ui_test_product</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Purchase</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/togglePurchaseSupplyLineBasePricePerSlice" />
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
<!-- Open Delivery Line with the product and check price is correct -->
<tr>
<td>open</td>
<td tal:content="string:$${base_url}/purchase_packing_list_module/erp5_pdm_ui_test_delivery/1" />
<td></td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_quantity"]</td>
<td>15</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_price"]</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>assertFloatValue</td>
<td>//input[@name="field_my_price"]</td>
<td>9.66667</td>
</tr>
<!-- Unselect the new method "Price per slice" on the Purchase Supply
and enter the prices again-->
<tr>
<td>open</td>
<td>${base_url}/product_module/erp5_pdm_ui_test_product</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Purchase</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/togglePurchaseSupplyLineBasePricePerSlice" />
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
<!-- Open Delivery Line with the product and check price is correct -->
<tr>
<td>open</td>
<td tal:content="string:$${base_url}/purchase_packing_list_module/erp5_pdm_ui_test_delivery/1" />
<td></td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_quantity"]</td>
<td>15</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_price"]</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>assertFloatValue</td>
<td>//input[@name="field_my_price"]</td>
<td>9</td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>resource_default_sale_supply_line_price_per_slice</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html>
<head><title>Test toggling price per slice updates sale supply cells correctly</title></head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="4">
Test quantity steps for price on sale supply line
</td></tr>
</thead>
<tbody tal:define="init_method string:PdmZuite_createDelivery?state=draft">
<!-- Setup {{{ -->
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/init" />
<!-- }}} -->
<tr>
<td>clickAndWait</td>
<td>link=Sale</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>field_my_sale_supply_line_base_unit_price</td>
<td>0.00001</td>
<!-- Enter quantity step list and check -->
<tr>
<td>type</td>
<td>field_my_sale_supply_line_quantity_step_list</td>
<td>11
21</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>assertText</td>
<td>field_my_sale_supply_line_quantity_step_list</td>
<td>11.0 21.0</td>
<tr>
<td>assertText</td>
<td>//input[@name="field_matrixbox_base_price_cell_0_0_0"]/../../../td[1]</td>
<td>Quantity &lt; 11.0</td>
</tr>
<tr>
<td>assertText</td>
<td>//input[@name="field_matrixbox_base_price_cell_1_0_0"]/../../../td[1]</td>
<td>11.0 &lt;= Quantity &lt; 21.0</td>
</tr>
<tr>
<td>assertText</td>
<td>//input[@name="field_matrixbox_base_price_cell_2_0_0"]/../../../td[1]</td>
<td>21.0 &lt;= Quantity</td>
</tr>
<tr>
<!-- Enter price per quantity step and check-->
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
<!-- Open Delivery Line with the product and check price is correct -->
<tr>
<td>open</td>
<td tal:content="string:$${base_url}/sale_packing_list_module/erp5_pdm_ui_test_delivery/1" />
<td></td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_quantity"]</td>
<td>15</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_price"]</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>assertFloatValue</td>
<td>//input[@name="field_my_price"]</td>
<td>9</td>
</tr>
<!-- Select the new method "Price per slice" on the Sale Supply
and enter the prices again-->
<tr>
<td>open</td>
<td>${base_url}/product_module/erp5_pdm_ui_test_product</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Sale</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/toggleSaleSupplyLineBasePricePerSlice" />
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
<!-- Open Delivery Line with the product and check price is correct -->
<tr>
<td>open</td>
<td tal:content="string:$${base_url}/sale_packing_list_module/erp5_pdm_ui_test_delivery/1" />
<td></td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_quantity"]</td>
<td>15</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_price"]</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>assertFloatValue</td>
<td>//input[@name="field_my_price"]</td>
<td>9.66667</td>
</tr>
<!-- Unselect the new method "Price per slice" on the Sale Supply
and enter the prices again-->
<tr>
<td>open</td>
<td>${base_url}/product_module/erp5_pdm_ui_test_product</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Sale</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/toggleSaleSupplyLineBasePricePerSlice" />
<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
<!-- Open Delivery Line with the product and check price is correct -->
<tr>
<td>open</td>
<td tal:content="string:$${base_url}/sale_packing_list_module/erp5_pdm_ui_test_delivery/1" />
<td></td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_quantity"]</td>
<td>15</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_my_price"]</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>assertFloatValue</td>
<td>//input[@name="field_my_price"]</td>
<td>9</td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
......@@ -71,4 +71,82 @@
<td></td>
</tr>
</tal:block>
<tal:block metal:define-macro="toggleSaleSupplyLineBasePricePerSlice">
<tr>
<td>click</td>
<td>//input[@name="field_my_sale_supply_line_base_price_per_slice"]</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
</tal:block>
<tal:block metal:define-macro="togglePurchaseSupplyLineBasePricePerSlice">
<tr>
<td>click</td>
<td>//input[@name="field_my_purchase_supply_line_base_price_per_slice"]</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
</tal:block>
<tal:block metal:define-macro="toggleInternalSupplyLineBasePricePerSlice">
<tr>
<td>click</td>
<td>//input[@name="field_my_internal_supply_line_base_price_per_slice"]</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
</tal:block>
<tal:block metal:define-macro="enterAndCheckPricePerSliceInSupplyLine">
<tr>
<td>type</td>
<td>//input[@name="field_matrixbox_base_price_cell_0_0_0"]</td>
<td>10</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_matrixbox_base_price_cell_1_0_0"]</td>
<td>9</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name="field_matrixbox_base_price_cell_2_0_0"]</td>
<td>8</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>Base_edit:method</td>
<td></td>
</tr>
<tr>
<td>assertFloatValue</td>
<td>//input[@name="field_matrixbox_base_price_cell_0_0_0"]</td>
<td>10</td>
</tr>
<tr>
<td>assertFloatValue</td>
<td>//input[@name="field_matrixbox_base_price_cell_1_0_0"]</td>
<td>9</td>
</tr>
<tr>
<td>assertFloatValue</td>
<td>//input[@name="field_matrixbox_base_price_cell_2_0_0"]</td>
<td>8</td>
</tr>
<tr>
<td>open</td>
<td>${base_url}/Zuite_waitForActivities</td>
<td></td>
</tr>
</tal:block>
</tal:block>
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment