You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Jacques Le Roux <ja...@les7arts.com> on 2011/09/10 23:04:06 UTC
Re: svn commit: r1163084 - in /ofbiz/trunk: ./ applications/accounting/script/org/ofbiz/accounting/test/ applications/accounting/testdef/ framework/testtools/lib/ framework/testtools/src/org/ofbiz/testtools/ specialpurpose/ecommerce/data/
The AccountingConfig.properties file should be removed after the test
Thanks
Jacques
From: <ha...@apache.org>
> Author: hansbak
> Date: Tue Aug 30 04:25:28 2011
> New Revision: 1163084
>
> URL: http://svn.apache.org/viewvc?rev=1163084&view=rev
> Log:
> junit tests to test the change in r1163083 to have invoicing per order/or shipment. Also added spring jar files to be able to
> test ofbiz events.
>
> Added:
> ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml (with props)
> ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar (with props)
> ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar (with props)
> ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar (with props)
> Modified:
> ofbiz/trunk/.classpath
> ofbiz/trunk/applications/accounting/testdef/invoicetests.xml
> ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java
> ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml
>
> Modified: ofbiz/trunk/.classpath
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/.classpath?rev=1163084&r1=1163083&r2=1163084&view=diff
> ==============================================================================
> --- ofbiz/trunk/.classpath (original)
> +++ ofbiz/trunk/.classpath Tue Aug 30 04:25:28 2011
> @@ -158,6 +158,9 @@
> <classpathentry kind="lib" path="framework/service/lib/neethi-2.0.4.jar"/>
> <classpathentry kind="lib" path="framework/service/lib/XmlSchema-1.4.3.jar"/>
> <classpathentry kind="lib" path="framework/testtools/lib/selenium-java-client-driver.jar"/>
> + <classpathentry kind="lib" path="framework/testtools/lib/org.springframework.test-3.1.0.M2.jar"/>
> + <classpathentry kind="lib" path="framework/testtools/lib/org.springframework.web-3.1.0.M2.jar"/>
> + <classpathentry kind="lib" path="framework/testtools/lib/org.springframework.core-3.1.0.M2.jar"/>
> <classpathentry kind="lib" path="framework/webapp/lib/DataVision-1.0.0.jar"/>
> <classpathentry kind="lib" path="framework/webapp/lib/ezmorph-0.9.1.jar"/>
> <classpathentry kind="lib" path="framework/webapp/lib/iText-2.1.7.jar"/>
>
> Added: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml?rev=1163084&view=auto
> ==============================================================================
> --- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml (added)
> +++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml Tue Aug 30 04:25:28 2011
> @@ -0,0 +1,529 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> +Licensed to the Apache Software Foundation (ASF) under one
> +or more contributor license agreements. See the NOTICE file
> +distributed with this work for additional information
> +regarding copyright ownership. The ASF licenses this file
> +to you under the Apache License, Version 2.0 (the
> +"License"); you may not use this file except in compliance
> +with the License. You may obtain a copy of the License at
> +
> +http://www.apache.org/licenses/LICENSE-2.0
> +
> +Unless required by applicable law or agreed to in writing,
> +software distributed under the License is distributed on an
> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> +KIND, either express or implied. See the License for the
> +specific language governing permissions and limitations
> +under the License.
> +-->
> +
> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
> +
> + <simple-method method-name="testInvoicePerShipmentSetFalse" short-description="Test Invoice Per Shipment Set False"
> login-required="false">
> + <!-- Test Invoice Per Shipment
> + Step 1) Set create.invoice.per.shipment=N in AccountingConfig.properties file.
> + Step 2) Create order and approve order.
> + Step 3) Pack Shipment For Ship Group.
> + Step 4) Check invoice should not created.
> + -->
> + <!-- Step 1 -->
> + <call-bsh><![CDATA[
> + import org.ofbiz.base.util.UtilProperties;
> + UtilProperties.setPropertyValue("AccountingConfig.properties", "create.invoice.per.shipment", "N");
> + ]]></call-bsh>
> + <log level="info" message="===== >>> Set Accounting.properties / create.invoice.per.shipment = N"/>
> + <!-- Step 2 -->
> + <field-to-session field="nullField" session-name="orderMode"/>
> + <set field="request" from-field="parameters.request"/>
> + <set field="response" from-field="parameters.response"/>
> + <call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : routeOrderEntry, Response : ${result}"/>
> + <entity-one value-field="userLogin" entity-name="UserLogin">
> + <field-map field-name="userLoginId" value="admin"/>
> + </entity-one>
> + <call-bsh><![CDATA[
> + request.setParameter("orderMode", "SALES_ORDER");
> + request.setParameter("productStoreId", "9000");
> + request.setParameter("partyId", "DemoCustomer");
> + request.setParameter("currencyUom", "USD");
> + session = request.getSession();
> + session.setAttribute("userLogin", userLogin);
> + ]]></call-bsh>
> + <call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : initializeOrderEntry, Response : ${result}"/>
> + <call-class-method method-name="setOrderCurrencyAgreementShipDates"
> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : setOrderCurrencyAgreementShipDates, Response : ${result}"/>
> + <call-bsh><![CDATA[
> + request.setParameter("add_product_id", "GZ-1000");
> + ]]></call-bsh>
> + <call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : addToCart, Response : ${result}"/>
> + <call-bsh><![CDATA[
> + request.setParameter("checkoutpage", "quick");
> + request.setParameter("shipping_contact_mech_id", "9015");
> + request.setParameter("shipping_method", "GROUND@UPS");
> + request.setParameter("checkOutPaymentId", "EXT_COD");
> + request.setParameter("is_gift", "false");
> + request.setParameter("may_split", "false");
> + ]]></call-bsh>
> + <field-to-request field="nullField" request-name="shoppingCart"/>
> + <call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : setQuickCheckOutOptions, Response : ${result}"/>
>+ <call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : createOrder, Response : ${result}"/>
> + <call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : processPayment, Response : ${result}"/>
> + <call-service-asynch service-name="sendOrderConfirmation"/>
> + <call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : destroyCart, Response = ${result}"/>
> + <!-- Step 3 -->
> + <entity-condition list="orderHeaders" entity-name="OrderHeader">
> + <condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> + <order-by field-name="-entryDate"/>
> + </entity-condition>
> + <first-from-list entry="orderHeader" list="orderHeaders"/>
> + <log level="info" message="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx : ${orderHeader}"/>
> + <call-bsh><![CDATA[
> + import org.ofbiz.shipment.packing.PackingSession;
> + packingSession = new PackingSession(dispatcher, userLogin);
> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> + packingSession.setPrimaryShipGroupSeqId("00001");
> + parameters.put("packingSession", packingSession);
> + ]]></call-bsh>
> + <set field="packInput.orderId" from-field="orderHeader.orderId"/>
> + <set field="packInput.shipGroupSeqId" value="00001"/>
> + <set field="packInput.packingSession" from-field="parameters.packingSession"/>
> + <set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> + <set field="packInput.userLogin" from-field="userLogin"/>
> + <!-- Items -->
> + <set field="packInput.selInfo._1" value="Y"/>
> + <set field="packInput.pkgInfo._1" value="1"/>
> + <set field="packInput.qtyInfo._1" value="1"/>
> + <set field="packInput.prdInfo._1" value="GZ-1000"/>
> + <set field="packInput.iteInfo._1" value="00001"/>
> + <set field="packInput.wgtInfo._1" value="0"/>
> + <set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> + <set field="packInput.numPackagesInfo._1" value="1"/>
> + <call-service service-name="packBulkItems" in-map-name="packInput">
> + <result-to-field result-name="responseMessage"/>
> + </call-service>
> + <log level="info" message="===== >>> Service: packBulkItems, Response = ${responseMessage}"/>
> + <set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> + <call-service service-name="completePack" in-map-name="completePackInput">
> + <result-to-field result-name="shipmentId"/>
> + </call-service>
> + <log level="info" message="===== >>> Service: completePack, shipmentId = ${shipmentId}"/>
> + <!-- Step 4 -->
> + <entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> + <field-map field-name="orderId" from-field="orderHeader.orderId"/>
> + </entity-and>
> + <assert>
> + <if-empty field="invoices"/>
> + </assert>
> + <check-errors/>
> + </simple-method>
> + <simple-method method-name="testInvoicePerShipmentSetTrue" short-description="Test Invoice Per Shipment Set True"
> login-required="false">
> + <!-- Test Invoice Per Shipment
> + Step 1) Set create.invoice.per.shipment=N in AccountingConfig.properties file.
> + Step 2) Create order and approve order.
> + Step 3) Pack Shipment For Ship Group.
> + Step 4) Check invoice should created.
> + -->
> + <!-- Step 1 -->
> + <call-bsh><![CDATA[
> + import org.ofbiz.base.util.UtilProperties;
> + UtilProperties.setPropertyValue("AccountingConfig.properties", "create.invoice.per.shipment", "Y");
> + ]]></call-bsh>
> + <log level="info" message="===== >>> Set Accounting.properties / create.invoice.per.shipment = Y"/>
> + <!-- Step 2 -->
> + <field-to-session field="nullField" session-name="orderMode"/>
> + <set field="request" from-field="parameters.request"/>
> + <set field="response" from-field="parameters.response"/>
> + <call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : routeOrderEntry, Response = ${result}"/>
> + <entity-one value-field="userLogin" entity-name="UserLogin">
> + <field-map field-name="userLoginId" value="admin"/>
> + </entity-one>
> + <call-bsh><![CDATA[
> + request.setParameter("orderMode", "SALES_ORDER");
> + request.setParameter("productStoreId", "9000");
> + request.setParameter("partyId", "DemoCustomer");
> + request.setParameter("currencyUom", "USD");
> + session = request.getSession();
> + session.setAttribute("userLogin", userLogin);
> + ]]></call-bsh>
> + <call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : initializeOrderEntry, Response = ${result}"/>
> + <call-class-method method-name="setOrderCurrencyAgreementShipDates"
> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
> + <call-bsh><![CDATA[
> + request.setParameter("add_product_id", "GZ-1000");
> + ]]></call-bsh>
> + <call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : addToCart, Response = ${result}"/>
> + <call-bsh><![CDATA[
> + request.setParameter("checkoutpage", "quick");
> + request.setParameter("shipping_contact_mech_id", "9015");
> + request.setParameter("shipping_method", "GROUND@UPS");
> + request.setParameter("checkOutPaymentId", "EXT_COD");
> + request.setParameter("is_gift", "false");
> + request.setParameter("may_split", "false");
> + ]]></call-bsh>
> + <field-to-request field="nullField" request-name="shoppingCart"/>
> + <call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : setQuickCheckOutOptions, Response = ${result}"/>
> + <call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : createOrder, Response = ${result}"/>
> + <call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : processPayment, Response = ${result}"/>
> + <call-service-asynch service-name="sendOrderConfirmation"/>
> + <call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : destroyCart, Response = ${result}"/>
> + <!-- Step 3 -->
> + <entity-condition list="orderHeaders" entity-name="OrderHeader">
> + <condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> + <order-by field-name="-entryDate"/>
> + </entity-condition>
> + <first-from-list entry="orderHeader" list="orderHeaders"/>
> + <call-bsh><![CDATA[
> + import org.ofbiz.shipment.packing.PackingSession;
> + packingSession = new PackingSession(dispatcher, userLogin);
> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> + packingSession.setPrimaryShipGroupSeqId("00001");
> + parameters.put("packingSession", packingSession);
> + ]]></call-bsh>
> + <set field="packInput.orderId" from-field="orderHeader.orderId"/>
> + <set field="packInput.shipGroupSeqId" value="00001"/>
> + <set field="packInput.packingSession" from-field="parameters.packingSession"/>
> + <set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> + <set field="packInput.userLogin" from-field="userLogin"/>
> + <!-- Items -->
> + <set field="packInput.selInfo._1" value="Y"/>
> + <set field="packInput.pkgInfo._1" value="1"/>
> + <set field="packInput.qtyInfo._1" value="1"/>
> + <set field="packInput.prdInfo._1" value="GZ-1000"/>
> + <set field="packInput.iteInfo._1" value="00001"/>
> + <set field="packInput.wgtInfo._1" value="0"/>
> + <set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> + <set field="packInput.numPackagesInfo._1" value="1"/>
> + <call-service service-name="packBulkItems" in-map-name="packInput">
> + <result-to-field result-name="responseMessage"/>
> + </call-service>
> + <log level="info" message="===== >>> Service: packBulkItems, Response = ${responseMessage}"/>
> + <set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> + <call-service service-name="completePack" in-map-name="completePackInput">
> + <result-to-field result-name="shipmentId"/>
> + </call-service>
> + <log level="info" message="===== >>> Service: completePack, shipmentId = ${shipmentId}"/>
> + <!-- Step 4 -->
> + <entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> + <field-map field-name="orderId" from-field="orderHeader.orderId"/>
> + </entity-and>
> + <assert>
> + <not><if-empty field="invoices"/></not>
> + </assert>
> + <check-errors/>
> + </simple-method>
> + <simple-method method-name="testInvoicePerShipmentSetOrderFalse" short-description="Test Invoice Per Shipment Set Order
> False" login-required="false">
> + <!-- Test Invoice Per Shipment
> + Step 1) Create order and set invoicePerShipment=N.
> + Step 2) Pack Shipment For Ship Group.
> + Step 3) Check invoice should not created.
> + -->
> + <!-- Step 1 -->
> + <field-to-session field="nullField" session-name="orderMode"/>
> + <set field="request" from-field="parameters.request"/>
> + <set field="response" from-field="parameters.response"/>
> + <call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : routeOrderEntry, Response = ${result}"/>
> + <entity-one value-field="userLogin" entity-name="UserLogin">
> + <field-map field-name="userLoginId" value="admin"/>
> + </entity-one>
> + <call-bsh><![CDATA[
> + request.setParameter("orderMode", "SALES_ORDER");
> + request.setParameter("productStoreId", "9000");
> + request.setParameter("partyId", "DemoCustomer");
> + request.setParameter("currencyUom", "USD");
> + session = request.getSession();
> + session.setAttribute("userLogin", userLogin);
> + ]]></call-bsh>
> + <call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : initializeOrderEntry, Response = ${result}"/>
> + <call-class-method method-name="setOrderCurrencyAgreementShipDates"
> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
> + <call-bsh><![CDATA[
> + request.setParameter("add_product_id", "GZ-2644");
> + ]]></call-bsh>
> + <call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : addToCart, Response = ${result}"/>
> + <call-bsh><![CDATA[
> + request.setParameter("checkoutpage", "quick");
> + request.setParameter("shipping_contact_mech_id", "9015");
> + request.setParameter("shipping_method", "GROUND@UPS");
> + request.setParameter("checkOutPaymentId", "EXT_COD");
> + request.setParameter("is_gift", "false");
> + request.setParameter("may_split", "false");
> + ]]></call-bsh>
> + <field-to-request field="nullField" request-name="shoppingCart"/>
> + <call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : setQuickCheckOutOptions, Response = ${result}"/>
> + <call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : createOrder, Response = ${result}"/>
> + <call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : processPayment, Response = ${result}"/>
> + <call-service-asynch service-name="sendOrderConfirmation"/>
> + <call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : destroyCart, Response = ${result}"/>
> + <entity-condition list="orderHeaders" entity-name="OrderHeader">
> + <condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> + <order-by field-name="-entryDate"/>
> + </entity-condition>
> + <first-from-list entry="orderHeader" list="orderHeaders"/>
> + <set field="orderInput.orderId" from-field="orderHeader.orderId"/>
> + <set field="orderInput.invoicePerShipment" value="N"/>
> + <set field="orderInput.userLogin" from-field="userLogin"/>
> + <call-service service-name="updateOrderHeader" in-map-name="orderInput">
> + <result-to-field result-name="responseMessage"/>
> + </call-service>
> + <log level="info" message="===== >>> Service : updateOrderHeader / invoicePerShipment = N, Response =
> ${responseMessage}"/>
> + <!-- Step 2 -->
> + <call-bsh><![CDATA[
> + import org.ofbiz.shipment.packing.PackingSession;
> + packingSession = new PackingSession(dispatcher, userLogin);
> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> + packingSession.setPrimaryShipGroupSeqId("00001");
> + parameters.put("packingSession", packingSession);
> + ]]></call-bsh>
> + <set field="packInput.orderId" from-field="orderHeader.orderId"/>
> + <set field="packInput.shipGroupSeqId" value="00001"/>
> + <set field="packInput.packingSession" from-field="parameters.packingSession"/>
> + <set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> + <set field="packInput.userLogin" from-field="userLogin"/>
> + <!-- Items -->
> + <set field="packInput.selInfo._1" value="Y"/>
> + <set field="packInput.pkgInfo._1" value="1"/>
> + <set field="packInput.qtyInfo._1" value="1"/>
> + <set field="packInput.prdInfo._1" value="GZ-2644"/>
> + <set field="packInput.iteInfo._1" value="00001"/>
> + <set field="packInput.wgtInfo._1" value="0"/>
> + <set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> + <set field="packInput.numPackagesInfo._1" value="1"/>
> + <call-service service-name="packBulkItems" in-map-name="packInput">
> + <result-to-field result-name="responseMessage"/>
> + </call-service>
> + <log level="info" message="===== >>> Service: packBulkItems, Response = ${responseMessage}"/>
> + <set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> + <call-service service-name="completePack" in-map-name="completePackInput">
> + <result-to-field result-name="shipmentId"/>
> + </call-service>
> + <log level="info" message="===== >>> Service: completePack, shipmentId = ${shipmentId}"/>
> + <!-- Step 3 -->
> + <entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> + <field-map field-name="orderId" from-field="orderHeader.orderId"/>
> + </entity-and>
> + <assert>
> + <if-empty field="invoices"/>
> + </assert>
> + <check-errors/>
> + </simple-method>
> + <simple-method method-name="testInvoicePerShipmentSetOrderTrue" short-description="Test Invoice Per Shipment Set Order True"
> login-required="false">
> + <!-- Test Invoice Per Shipment
> + Step 1) Create order and set invoicePerShipment=Y.
> + Step 2) Pack Shipment For Ship Group.
> + Step 3) Check invoice should created.
> + -->
> + <!-- Step 1 -->
> + <field-to-session field="nullField" session-name="orderMode"/>
> + <set field="request" from-field="parameters.request"/>
> + <set field="response" from-field="parameters.response"/>
> + <call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : routeOrderEntry, Response = ${result}"/>
> + <entity-one value-field="userLogin" entity-name="UserLogin">
> + <field-map field-name="userLoginId" value="admin"/>
> + </entity-one>
> + <call-bsh><![CDATA[
> + request.setParameter("orderMode", "SALES_ORDER");
> + request.setParameter("productStoreId", "9000");
> + request.setParameter("partyId", "DemoCustomer");
> + request.setParameter("currencyUom", "USD");
> + session = request.getSession();
> + session.setAttribute("userLogin", userLogin);
> + ]]></call-bsh>
> + <call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : initializeOrderEntry, Response = ${result}"/>
> + <call-class-method method-name="setOrderCurrencyAgreementShipDates"
> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
> + <call-bsh><![CDATA[
> + request.setParameter("add_product_id", "GZ-2644");
> + ]]></call-bsh>
> + <call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : addToCart, Response = ${result}"/>
> + <call-bsh><![CDATA[
> + request.setParameter("checkoutpage", "quick");
> + request.setParameter("shipping_contact_mech_id", "9015");
> + request.setParameter("shipping_method", "GROUND@UPS");
> + request.setParameter("checkOutPaymentId", "EXT_COD");
> + request.setParameter("is_gift", "false");
> + request.setParameter("may_split", "false");
> + ]]></call-bsh>
> + <field-to-request field="nullField" request-name="shoppingCart"/>
> + <call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : setQuickCheckOutOptions, Response = ${result}"/>
> + <call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : createOrder, Response = ${result}"/>
> + <call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : processPayment, Response = ${result}"/>
> + <call-service-asynch service-name="sendOrderConfirmation"/>
> + <call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> ret-field="result">
> + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> + </call-class-method>
> + <log level="info" message="===== >>> Event : destroyCart, Response = ${result}"/>
> + <entity-condition list="orderHeaders" entity-name="OrderHeader">
> + <condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> + <order-by field-name="-entryDate"/>
> + </entity-condition>
> + <first-from-list entry="orderHeader" list="orderHeaders"/>
> + <set field="orderInput.orderId" from-field="orderHeader.orderId"/>
> + <set field="orderInput.invoicePerShipment" value="Y"/>
> + <set field="orderInput.userLogin" from-field="userLogin"/>
> + <call-service service-name="updateOrderHeader" in-map-name="orderInput">
> + <result-to-field result-name="responseMessage"/>
> + </call-service>
> + <log level="info" message="===== >>> Service : updateOrderHeader / invoicePerShipment = Y, Response =
> ${responseMessage}"/>
> + <!-- Step 2 -->
> + <call-bsh><![CDATA[
> + import org.ofbiz.shipment.packing.PackingSession;
> + packingSession = new PackingSession(dispatcher, userLogin);
> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> + packingSession.setPrimaryShipGroupSeqId("00001");
> + parameters.put("packingSession", packingSession);
> + ]]></call-bsh>
> + <set field="packInput.orderId" from-field="orderHeader.orderId"/>
> + <set field="packInput.shipGroupSeqId" value="00001"/>
> + <set field="packInput.packingSession" from-field="parameters.packingSession"/>
> + <set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> + <set field="packInput.userLogin" from-field="userLogin"/>
> + <!-- Items -->
> + <set field="packInput.selInfo._1" value="Y"/>
> + <set field="packInput.pkgInfo._1" value="1"/>
> + <set field="packInput.qtyInfo._1" value="1"/>
> + <set field="packInput.prdInfo._1" value="GZ-2644"/>
> + <set field="packInput.iteInfo._1" value="00001"/>
> + <set field="packInput.wgtInfo._1" value="0"/>
> + <set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> + <set field="packInput.numPackagesInfo._1" value="1"/>
> + <call-service service-name="packBulkItems" in-map-name="packInput">
> + <result-to-field result-name="responseMessage"/>
> + </call-service>
> + <log level="info" message="===== >>> Service: packBulkItems, Response = ${responseMessage}"/>
> + <set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> + <call-service service-name="completePack" in-map-name="completePackInput">
> + <result-to-field result-name="shipmentId"/>
> + </call-service>
> + <log level="info" message="===== >>> Service: completePack, shipmentId = ${shipmentId}"/>
> + <!-- Step 3 -->
> + <entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> + <field-map field-name="orderId" from-field="orderHeader.orderId"/>
> + </entity-and>
> + <assert>
> + <not><if-empty field="invoices"/></not>
> + </assert>
> + <check-errors/>
> + </simple-method>
> +</simple-methods>
>
> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> ------------------------------------------------------------------------------
> svn:keywords = "Date Rev Author URL Id"
>
> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> ------------------------------------------------------------------------------
> svn:mime-type = text/xml
>
> Modified: ofbiz/trunk/applications/accounting/testdef/invoicetests.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/testdef/invoicetests.xml?rev=1163084&r1=1163083&r2=1163084&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/accounting/testdef/invoicetests.xml (original)
> +++ ofbiz/trunk/applications/accounting/testdef/invoicetests.xml Tue Aug 30 04:25:28 2011
> @@ -25,5 +25,7 @@
> <test-case case-name="auto-invoice-tests">
> <simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/AutoInvoiceTests.xml"/>
> </test-case>
> -
> + <test-case case-name="invoice-per-shipment-tests">
> + <simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml"/>
> + </test-case>
> </test-suite>
>
> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar?rev=1163084&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar
> ------------------------------------------------------------------------------
> svn:mime-type = application/octet-stream
>
> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar?rev=1163084&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar
> ------------------------------------------------------------------------------
> svn:mime-type = application/octet-stream
>
> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar?rev=1163084&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar
> ------------------------------------------------------------------------------
> svn:mime-type = application/octet-stream
>
> Modified: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java?rev=1163084&r1=1163083&r2=1163084&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java (original)
> +++ ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java Tue Aug 30 04:25:28 2011
> @@ -30,8 +30,16 @@ import org.ofbiz.base.util.UtilMisc;
> import org.ofbiz.base.util.UtilValidate;
> import org.ofbiz.minilang.MiniLangException;
> import org.ofbiz.minilang.SimpleMethod;
> +import org.ofbiz.security.Security;
> +import org.ofbiz.security.SecurityConfigurationException;
> +import org.ofbiz.security.SecurityFactory;
> import org.ofbiz.service.ModelService;
> import org.ofbiz.service.testtools.OFBizTestCase;
> +
> +import org.springframework.mock.web.MockHttpServletRequest;
> +import org.springframework.mock.web.MockHttpServletResponse;
> +import org.springframework.mock.web.MockServletContext;
> +
> import org.w3c.dom.Element;
>
> public class SimpleMethodTest extends OFBizTestCase {
> @@ -40,6 +48,9 @@ public class SimpleMethodTest extends OF
>
> protected String methodLocation;
> protected String methodName;
> +
> + public static MockHttpServletRequest request = new MockHttpServletRequest();
> + public static MockHttpServletResponse response = new MockHttpServletResponse();
>
> /**
> * Tests of Simple Method
> @@ -64,11 +75,17 @@ public class SimpleMethodTest extends OF
> @Override
> public void run(TestResult result) {
> result.startTest(this);
> -
> +
> try {
> -
> + // define request
> + Security security = SecurityFactory.getInstance(delegator);
> + MockServletContext servletContext = new MockServletContext();
> + request.setAttribute("security", security);
> + request.setAttribute("servletContext", servletContext);
> + request.setAttribute("delegator", delegator);
> + request.setAttribute("dispatcher", dispatcher);
> Map<String, Object> serviceResult = SimpleMethod.runSimpleService(methodLocation, methodName,
> dispatcher.getDispatchContext(),
> - UtilMisc.toMap("test", this, "testResult", result, "locale", Locale.getDefault()));
> + UtilMisc.toMap("test", this, "testResult", result, "locale", Locale.getDefault(), "request", request,
> "response", response));
>
> // do something with the errorMessage
> String errorMessage = (String) serviceResult.get(ModelService.ERROR_MESSAGE);
> @@ -94,6 +111,8 @@ public class SimpleMethodTest extends OF
>
> } catch (MiniLangException e) {
> result.addError(this, e);
> + } catch (SecurityConfigurationException e) {
> + result.addError(this, e);
> }
>
> result.endTest(this);
>
> Modified: ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml?rev=1163084&r1=1163083&r2=1163084&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml (original)
> +++ ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml Tue Aug 30 04:25:28 2011
> @@ -20,7 +20,7 @@ under the License.
>
> <entity-engine-xml>
> <!--Demo data for a sales order -->
> - <OrderHeader orderId="DEMO10090" orderTypeId="SALES_ORDER" orderName="" salesChannelEnumId="WEB_SALES_CHANNEL"
> orderDate="2008-04-23 16:49:27.392" entryDate="2008-04-23 16:49:27.392" priority="2" visitId="10002" statusId="ORDER_APPROVED"
> createdBy="admin" currencyUom="USD" webSiteId="OrderEntry" productStoreId="9000" remainingSubTotal="38.40" grandTotal="50.85"
> lastUpdatedStamp="2008-04-23 16:49:33.196" lastUpdatedTxStamp="2008-04-23 16:49:33.118" createdStamp="2008-04-23 16:49:27.716"
> createdTxStamp="2008-04-23 16:49:27.349"/>
> + <OrderHeader orderId="DEMO10090" orderTypeId="SALES_ORDER" orderName="" salesChannelEnumId="WEB_SALES_CHANNEL"
> orderDate="2008-04-23 16:49:27.392" entryDate="2008-04-23 16:49:27.392" priority="2" visitId="10002" statusId="ORDER_APPROVED"
> createdBy="admin" currencyUom="USD" webSiteId="OrderEntry" productStoreId="9000" remainingSubTotal="38.40" grandTotal="50.85"
> invoicePerShipment="Y" lastUpdatedStamp="2008-04-23 16:49:33.196" lastUpdatedTxStamp="2008-04-23 16:49:33.118"
> createdStamp="2008-04-23 16:49:27.716" createdTxStamp="2008-04-23 16:49:27.349"/>
> <OrderItem orderId="DEMO10090" orderItemSeqId="00001" orderItemTypeId="PRODUCT_ORDER_ITEM" productId="GZ-2644"
> prodCatalogId="DemoCatalog" isPromo="N" quantity="2.0" selectedAmount="0.0" unitPrice="38.4" unitListPrice="48.0"
> isModifiedPrice="N" itemDescription="Round Gizmo" correspondingPoId="" statusId="ITEM_APPROVED" lastUpdatedStamp="2008-04-23
> 16:49:33.514" lastUpdatedTxStamp="2008-04-23 16:49:33.484" createdStamp="2008-04-23 16:49:28.128" createdTxStamp="2008-04-23
> 16:49:27.349"/>
> <OrderItemPriceInfo orderItemPriceInfoId="9000" orderId="DEMO10090" orderItemSeqId="00001" productPriceRuleId="9000"
> productPriceActionSeqId="01" modifyAmount="-9.600" description="[PRODUCT_CATEGORY_IDIsPROMOTIONS]
> [list:48.0;avgCost:48.0;margin:0.0] [type:PRICE_POL]" lastUpdatedStamp="2008-04-23 16:49:28.682" lastUpdatedTxStamp="2008-04-23
> 16:49:27.349" createdStamp="2008-04-23 16:49:28.682" createdTxStamp="2008-04-23 16:49:27.349"/>
>
>
>
Re: svn commit: r1163084 - in /ofbiz/trunk: ./
applications/accounting/script/org/ofbiz/accounting/test/
applications/accounting/testdef/ framework/testtools/lib/
framework/testtools/src/org/ofbiz/testtools/ specialpurpose/ecommerce/data/
Posted by Hans Bakker <ma...@antwebsystems.com>.
Thank you for reporting Jacques and Adrian.
Committed revision 1170063
Regards,
Hans
On Mon, 2011-09-12 at 23:01 +0200, Jacques Le Roux wrote:
> Bump...
>
> Jacques
>
> From: "Adrian Crum" <ad...@sandglass-software.com>
> >I noticed that too. A file is created in the main ofbiz folder and it is not deleted after the test.
> >
> > -Adrian
> >
> > On 9/11/2011 1:00 AM, Hans Bakker wrote:
> >> not sure what you mean here Jacques?
> >>
> >> On Sat, 2011-09-10 at 23:04 +0200, Jacques Le Roux wrote:
> >>> The AccountingConfig.properties file should be removed after the test
> >>>
> >>> Thanks
> >>>
> >>> Jacques
> >>>
> >>> From:<ha...@apache.org>
> >>>> Author: hansbak
> >>>> Date: Tue Aug 30 04:25:28 2011
> >>>> New Revision: 1163084
> >>>>
> >>>> URL: http://svn.apache.org/viewvc?rev=1163084&view=rev
> >>>> Log:
> >>>> junit tests to test the change in r1163083 to have invoicing per order/or shipment. Also added spring jar files to be able to
> >>>> test ofbiz events.
> >>>>
> >>>> Added:
> >>>> ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml (with props)
> >>>> ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar (with props)
> >>>> ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar (with props)
> >>>> ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar (with props)
> >>>> Modified:
> >>>> ofbiz/trunk/.classpath
> >>>> ofbiz/trunk/applications/accounting/testdef/invoicetests.xml
> >>>> ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java
> >>>> ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml
> >>>>
> >>>> Modified: ofbiz/trunk/.classpath
> >>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/.classpath?rev=1163084&r1=1163083&r2=1163084&view=diff
> >>>> ==============================================================================
> >>>> --- ofbiz/trunk/.classpath (original)
> >>>> +++ ofbiz/trunk/.classpath Tue Aug 30 04:25:28 2011
> >>>> @@ -158,6 +158,9 @@
> >>>> <classpathentry kind="lib" path="framework/service/lib/neethi-2.0.4.jar"/>
> >>>> <classpathentry kind="lib" path="framework/service/lib/XmlSchema-1.4.3.jar"/>
> >>>> <classpathentry kind="lib" path="framework/testtools/lib/selenium-java-client-driver.jar"/>
> >>>> +<classpathentry kind="lib" path="framework/testtools/lib/org.springframework.test-3.1.0.M2.jar"/>
> >>>> +<classpathentry kind="lib" path="framework/testtools/lib/org.springframework.web-3.1.0.M2.jar"/>
> >>>> +<classpathentry kind="lib" path="framework/testtools/lib/org.springframework.core-3.1.0.M2.jar"/>
> >>>> <classpathentry kind="lib" path="framework/webapp/lib/DataVision-1.0.0.jar"/>
> >>>> <classpathentry kind="lib" path="framework/webapp/lib/ezmorph-0.9.1.jar"/>
> >>>> <classpathentry kind="lib" path="framework/webapp/lib/iText-2.1.7.jar"/>
> >>>>
> >>>> Added: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml?rev=1163084&view=auto
> >>>> ==============================================================================
> >>>> --- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml (added)
> >>>> +++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml Tue Aug 30 04:25:28 2011
> >>>> @@ -0,0 +1,529 @@
> >>>> +<?xml version="1.0" encoding="UTF-8"?>
> >>>> +<!--
> >>>> +Licensed to the Apache Software Foundation (ASF) under one
> >>>> +or more contributor license agreements. See the NOTICE file
> >>>> +distributed with this work for additional information
> >>>> +regarding copyright ownership. The ASF licenses this file
> >>>> +to you under the Apache License, Version 2.0 (the
> >>>> +"License"); you may not use this file except in compliance
> >>>> +with the License. You may obtain a copy of the License at
> >>>> +
> >>>> +http://www.apache.org/licenses/LICENSE-2.0
> >>>> +
> >>>> +Unless required by applicable law or agreed to in writing,
> >>>> +software distributed under the License is distributed on an
> >>>> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> >>>> +KIND, either express or implied. See the License for the
> >>>> +specific language governing permissions and limitations
> >>>> +under the License.
> >>>> +-->
> >>>> +
> >>>> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >>>> + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
> >>>> +
> >>>> +<simple-method method-name="testInvoicePerShipmentSetFalse" short-description="Test Invoice Per Shipment Set False"
> >>>> login-required="false">
> >>>> +<!-- Test Invoice Per Shipment
> >>>> + Step 1) Set create.invoice.per.shipment=N in AccountingConfig.properties file.
> >>>> + Step 2) Create order and approve order.
> >>>> + Step 3) Pack Shipment For Ship Group.
> >>>> + Step 4) Check invoice should not created.
> >>>> + -->
> >>>> +<!-- Step 1 -->
> >>>> +<call-bsh><![CDATA[
> >>>> + import org.ofbiz.base.util.UtilProperties;
> >>>> + UtilProperties.setPropertyValue("AccountingConfig.properties", "create.invoice.per.shipment", "N");
> >>>> + ]]></call-bsh>
> >>>> +<log level="info" message="=====>>> Set Accounting.properties / create.invoice.per.shipment = N"/>
> >>>> +<!-- Step 2 -->
> >>>> +<field-to-session field="nullField" session-name="orderMode"/>
> >>>> +<set field="request" from-field="parameters.request"/>
> >>>> +<set field="response" from-field="parameters.response"/>
> >>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response : ${result}"/>
> >>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
> >>>> +<field-map field-name="userLoginId" value="admin"/>
> >>>> +</entity-one>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("orderMode", "SALES_ORDER");
> >>>> + request.setParameter("productStoreId", "9000");
> >>>> + request.setParameter("partyId", "DemoCustomer");
> >>>> + request.setParameter("currencyUom", "USD");
> >>>> + session = request.getSession();
> >>>> + session.setAttribute("userLogin", userLogin);
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response : ${result}"/>
> >>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
> >>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response : ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("add_product_id", "GZ-1000");
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : addToCart, Response : ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("checkoutpage", "quick");
> >>>> + request.setParameter("shipping_contact_mech_id", "9015");
> >>>> + request.setParameter("shipping_method", "GROUND@UPS");
> >>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
> >>>> + request.setParameter("is_gift", "false");
> >>>> + request.setParameter("may_split", "false");
> >>>> + ]]></call-bsh>
> >>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
> >>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response : ${result}"/>
> >>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : createOrder, Response : ${result}"/>
> >>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : processPayment, Response : ${result}"/>
> >>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
> >>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
> >>>> +<!-- Step 3 -->
> >>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
> >>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> >>>> +<order-by field-name="-entryDate"/>
> >>>> +</entity-condition>
> >>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
> >>>> +<log level="info" message="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx : ${orderHeader}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + import org.ofbiz.shipment.packing.PackingSession;
> >>>> + packingSession = new PackingSession(dispatcher, userLogin);
> >>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> >>>> + packingSession.setPrimaryShipGroupSeqId("00001");
> >>>> + parameters.put("packingSession", packingSession);
> >>>> + ]]></call-bsh>
> >>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
> >>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
> >>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
> >>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> >>>> +<set field="packInput.userLogin" from-field="userLogin"/>
> >>>> +<!-- Items -->
> >>>> +<set field="packInput.selInfo._1" value="Y"/>
> >>>> +<set field="packInput.pkgInfo._1" value="1"/>
> >>>> +<set field="packInput.qtyInfo._1" value="1"/>
> >>>> +<set field="packInput.prdInfo._1" value="GZ-1000"/>
> >>>> +<set field="packInput.iteInfo._1" value="00001"/>
> >>>> +<set field="packInput.wgtInfo._1" value="0"/>
> >>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> >>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
> >>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
> >>>> +<result-to-field result-name="responseMessage"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
> >>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> >>>> +<call-service service-name="completePack" in-map-name="completePackInput">
> >>>> +<result-to-field result-name="shipmentId"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
> >>>> +<!-- Step 4 -->
> >>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> >>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
> >>>> +</entity-and>
> >>>> +<assert>
> >>>> +<if-empty field="invoices"/>
> >>>> +</assert>
> >>>> +<check-errors/>
> >>>> +</simple-method>
> >>>> +<simple-method method-name="testInvoicePerShipmentSetTrue" short-description="Test Invoice Per Shipment Set True"
> >>>> login-required="false">
> >>>> +<!-- Test Invoice Per Shipment
> >>>> + Step 1) Set create.invoice.per.shipment=N in AccountingConfig.properties file.
> >>>> + Step 2) Create order and approve order.
> >>>> + Step 3) Pack Shipment For Ship Group.
> >>>> + Step 4) Check invoice should created.
> >>>> + -->
> >>>> +<!-- Step 1 -->
> >>>> +<call-bsh><![CDATA[
> >>>> + import org.ofbiz.base.util.UtilProperties;
> >>>> + UtilProperties.setPropertyValue("AccountingConfig.properties", "create.invoice.per.shipment", "Y");
> >>>> + ]]></call-bsh>
> >>>> +<log level="info" message="=====>>> Set Accounting.properties / create.invoice.per.shipment = Y"/>
> >>>> +<!-- Step 2 -->
> >>>> +<field-to-session field="nullField" session-name="orderMode"/>
> >>>> +<set field="request" from-field="parameters.request"/>
> >>>> +<set field="response" from-field="parameters.response"/>
> >>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response = ${result}"/>
> >>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
> >>>> +<field-map field-name="userLoginId" value="admin"/>
> >>>> +</entity-one>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("orderMode", "SALES_ORDER");
> >>>> + request.setParameter("productStoreId", "9000");
> >>>> + request.setParameter("partyId", "DemoCustomer");
> >>>> + request.setParameter("currencyUom", "USD");
> >>>> + session = request.getSession();
> >>>> + session.setAttribute("userLogin", userLogin);
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response = ${result}"/>
> >>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
> >>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("add_product_id", "GZ-1000");
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : addToCart, Response = ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("checkoutpage", "quick");
> >>>> + request.setParameter("shipping_contact_mech_id", "9015");
> >>>> + request.setParameter("shipping_method", "GROUND@UPS");
> >>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
> >>>> + request.setParameter("is_gift", "false");
> >>>> + request.setParameter("may_split", "false");
> >>>> + ]]></call-bsh>
> >>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
> >>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response = ${result}"/>
> >>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : createOrder, Response = ${result}"/>
> >>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : processPayment, Response = ${result}"/>
> >>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
> >>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
> >>>> +<!-- Step 3 -->
> >>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
> >>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> >>>> +<order-by field-name="-entryDate"/>
> >>>> +</entity-condition>
> >>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + import org.ofbiz.shipment.packing.PackingSession;
> >>>> + packingSession = new PackingSession(dispatcher, userLogin);
> >>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> >>>> + packingSession.setPrimaryShipGroupSeqId("00001");
> >>>> + parameters.put("packingSession", packingSession);
> >>>> + ]]></call-bsh>
> >>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
> >>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
> >>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
> >>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> >>>> +<set field="packInput.userLogin" from-field="userLogin"/>
> >>>> +<!-- Items -->
> >>>> +<set field="packInput.selInfo._1" value="Y"/>
> >>>> +<set field="packInput.pkgInfo._1" value="1"/>
> >>>> +<set field="packInput.qtyInfo._1" value="1"/>
> >>>> +<set field="packInput.prdInfo._1" value="GZ-1000"/>
> >>>> +<set field="packInput.iteInfo._1" value="00001"/>
> >>>> +<set field="packInput.wgtInfo._1" value="0"/>
> >>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> >>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
> >>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
> >>>> +<result-to-field result-name="responseMessage"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
> >>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> >>>> +<call-service service-name="completePack" in-map-name="completePackInput">
> >>>> +<result-to-field result-name="shipmentId"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
> >>>> +<!-- Step 4 -->
> >>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> >>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
> >>>> +</entity-and>
> >>>> +<assert>
> >>>> +<not><if-empty field="invoices"/></not>
> >>>> +</assert>
> >>>> +<check-errors/>
> >>>> +</simple-method>
> >>>> +<simple-method method-name="testInvoicePerShipmentSetOrderFalse" short-description="Test Invoice Per Shipment Set Order
> >>>> False" login-required="false">
> >>>> +<!-- Test Invoice Per Shipment
> >>>> + Step 1) Create order and set invoicePerShipment=N.
> >>>> + Step 2) Pack Shipment For Ship Group.
> >>>> + Step 3) Check invoice should not created.
> >>>> + -->
> >>>> +<!-- Step 1 -->
> >>>> +<field-to-session field="nullField" session-name="orderMode"/>
> >>>> +<set field="request" from-field="parameters.request"/>
> >>>> +<set field="response" from-field="parameters.response"/>
> >>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response = ${result}"/>
> >>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
> >>>> +<field-map field-name="userLoginId" value="admin"/>
> >>>> +</entity-one>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("orderMode", "SALES_ORDER");
> >>>> + request.setParameter("productStoreId", "9000");
> >>>> + request.setParameter("partyId", "DemoCustomer");
> >>>> + request.setParameter("currencyUom", "USD");
> >>>> + session = request.getSession();
> >>>> + session.setAttribute("userLogin", userLogin);
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response = ${result}"/>
> >>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
> >>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("add_product_id", "GZ-2644");
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : addToCart, Response = ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("checkoutpage", "quick");
> >>>> + request.setParameter("shipping_contact_mech_id", "9015");
> >>>> + request.setParameter("shipping_method", "GROUND@UPS");
> >>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
> >>>> + request.setParameter("is_gift", "false");
> >>>> + request.setParameter("may_split", "false");
> >>>> + ]]></call-bsh>
> >>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
> >>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response = ${result}"/>
> >>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : createOrder, Response = ${result}"/>
> >>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : processPayment, Response = ${result}"/>
> >>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
> >>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
> >>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
> >>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> >>>> +<order-by field-name="-entryDate"/>
> >>>> +</entity-condition>
> >>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
> >>>> +<set field="orderInput.orderId" from-field="orderHeader.orderId"/>
> >>>> +<set field="orderInput.invoicePerShipment" value="N"/>
> >>>> +<set field="orderInput.userLogin" from-field="userLogin"/>
> >>>> +<call-service service-name="updateOrderHeader" in-map-name="orderInput">
> >>>> +<result-to-field result-name="responseMessage"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service : updateOrderHeader / invoicePerShipment = N, Response =
> >>>> ${responseMessage}"/>
> >>>> +<!-- Step 2 -->
> >>>> +<call-bsh><![CDATA[
> >>>> + import org.ofbiz.shipment.packing.PackingSession;
> >>>> + packingSession = new PackingSession(dispatcher, userLogin);
> >>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> >>>> + packingSession.setPrimaryShipGroupSeqId("00001");
> >>>> + parameters.put("packingSession", packingSession);
> >>>> + ]]></call-bsh>
> >>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
> >>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
> >>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
> >>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> >>>> +<set field="packInput.userLogin" from-field="userLogin"/>
> >>>> +<!-- Items -->
> >>>> +<set field="packInput.selInfo._1" value="Y"/>
> >>>> +<set field="packInput.pkgInfo._1" value="1"/>
> >>>> +<set field="packInput.qtyInfo._1" value="1"/>
> >>>> +<set field="packInput.prdInfo._1" value="GZ-2644"/>
> >>>> +<set field="packInput.iteInfo._1" value="00001"/>
> >>>> +<set field="packInput.wgtInfo._1" value="0"/>
> >>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> >>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
> >>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
> >>>> +<result-to-field result-name="responseMessage"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
> >>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> >>>> +<call-service service-name="completePack" in-map-name="completePackInput">
> >>>> +<result-to-field result-name="shipmentId"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
> >>>> +<!-- Step 3 -->
> >>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> >>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
> >>>> +</entity-and>
> >>>> +<assert>
> >>>> +<if-empty field="invoices"/>
> >>>> +</assert>
> >>>> +<check-errors/>
> >>>> +</simple-method>
> >>>> +<simple-method method-name="testInvoicePerShipmentSetOrderTrue" short-description="Test Invoice Per Shipment Set Order True"
> >>>> login-required="false">
> >>>> +<!-- Test Invoice Per Shipment
> >>>> + Step 1) Create order and set invoicePerShipment=Y.
> >>>> + Step 2) Pack Shipment For Ship Group.
> >>>> + Step 3) Check invoice should created.
> >>>> + -->
> >>>> +<!-- Step 1 -->
> >>>> +<field-to-session field="nullField" session-name="orderMode"/>
> >>>> +<set field="request" from-field="parameters.request"/>
> >>>> +<set field="response" from-field="parameters.response"/>
> >>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response = ${result}"/>
> >>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
> >>>> +<field-map field-name="userLoginId" value="admin"/>
> >>>> +</entity-one>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("orderMode", "SALES_ORDER");
> >>>> + request.setParameter("productStoreId", "9000");
> >>>> + request.setParameter("partyId", "DemoCustomer");
> >>>> + request.setParameter("currencyUom", "USD");
> >>>> + session = request.getSession();
> >>>> + session.setAttribute("userLogin", userLogin);
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response = ${result}"/>
> >>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
> >>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("add_product_id", "GZ-2644");
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : addToCart, Response = ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("checkoutpage", "quick");
> >>>> + request.setParameter("shipping_contact_mech_id", "9015");
> >>>> + request.setParameter("shipping_method", "GROUND@UPS");
> >>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
> >>>> + request.setParameter("is_gift", "false");
> >>>> + request.setParameter("may_split", "false");
> >>>> + ]]></call-bsh>
> >>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
> >>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response = ${result}"/>
> >>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : createOrder, Response = ${result}"/>
> >>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : processPayment, Response = ${result}"/>
> >>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
> >>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
> >>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
> >>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> >>>> +<order-by field-name="-entryDate"/>
> >>>> +</entity-condition>
> >>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
> >>>> +<set field="orderInput.orderId" from-field="orderHeader.orderId"/>
> >>>> +<set field="orderInput.invoicePerShipment" value="Y"/>
> >>>> +<set field="orderInput.userLogin" from-field="userLogin"/>
> >>>> +<call-service service-name="updateOrderHeader" in-map-name="orderInput">
> >>>> +<result-to-field result-name="responseMessage"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service : updateOrderHeader / invoicePerShipment = Y, Response =
> >>>> ${responseMessage}"/>
> >>>> +<!-- Step 2 -->
> >>>> +<call-bsh><![CDATA[
> >>>> + import org.ofbiz.shipment.packing.PackingSession;
> >>>> + packingSession = new PackingSession(dispatcher, userLogin);
> >>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> >>>> + packingSession.setPrimaryShipGroupSeqId("00001");
> >>>> + parameters.put("packingSession", packingSession);
> >>>> + ]]></call-bsh>
> >>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
> >>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
> >>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
> >>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> >>>> +<set field="packInput.userLogin" from-field="userLogin"/>
> >>>> +<!-- Items -->
> >>>> +<set field="packInput.selInfo._1" value="Y"/>
> >>>> +<set field="packInput.pkgInfo._1" value="1"/>
> >>>> +<set field="packInput.qtyInfo._1" value="1"/>
> >>>> +<set field="packInput.prdInfo._1" value="GZ-2644"/>
> >>>> +<set field="packInput.iteInfo._1" value="00001"/>
> >>>> +<set field="packInput.wgtInfo._1" value="0"/>
> >>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> >>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
> >>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
> >>>> +<result-to-field result-name="responseMessage"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
> >>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> >>>> +<call-service service-name="completePack" in-map-name="completePackInput">
> >>>> +<result-to-field result-name="shipmentId"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
> >>>> +<!-- Step 3 -->
> >>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> >>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
> >>>> +</entity-and>
> >>>> +<assert>
> >>>> +<not><if-empty field="invoices"/></not>
> >>>> +</assert>
> >>>> +<check-errors/>
> >>>> +</simple-method>
> >>>> +</simple-methods>
> >>>>
> >>>> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> >>>> ------------------------------------------------------------------------------
> >>>> svn:eol-style = native
> >>>>
> >>>> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> >>>> ------------------------------------------------------------------------------
> >>>> svn:keywords = "Date Rev Author URL Id"
> >>>>
> >>>> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> >>>> ------------------------------------------------------------------------------
> >>>> svn:mime-type = text/xml
> >>>>
> >>>> Modified: ofbiz/trunk/applications/accounting/testdef/invoicetests.xml
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/testdef/invoicetests.xml?rev=1163084&r1=1163083&r2=1163084&view=diff
> >>>> ==============================================================================
> >>>> --- ofbiz/trunk/applications/accounting/testdef/invoicetests.xml (original)
> >>>> +++ ofbiz/trunk/applications/accounting/testdef/invoicetests.xml Tue Aug 30 04:25:28 2011
> >>>> @@ -25,5 +25,7 @@
> >>>> <test-case case-name="auto-invoice-tests">
> >>>> <simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/AutoInvoiceTests.xml"/>
> >>>> </test-case>
> >>>> -
> >>>> +<test-case case-name="invoice-per-shipment-tests">
> >>>> +<simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml"/>
> >>>> +</test-case>
> >>>> </test-suite>
> >>>>
> >>>> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar?rev=1163084&view=auto
> >>>> ==============================================================================
> >>>> Binary file - no diff available.
> >>>>
> >>>> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar
> >>>> ------------------------------------------------------------------------------
> >>>> svn:mime-type = application/octet-stream
> >>>>
> >>>> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar?rev=1163084&view=auto
> >>>> ==============================================================================
> >>>> Binary file - no diff available.
> >>>>
> >>>> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar
> >>>> ------------------------------------------------------------------------------
> >>>> svn:mime-type = application/octet-stream
> >>>>
> >>>> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar?rev=1163084&view=auto
> >>>> ==============================================================================
> >>>> Binary file - no diff available.
> >>>>
> >>>> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar
> >>>> ------------------------------------------------------------------------------
> >>>> svn:mime-type = application/octet-stream
> >>>>
> >>>> Modified: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java?rev=1163084&r1=1163083&r2=1163084&view=diff
> >>>> ==============================================================================
> >>>> --- ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java (original)
> >>>> +++ ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java Tue Aug 30 04:25:28 2011
> >>>> @@ -30,8 +30,16 @@ import org.ofbiz.base.util.UtilMisc;
> >>>> import org.ofbiz.base.util.UtilValidate;
> >>>> import org.ofbiz.minilang.MiniLangException;
> >>>> import org.ofbiz.minilang.SimpleMethod;
> >>>> +import org.ofbiz.security.Security;
> >>>> +import org.ofbiz.security.SecurityConfigurationException;
> >>>> +import org.ofbiz.security.SecurityFactory;
> >>>> import org.ofbiz.service.ModelService;
> >>>> import org.ofbiz.service.testtools.OFBizTestCase;
> >>>> +
> >>>> +import org.springframework.mock.web.MockHttpServletRequest;
> >>>> +import org.springframework.mock.web.MockHttpServletResponse;
> >>>> +import org.springframework.mock.web.MockServletContext;
> >>>> +
> >>>> import org.w3c.dom.Element;
> >>>>
> >>>> public class SimpleMethodTest extends OFBizTestCase {
> >>>> @@ -40,6 +48,9 @@ public class SimpleMethodTest extends OF
> >>>>
> >>>> protected String methodLocation;
> >>>> protected String methodName;
> >>>> +
> >>>> + public static MockHttpServletRequest request = new MockHttpServletRequest();
> >>>> + public static MockHttpServletResponse response = new MockHttpServletResponse();
> >>>>
> >>>> /**
> >>>> * Tests of Simple Method
> >>>> @@ -64,11 +75,17 @@ public class SimpleMethodTest extends OF
> >>>> @Override
> >>>> public void run(TestResult result) {
> >>>> result.startTest(this);
> >>>> -
> >>>> +
> >>>> try {
> >>>> -
> >>>> + // define request
> >>>> + Security security = SecurityFactory.getInstance(delegator);
> >>>> + MockServletContext servletContext = new MockServletContext();
> >>>> + request.setAttribute("security", security);
> >>>> + request.setAttribute("servletContext", servletContext);
> >>>> + request.setAttribute("delegator", delegator);
> >>>> + request.setAttribute("dispatcher", dispatcher);
> >>>> Map<String, Object> serviceResult = SimpleMethod.runSimpleService(methodLocation, methodName,
> >>>> dispatcher.getDispatchContext(),
> >>>> - UtilMisc.toMap("test", this, "testResult", result, "locale", Locale.getDefault()));
> >>>> + UtilMisc.toMap("test", this, "testResult", result, "locale", Locale.getDefault(), "request", request,
> >>>> "response", response));
> >>>>
> >>>> // do something with the errorMessage
> >>>> String errorMessage = (String) serviceResult.get(ModelService.ERROR_MESSAGE);
> >>>> @@ -94,6 +111,8 @@ public class SimpleMethodTest extends OF
> >>>>
> >>>> } catch (MiniLangException e) {
> >>>> result.addError(this, e);
> >>>> + } catch (SecurityConfigurationException e) {
> >>>> + result.addError(this, e);
> >>>> }
> >>>>
> >>>> result.endTest(this);
> >>>>
> >>>> Modified: ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml?rev=1163084&r1=1163083&r2=1163084&view=diff
> >>>> ==============================================================================
> >>>> --- ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml (original)
> >>>> +++ ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml Tue Aug 30 04:25:28 2011
> >>>> @@ -20,7 +20,7 @@ under the License.
> >>>>
> >>>> <entity-engine-xml>
> >>>> <!--Demo data for a sales order -->
> >>>> -<OrderHeader orderId="DEMO10090" orderTypeId="SALES_ORDER" orderName="" salesChannelEnumId="WEB_SALES_CHANNEL"
> >>>> orderDate="2008-04-23 16:49:27.392" entryDate="2008-04-23 16:49:27.392" priority="2" visitId="10002" statusId="ORDER_APPROVED"
> >>>> createdBy="admin" currencyUom="USD" webSiteId="OrderEntry" productStoreId="9000" remainingSubTotal="38.40" grandTotal="50.85"
> >>>> lastUpdatedStamp="2008-04-23 16:49:33.196" lastUpdatedTxStamp="2008-04-23 16:49:33.118" createdStamp="2008-04-23 16:49:27.716"
> >>>> createdTxStamp="2008-04-23 16:49:27.349"/>
> >>>> +<OrderHeader orderId="DEMO10090" orderTypeId="SALES_ORDER" orderName="" salesChannelEnumId="WEB_SALES_CHANNEL"
> >>>> orderDate="2008-04-23 16:49:27.392" entryDate="2008-04-23 16:49:27.392" priority="2" visitId="10002" statusId="ORDER_APPROVED"
> >>>> createdBy="admin" currencyUom="USD" webSiteId="OrderEntry" productStoreId="9000" remainingSubTotal="38.40" grandTotal="50.85"
> >>>> invoicePerShipment="Y" lastUpdatedStamp="2008-04-23 16:49:33.196" lastUpdatedTxStamp="2008-04-23 16:49:33.118"
> >>>> createdStamp="2008-04-23 16:49:27.716" createdTxStamp="2008-04-23 16:49:27.349"/>
> >>>> <OrderItem orderId="DEMO10090" orderItemSeqId="00001" orderItemTypeId="PRODUCT_ORDER_ITEM" productId="GZ-2644"
> >>>> prodCatalogId="DemoCatalog" isPromo="N" quantity="2.0" selectedAmount="0.0" unitPrice="38.4" unitListPrice="48.0"
> >>>> isModifiedPrice="N" itemDescription="Round Gizmo" correspondingPoId="" statusId="ITEM_APPROVED" lastUpdatedStamp="2008-04-23
> >>>> 16:49:33.514" lastUpdatedTxStamp="2008-04-23 16:49:33.484" createdStamp="2008-04-23 16:49:28.128" createdTxStamp="2008-04-23
> >>>> 16:49:27.349"/>
> >>>> <OrderItemPriceInfo orderItemPriceInfoId="9000" orderId="DEMO10090" orderItemSeqId="00001" productPriceRuleId="9000"
> >>>> productPriceActionSeqId="01" modifyAmount="-9.600" description="[PRODUCT_CATEGORY_IDIsPROMOTIONS]
> >>>> [list:48.0;avgCost:48.0;margin:0.0] [type:PRICE_POL]" lastUpdatedStamp="2008-04-23 16:49:28.682" lastUpdatedTxStamp="2008-04-23
> >>>> 16:49:27.349" createdStamp="2008-04-23 16:49:28.682" createdTxStamp="2008-04-23 16:49:27.349"/>
> >>>>
> >>>>
> >>>>
>
>
--
Ofbiz on twitter: http://twitter.com/apache_ofbiz
Alternative ofbiz website: http://www.ofbiz.info
http://www.antwebsystems.com : Quality services for competitive rates.
Re: svn commit: r1163084 - in /ofbiz/trunk: ./
applications/accounting/script/org/ofbiz/accounting/test/
applications/accounting/testdef/ framework/testtools/lib/
framework/testtools/src/org/ofbiz/testtools/ specialpurpose/ecommerce/data/
Posted by Hans Bakker <ma...@antwebsystems.com>.
sure Jacques, this is on our list todo...
Regards,
Hans
On Mon, 2011-09-12 at 23:01 +0200, Jacques Le Roux wrote:
> Bump...
>
> Jacques
>
> From: "Adrian Crum" <ad...@sandglass-software.com>
> >I noticed that too. A file is created in the main ofbiz folder and it is not deleted after the test.
> >
> > -Adrian
> >
> > On 9/11/2011 1:00 AM, Hans Bakker wrote:
> >> not sure what you mean here Jacques?
> >>
> >> On Sat, 2011-09-10 at 23:04 +0200, Jacques Le Roux wrote:
> >>> The AccountingConfig.properties file should be removed after the test
> >>>
> >>> Thanks
> >>>
> >>> Jacques
> >>>
> >>> From:<ha...@apache.org>
> >>>> Author: hansbak
> >>>> Date: Tue Aug 30 04:25:28 2011
> >>>> New Revision: 1163084
> >>>>
> >>>> URL: http://svn.apache.org/viewvc?rev=1163084&view=rev
> >>>> Log:
> >>>> junit tests to test the change in r1163083 to have invoicing per order/or shipment. Also added spring jar files to be able to
> >>>> test ofbiz events.
> >>>>
> >>>> Added:
> >>>> ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml (with props)
> >>>> ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar (with props)
> >>>> ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar (with props)
> >>>> ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar (with props)
> >>>> Modified:
> >>>> ofbiz/trunk/.classpath
> >>>> ofbiz/trunk/applications/accounting/testdef/invoicetests.xml
> >>>> ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java
> >>>> ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml
> >>>>
> >>>> Modified: ofbiz/trunk/.classpath
> >>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/.classpath?rev=1163084&r1=1163083&r2=1163084&view=diff
> >>>> ==============================================================================
> >>>> --- ofbiz/trunk/.classpath (original)
> >>>> +++ ofbiz/trunk/.classpath Tue Aug 30 04:25:28 2011
> >>>> @@ -158,6 +158,9 @@
> >>>> <classpathentry kind="lib" path="framework/service/lib/neethi-2.0.4.jar"/>
> >>>> <classpathentry kind="lib" path="framework/service/lib/XmlSchema-1.4.3.jar"/>
> >>>> <classpathentry kind="lib" path="framework/testtools/lib/selenium-java-client-driver.jar"/>
> >>>> +<classpathentry kind="lib" path="framework/testtools/lib/org.springframework.test-3.1.0.M2.jar"/>
> >>>> +<classpathentry kind="lib" path="framework/testtools/lib/org.springframework.web-3.1.0.M2.jar"/>
> >>>> +<classpathentry kind="lib" path="framework/testtools/lib/org.springframework.core-3.1.0.M2.jar"/>
> >>>> <classpathentry kind="lib" path="framework/webapp/lib/DataVision-1.0.0.jar"/>
> >>>> <classpathentry kind="lib" path="framework/webapp/lib/ezmorph-0.9.1.jar"/>
> >>>> <classpathentry kind="lib" path="framework/webapp/lib/iText-2.1.7.jar"/>
> >>>>
> >>>> Added: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml?rev=1163084&view=auto
> >>>> ==============================================================================
> >>>> --- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml (added)
> >>>> +++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml Tue Aug 30 04:25:28 2011
> >>>> @@ -0,0 +1,529 @@
> >>>> +<?xml version="1.0" encoding="UTF-8"?>
> >>>> +<!--
> >>>> +Licensed to the Apache Software Foundation (ASF) under one
> >>>> +or more contributor license agreements. See the NOTICE file
> >>>> +distributed with this work for additional information
> >>>> +regarding copyright ownership. The ASF licenses this file
> >>>> +to you under the Apache License, Version 2.0 (the
> >>>> +"License"); you may not use this file except in compliance
> >>>> +with the License. You may obtain a copy of the License at
> >>>> +
> >>>> +http://www.apache.org/licenses/LICENSE-2.0
> >>>> +
> >>>> +Unless required by applicable law or agreed to in writing,
> >>>> +software distributed under the License is distributed on an
> >>>> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> >>>> +KIND, either express or implied. See the License for the
> >>>> +specific language governing permissions and limitations
> >>>> +under the License.
> >>>> +-->
> >>>> +
> >>>> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >>>> + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
> >>>> +
> >>>> +<simple-method method-name="testInvoicePerShipmentSetFalse" short-description="Test Invoice Per Shipment Set False"
> >>>> login-required="false">
> >>>> +<!-- Test Invoice Per Shipment
> >>>> + Step 1) Set create.invoice.per.shipment=N in AccountingConfig.properties file.
> >>>> + Step 2) Create order and approve order.
> >>>> + Step 3) Pack Shipment For Ship Group.
> >>>> + Step 4) Check invoice should not created.
> >>>> + -->
> >>>> +<!-- Step 1 -->
> >>>> +<call-bsh><![CDATA[
> >>>> + import org.ofbiz.base.util.UtilProperties;
> >>>> + UtilProperties.setPropertyValue("AccountingConfig.properties", "create.invoice.per.shipment", "N");
> >>>> + ]]></call-bsh>
> >>>> +<log level="info" message="=====>>> Set Accounting.properties / create.invoice.per.shipment = N"/>
> >>>> +<!-- Step 2 -->
> >>>> +<field-to-session field="nullField" session-name="orderMode"/>
> >>>> +<set field="request" from-field="parameters.request"/>
> >>>> +<set field="response" from-field="parameters.response"/>
> >>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response : ${result}"/>
> >>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
> >>>> +<field-map field-name="userLoginId" value="admin"/>
> >>>> +</entity-one>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("orderMode", "SALES_ORDER");
> >>>> + request.setParameter("productStoreId", "9000");
> >>>> + request.setParameter("partyId", "DemoCustomer");
> >>>> + request.setParameter("currencyUom", "USD");
> >>>> + session = request.getSession();
> >>>> + session.setAttribute("userLogin", userLogin);
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response : ${result}"/>
> >>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
> >>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response : ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("add_product_id", "GZ-1000");
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : addToCart, Response : ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("checkoutpage", "quick");
> >>>> + request.setParameter("shipping_contact_mech_id", "9015");
> >>>> + request.setParameter("shipping_method", "GROUND@UPS");
> >>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
> >>>> + request.setParameter("is_gift", "false");
> >>>> + request.setParameter("may_split", "false");
> >>>> + ]]></call-bsh>
> >>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
> >>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response : ${result}"/>
> >>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : createOrder, Response : ${result}"/>
> >>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : processPayment, Response : ${result}"/>
> >>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
> >>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
> >>>> +<!-- Step 3 -->
> >>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
> >>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> >>>> +<order-by field-name="-entryDate"/>
> >>>> +</entity-condition>
> >>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
> >>>> +<log level="info" message="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx : ${orderHeader}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + import org.ofbiz.shipment.packing.PackingSession;
> >>>> + packingSession = new PackingSession(dispatcher, userLogin);
> >>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> >>>> + packingSession.setPrimaryShipGroupSeqId("00001");
> >>>> + parameters.put("packingSession", packingSession);
> >>>> + ]]></call-bsh>
> >>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
> >>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
> >>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
> >>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> >>>> +<set field="packInput.userLogin" from-field="userLogin"/>
> >>>> +<!-- Items -->
> >>>> +<set field="packInput.selInfo._1" value="Y"/>
> >>>> +<set field="packInput.pkgInfo._1" value="1"/>
> >>>> +<set field="packInput.qtyInfo._1" value="1"/>
> >>>> +<set field="packInput.prdInfo._1" value="GZ-1000"/>
> >>>> +<set field="packInput.iteInfo._1" value="00001"/>
> >>>> +<set field="packInput.wgtInfo._1" value="0"/>
> >>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> >>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
> >>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
> >>>> +<result-to-field result-name="responseMessage"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
> >>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> >>>> +<call-service service-name="completePack" in-map-name="completePackInput">
> >>>> +<result-to-field result-name="shipmentId"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
> >>>> +<!-- Step 4 -->
> >>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> >>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
> >>>> +</entity-and>
> >>>> +<assert>
> >>>> +<if-empty field="invoices"/>
> >>>> +</assert>
> >>>> +<check-errors/>
> >>>> +</simple-method>
> >>>> +<simple-method method-name="testInvoicePerShipmentSetTrue" short-description="Test Invoice Per Shipment Set True"
> >>>> login-required="false">
> >>>> +<!-- Test Invoice Per Shipment
> >>>> + Step 1) Set create.invoice.per.shipment=N in AccountingConfig.properties file.
> >>>> + Step 2) Create order and approve order.
> >>>> + Step 3) Pack Shipment For Ship Group.
> >>>> + Step 4) Check invoice should created.
> >>>> + -->
> >>>> +<!-- Step 1 -->
> >>>> +<call-bsh><![CDATA[
> >>>> + import org.ofbiz.base.util.UtilProperties;
> >>>> + UtilProperties.setPropertyValue("AccountingConfig.properties", "create.invoice.per.shipment", "Y");
> >>>> + ]]></call-bsh>
> >>>> +<log level="info" message="=====>>> Set Accounting.properties / create.invoice.per.shipment = Y"/>
> >>>> +<!-- Step 2 -->
> >>>> +<field-to-session field="nullField" session-name="orderMode"/>
> >>>> +<set field="request" from-field="parameters.request"/>
> >>>> +<set field="response" from-field="parameters.response"/>
> >>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response = ${result}"/>
> >>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
> >>>> +<field-map field-name="userLoginId" value="admin"/>
> >>>> +</entity-one>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("orderMode", "SALES_ORDER");
> >>>> + request.setParameter("productStoreId", "9000");
> >>>> + request.setParameter("partyId", "DemoCustomer");
> >>>> + request.setParameter("currencyUom", "USD");
> >>>> + session = request.getSession();
> >>>> + session.setAttribute("userLogin", userLogin);
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response = ${result}"/>
> >>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
> >>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("add_product_id", "GZ-1000");
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : addToCart, Response = ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("checkoutpage", "quick");
> >>>> + request.setParameter("shipping_contact_mech_id", "9015");
> >>>> + request.setParameter("shipping_method", "GROUND@UPS");
> >>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
> >>>> + request.setParameter("is_gift", "false");
> >>>> + request.setParameter("may_split", "false");
> >>>> + ]]></call-bsh>
> >>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
> >>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response = ${result}"/>
> >>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : createOrder, Response = ${result}"/>
> >>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : processPayment, Response = ${result}"/>
> >>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
> >>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
> >>>> +<!-- Step 3 -->
> >>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
> >>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> >>>> +<order-by field-name="-entryDate"/>
> >>>> +</entity-condition>
> >>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + import org.ofbiz.shipment.packing.PackingSession;
> >>>> + packingSession = new PackingSession(dispatcher, userLogin);
> >>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> >>>> + packingSession.setPrimaryShipGroupSeqId("00001");
> >>>> + parameters.put("packingSession", packingSession);
> >>>> + ]]></call-bsh>
> >>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
> >>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
> >>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
> >>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> >>>> +<set field="packInput.userLogin" from-field="userLogin"/>
> >>>> +<!-- Items -->
> >>>> +<set field="packInput.selInfo._1" value="Y"/>
> >>>> +<set field="packInput.pkgInfo._1" value="1"/>
> >>>> +<set field="packInput.qtyInfo._1" value="1"/>
> >>>> +<set field="packInput.prdInfo._1" value="GZ-1000"/>
> >>>> +<set field="packInput.iteInfo._1" value="00001"/>
> >>>> +<set field="packInput.wgtInfo._1" value="0"/>
> >>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> >>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
> >>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
> >>>> +<result-to-field result-name="responseMessage"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
> >>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> >>>> +<call-service service-name="completePack" in-map-name="completePackInput">
> >>>> +<result-to-field result-name="shipmentId"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
> >>>> +<!-- Step 4 -->
> >>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> >>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
> >>>> +</entity-and>
> >>>> +<assert>
> >>>> +<not><if-empty field="invoices"/></not>
> >>>> +</assert>
> >>>> +<check-errors/>
> >>>> +</simple-method>
> >>>> +<simple-method method-name="testInvoicePerShipmentSetOrderFalse" short-description="Test Invoice Per Shipment Set Order
> >>>> False" login-required="false">
> >>>> +<!-- Test Invoice Per Shipment
> >>>> + Step 1) Create order and set invoicePerShipment=N.
> >>>> + Step 2) Pack Shipment For Ship Group.
> >>>> + Step 3) Check invoice should not created.
> >>>> + -->
> >>>> +<!-- Step 1 -->
> >>>> +<field-to-session field="nullField" session-name="orderMode"/>
> >>>> +<set field="request" from-field="parameters.request"/>
> >>>> +<set field="response" from-field="parameters.response"/>
> >>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response = ${result}"/>
> >>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
> >>>> +<field-map field-name="userLoginId" value="admin"/>
> >>>> +</entity-one>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("orderMode", "SALES_ORDER");
> >>>> + request.setParameter("productStoreId", "9000");
> >>>> + request.setParameter("partyId", "DemoCustomer");
> >>>> + request.setParameter("currencyUom", "USD");
> >>>> + session = request.getSession();
> >>>> + session.setAttribute("userLogin", userLogin);
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response = ${result}"/>
> >>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
> >>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("add_product_id", "GZ-2644");
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : addToCart, Response = ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("checkoutpage", "quick");
> >>>> + request.setParameter("shipping_contact_mech_id", "9015");
> >>>> + request.setParameter("shipping_method", "GROUND@UPS");
> >>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
> >>>> + request.setParameter("is_gift", "false");
> >>>> + request.setParameter("may_split", "false");
> >>>> + ]]></call-bsh>
> >>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
> >>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response = ${result}"/>
> >>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : createOrder, Response = ${result}"/>
> >>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : processPayment, Response = ${result}"/>
> >>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
> >>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
> >>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
> >>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> >>>> +<order-by field-name="-entryDate"/>
> >>>> +</entity-condition>
> >>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
> >>>> +<set field="orderInput.orderId" from-field="orderHeader.orderId"/>
> >>>> +<set field="orderInput.invoicePerShipment" value="N"/>
> >>>> +<set field="orderInput.userLogin" from-field="userLogin"/>
> >>>> +<call-service service-name="updateOrderHeader" in-map-name="orderInput">
> >>>> +<result-to-field result-name="responseMessage"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service : updateOrderHeader / invoicePerShipment = N, Response =
> >>>> ${responseMessage}"/>
> >>>> +<!-- Step 2 -->
> >>>> +<call-bsh><![CDATA[
> >>>> + import org.ofbiz.shipment.packing.PackingSession;
> >>>> + packingSession = new PackingSession(dispatcher, userLogin);
> >>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> >>>> + packingSession.setPrimaryShipGroupSeqId("00001");
> >>>> + parameters.put("packingSession", packingSession);
> >>>> + ]]></call-bsh>
> >>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
> >>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
> >>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
> >>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> >>>> +<set field="packInput.userLogin" from-field="userLogin"/>
> >>>> +<!-- Items -->
> >>>> +<set field="packInput.selInfo._1" value="Y"/>
> >>>> +<set field="packInput.pkgInfo._1" value="1"/>
> >>>> +<set field="packInput.qtyInfo._1" value="1"/>
> >>>> +<set field="packInput.prdInfo._1" value="GZ-2644"/>
> >>>> +<set field="packInput.iteInfo._1" value="00001"/>
> >>>> +<set field="packInput.wgtInfo._1" value="0"/>
> >>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> >>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
> >>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
> >>>> +<result-to-field result-name="responseMessage"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
> >>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> >>>> +<call-service service-name="completePack" in-map-name="completePackInput">
> >>>> +<result-to-field result-name="shipmentId"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
> >>>> +<!-- Step 3 -->
> >>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> >>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
> >>>> +</entity-and>
> >>>> +<assert>
> >>>> +<if-empty field="invoices"/>
> >>>> +</assert>
> >>>> +<check-errors/>
> >>>> +</simple-method>
> >>>> +<simple-method method-name="testInvoicePerShipmentSetOrderTrue" short-description="Test Invoice Per Shipment Set Order True"
> >>>> login-required="false">
> >>>> +<!-- Test Invoice Per Shipment
> >>>> + Step 1) Create order and set invoicePerShipment=Y.
> >>>> + Step 2) Pack Shipment For Ship Group.
> >>>> + Step 3) Check invoice should created.
> >>>> + -->
> >>>> +<!-- Step 1 -->
> >>>> +<field-to-session field="nullField" session-name="orderMode"/>
> >>>> +<set field="request" from-field="parameters.request"/>
> >>>> +<set field="response" from-field="parameters.response"/>
> >>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response = ${result}"/>
> >>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
> >>>> +<field-map field-name="userLoginId" value="admin"/>
> >>>> +</entity-one>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("orderMode", "SALES_ORDER");
> >>>> + request.setParameter("productStoreId", "9000");
> >>>> + request.setParameter("partyId", "DemoCustomer");
> >>>> + request.setParameter("currencyUom", "USD");
> >>>> + session = request.getSession();
> >>>> + session.setAttribute("userLogin", userLogin);
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response = ${result}"/>
> >>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
> >>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("add_product_id", "GZ-2644");
> >>>> + ]]></call-bsh>
> >>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : addToCart, Response = ${result}"/>
> >>>> +<call-bsh><![CDATA[
> >>>> + request.setParameter("checkoutpage", "quick");
> >>>> + request.setParameter("shipping_contact_mech_id", "9015");
> >>>> + request.setParameter("shipping_method", "GROUND@UPS");
> >>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
> >>>> + request.setParameter("is_gift", "false");
> >>>> + request.setParameter("may_split", "false");
> >>>> + ]]></call-bsh>
> >>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
> >>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response = ${result}"/>
> >>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : createOrder, Response = ${result}"/>
> >>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : processPayment, Response = ${result}"/>
> >>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
> >>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> >>>> ret-field="result">
> >>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
> >>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
> >>>> +</call-class-method>
> >>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
> >>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
> >>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> >>>> +<order-by field-name="-entryDate"/>
> >>>> +</entity-condition>
> >>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
> >>>> +<set field="orderInput.orderId" from-field="orderHeader.orderId"/>
> >>>> +<set field="orderInput.invoicePerShipment" value="Y"/>
> >>>> +<set field="orderInput.userLogin" from-field="userLogin"/>
> >>>> +<call-service service-name="updateOrderHeader" in-map-name="orderInput">
> >>>> +<result-to-field result-name="responseMessage"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service : updateOrderHeader / invoicePerShipment = Y, Response =
> >>>> ${responseMessage}"/>
> >>>> +<!-- Step 2 -->
> >>>> +<call-bsh><![CDATA[
> >>>> + import org.ofbiz.shipment.packing.PackingSession;
> >>>> + packingSession = new PackingSession(dispatcher, userLogin);
> >>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> >>>> + packingSession.setPrimaryShipGroupSeqId("00001");
> >>>> + parameters.put("packingSession", packingSession);
> >>>> + ]]></call-bsh>
> >>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
> >>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
> >>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
> >>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> >>>> +<set field="packInput.userLogin" from-field="userLogin"/>
> >>>> +<!-- Items -->
> >>>> +<set field="packInput.selInfo._1" value="Y"/>
> >>>> +<set field="packInput.pkgInfo._1" value="1"/>
> >>>> +<set field="packInput.qtyInfo._1" value="1"/>
> >>>> +<set field="packInput.prdInfo._1" value="GZ-2644"/>
> >>>> +<set field="packInput.iteInfo._1" value="00001"/>
> >>>> +<set field="packInput.wgtInfo._1" value="0"/>
> >>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> >>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
> >>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
> >>>> +<result-to-field result-name="responseMessage"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
> >>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> >>>> +<call-service service-name="completePack" in-map-name="completePackInput">
> >>>> +<result-to-field result-name="shipmentId"/>
> >>>> +</call-service>
> >>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
> >>>> +<!-- Step 3 -->
> >>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> >>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
> >>>> +</entity-and>
> >>>> +<assert>
> >>>> +<not><if-empty field="invoices"/></not>
> >>>> +</assert>
> >>>> +<check-errors/>
> >>>> +</simple-method>
> >>>> +</simple-methods>
> >>>>
> >>>> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> >>>> ------------------------------------------------------------------------------
> >>>> svn:eol-style = native
> >>>>
> >>>> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> >>>> ------------------------------------------------------------------------------
> >>>> svn:keywords = "Date Rev Author URL Id"
> >>>>
> >>>> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> >>>> ------------------------------------------------------------------------------
> >>>> svn:mime-type = text/xml
> >>>>
> >>>> Modified: ofbiz/trunk/applications/accounting/testdef/invoicetests.xml
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/testdef/invoicetests.xml?rev=1163084&r1=1163083&r2=1163084&view=diff
> >>>> ==============================================================================
> >>>> --- ofbiz/trunk/applications/accounting/testdef/invoicetests.xml (original)
> >>>> +++ ofbiz/trunk/applications/accounting/testdef/invoicetests.xml Tue Aug 30 04:25:28 2011
> >>>> @@ -25,5 +25,7 @@
> >>>> <test-case case-name="auto-invoice-tests">
> >>>> <simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/AutoInvoiceTests.xml"/>
> >>>> </test-case>
> >>>> -
> >>>> +<test-case case-name="invoice-per-shipment-tests">
> >>>> +<simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml"/>
> >>>> +</test-case>
> >>>> </test-suite>
> >>>>
> >>>> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar?rev=1163084&view=auto
> >>>> ==============================================================================
> >>>> Binary file - no diff available.
> >>>>
> >>>> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar
> >>>> ------------------------------------------------------------------------------
> >>>> svn:mime-type = application/octet-stream
> >>>>
> >>>> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar?rev=1163084&view=auto
> >>>> ==============================================================================
> >>>> Binary file - no diff available.
> >>>>
> >>>> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar
> >>>> ------------------------------------------------------------------------------
> >>>> svn:mime-type = application/octet-stream
> >>>>
> >>>> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar?rev=1163084&view=auto
> >>>> ==============================================================================
> >>>> Binary file - no diff available.
> >>>>
> >>>> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar
> >>>> ------------------------------------------------------------------------------
> >>>> svn:mime-type = application/octet-stream
> >>>>
> >>>> Modified: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java?rev=1163084&r1=1163083&r2=1163084&view=diff
> >>>> ==============================================================================
> >>>> --- ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java (original)
> >>>> +++ ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java Tue Aug 30 04:25:28 2011
> >>>> @@ -30,8 +30,16 @@ import org.ofbiz.base.util.UtilMisc;
> >>>> import org.ofbiz.base.util.UtilValidate;
> >>>> import org.ofbiz.minilang.MiniLangException;
> >>>> import org.ofbiz.minilang.SimpleMethod;
> >>>> +import org.ofbiz.security.Security;
> >>>> +import org.ofbiz.security.SecurityConfigurationException;
> >>>> +import org.ofbiz.security.SecurityFactory;
> >>>> import org.ofbiz.service.ModelService;
> >>>> import org.ofbiz.service.testtools.OFBizTestCase;
> >>>> +
> >>>> +import org.springframework.mock.web.MockHttpServletRequest;
> >>>> +import org.springframework.mock.web.MockHttpServletResponse;
> >>>> +import org.springframework.mock.web.MockServletContext;
> >>>> +
> >>>> import org.w3c.dom.Element;
> >>>>
> >>>> public class SimpleMethodTest extends OFBizTestCase {
> >>>> @@ -40,6 +48,9 @@ public class SimpleMethodTest extends OF
> >>>>
> >>>> protected String methodLocation;
> >>>> protected String methodName;
> >>>> +
> >>>> + public static MockHttpServletRequest request = new MockHttpServletRequest();
> >>>> + public static MockHttpServletResponse response = new MockHttpServletResponse();
> >>>>
> >>>> /**
> >>>> * Tests of Simple Method
> >>>> @@ -64,11 +75,17 @@ public class SimpleMethodTest extends OF
> >>>> @Override
> >>>> public void run(TestResult result) {
> >>>> result.startTest(this);
> >>>> -
> >>>> +
> >>>> try {
> >>>> -
> >>>> + // define request
> >>>> + Security security = SecurityFactory.getInstance(delegator);
> >>>> + MockServletContext servletContext = new MockServletContext();
> >>>> + request.setAttribute("security", security);
> >>>> + request.setAttribute("servletContext", servletContext);
> >>>> + request.setAttribute("delegator", delegator);
> >>>> + request.setAttribute("dispatcher", dispatcher);
> >>>> Map<String, Object> serviceResult = SimpleMethod.runSimpleService(methodLocation, methodName,
> >>>> dispatcher.getDispatchContext(),
> >>>> - UtilMisc.toMap("test", this, "testResult", result, "locale", Locale.getDefault()));
> >>>> + UtilMisc.toMap("test", this, "testResult", result, "locale", Locale.getDefault(), "request", request,
> >>>> "response", response));
> >>>>
> >>>> // do something with the errorMessage
> >>>> String errorMessage = (String) serviceResult.get(ModelService.ERROR_MESSAGE);
> >>>> @@ -94,6 +111,8 @@ public class SimpleMethodTest extends OF
> >>>>
> >>>> } catch (MiniLangException e) {
> >>>> result.addError(this, e);
> >>>> + } catch (SecurityConfigurationException e) {
> >>>> + result.addError(this, e);
> >>>> }
> >>>>
> >>>> result.endTest(this);
> >>>>
> >>>> Modified: ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml?rev=1163084&r1=1163083&r2=1163084&view=diff
> >>>> ==============================================================================
> >>>> --- ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml (original)
> >>>> +++ ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml Tue Aug 30 04:25:28 2011
> >>>> @@ -20,7 +20,7 @@ under the License.
> >>>>
> >>>> <entity-engine-xml>
> >>>> <!--Demo data for a sales order -->
> >>>> -<OrderHeader orderId="DEMO10090" orderTypeId="SALES_ORDER" orderName="" salesChannelEnumId="WEB_SALES_CHANNEL"
> >>>> orderDate="2008-04-23 16:49:27.392" entryDate="2008-04-23 16:49:27.392" priority="2" visitId="10002" statusId="ORDER_APPROVED"
> >>>> createdBy="admin" currencyUom="USD" webSiteId="OrderEntry" productStoreId="9000" remainingSubTotal="38.40" grandTotal="50.85"
> >>>> lastUpdatedStamp="2008-04-23 16:49:33.196" lastUpdatedTxStamp="2008-04-23 16:49:33.118" createdStamp="2008-04-23 16:49:27.716"
> >>>> createdTxStamp="2008-04-23 16:49:27.349"/>
> >>>> +<OrderHeader orderId="DEMO10090" orderTypeId="SALES_ORDER" orderName="" salesChannelEnumId="WEB_SALES_CHANNEL"
> >>>> orderDate="2008-04-23 16:49:27.392" entryDate="2008-04-23 16:49:27.392" priority="2" visitId="10002" statusId="ORDER_APPROVED"
> >>>> createdBy="admin" currencyUom="USD" webSiteId="OrderEntry" productStoreId="9000" remainingSubTotal="38.40" grandTotal="50.85"
> >>>> invoicePerShipment="Y" lastUpdatedStamp="2008-04-23 16:49:33.196" lastUpdatedTxStamp="2008-04-23 16:49:33.118"
> >>>> createdStamp="2008-04-23 16:49:27.716" createdTxStamp="2008-04-23 16:49:27.349"/>
> >>>> <OrderItem orderId="DEMO10090" orderItemSeqId="00001" orderItemTypeId="PRODUCT_ORDER_ITEM" productId="GZ-2644"
> >>>> prodCatalogId="DemoCatalog" isPromo="N" quantity="2.0" selectedAmount="0.0" unitPrice="38.4" unitListPrice="48.0"
> >>>> isModifiedPrice="N" itemDescription="Round Gizmo" correspondingPoId="" statusId="ITEM_APPROVED" lastUpdatedStamp="2008-04-23
> >>>> 16:49:33.514" lastUpdatedTxStamp="2008-04-23 16:49:33.484" createdStamp="2008-04-23 16:49:28.128" createdTxStamp="2008-04-23
> >>>> 16:49:27.349"/>
> >>>> <OrderItemPriceInfo orderItemPriceInfoId="9000" orderId="DEMO10090" orderItemSeqId="00001" productPriceRuleId="9000"
> >>>> productPriceActionSeqId="01" modifyAmount="-9.600" description="[PRODUCT_CATEGORY_IDIsPROMOTIONS]
> >>>> [list:48.0;avgCost:48.0;margin:0.0] [type:PRICE_POL]" lastUpdatedStamp="2008-04-23 16:49:28.682" lastUpdatedTxStamp="2008-04-23
> >>>> 16:49:27.349" createdStamp="2008-04-23 16:49:28.682" createdTxStamp="2008-04-23 16:49:27.349"/>
> >>>>
> >>>>
> >>>>
>
>
--
Ofbiz on twitter: http://twitter.com/apache_ofbiz
Alternative ofbiz website: http://www.ofbiz.info
http://www.antwebsystems.com : Quality services for competitive rates.
Re: svn commit: r1163084 - in /ofbiz/trunk: ./ applications/accounting/script/org/ofbiz/accounting/test/ applications/accounting/testdef/ framework/testtools/lib/ framework/testtools/src/org/ofbiz/testtools/ specialpurpose/ecommerce/data/
Posted by Jacques Le Roux <ja...@les7arts.com>.
Bump...
Jacques
From: "Adrian Crum" <ad...@sandglass-software.com>
>I noticed that too. A file is created in the main ofbiz folder and it is not deleted after the test.
>
> -Adrian
>
> On 9/11/2011 1:00 AM, Hans Bakker wrote:
>> not sure what you mean here Jacques?
>>
>> On Sat, 2011-09-10 at 23:04 +0200, Jacques Le Roux wrote:
>>> The AccountingConfig.properties file should be removed after the test
>>>
>>> Thanks
>>>
>>> Jacques
>>>
>>> From:<ha...@apache.org>
>>>> Author: hansbak
>>>> Date: Tue Aug 30 04:25:28 2011
>>>> New Revision: 1163084
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=1163084&view=rev
>>>> Log:
>>>> junit tests to test the change in r1163083 to have invoicing per order/or shipment. Also added spring jar files to be able to
>>>> test ofbiz events.
>>>>
>>>> Added:
>>>> ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml (with props)
>>>> ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar (with props)
>>>> ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar (with props)
>>>> ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar (with props)
>>>> Modified:
>>>> ofbiz/trunk/.classpath
>>>> ofbiz/trunk/applications/accounting/testdef/invoicetests.xml
>>>> ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java
>>>> ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml
>>>>
>>>> Modified: ofbiz/trunk/.classpath
>>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/.classpath?rev=1163084&r1=1163083&r2=1163084&view=diff
>>>> ==============================================================================
>>>> --- ofbiz/trunk/.classpath (original)
>>>> +++ ofbiz/trunk/.classpath Tue Aug 30 04:25:28 2011
>>>> @@ -158,6 +158,9 @@
>>>> <classpathentry kind="lib" path="framework/service/lib/neethi-2.0.4.jar"/>
>>>> <classpathentry kind="lib" path="framework/service/lib/XmlSchema-1.4.3.jar"/>
>>>> <classpathentry kind="lib" path="framework/testtools/lib/selenium-java-client-driver.jar"/>
>>>> +<classpathentry kind="lib" path="framework/testtools/lib/org.springframework.test-3.1.0.M2.jar"/>
>>>> +<classpathentry kind="lib" path="framework/testtools/lib/org.springframework.web-3.1.0.M2.jar"/>
>>>> +<classpathentry kind="lib" path="framework/testtools/lib/org.springframework.core-3.1.0.M2.jar"/>
>>>> <classpathentry kind="lib" path="framework/webapp/lib/DataVision-1.0.0.jar"/>
>>>> <classpathentry kind="lib" path="framework/webapp/lib/ezmorph-0.9.1.jar"/>
>>>> <classpathentry kind="lib" path="framework/webapp/lib/iText-2.1.7.jar"/>
>>>>
>>>> Added: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml?rev=1163084&view=auto
>>>> ==============================================================================
>>>> --- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml (added)
>>>> +++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml Tue Aug 30 04:25:28 2011
>>>> @@ -0,0 +1,529 @@
>>>> +<?xml version="1.0" encoding="UTF-8"?>
>>>> +<!--
>>>> +Licensed to the Apache Software Foundation (ASF) under one
>>>> +or more contributor license agreements. See the NOTICE file
>>>> +distributed with this work for additional information
>>>> +regarding copyright ownership. The ASF licenses this file
>>>> +to you under the Apache License, Version 2.0 (the
>>>> +"License"); you may not use this file except in compliance
>>>> +with the License. You may obtain a copy of the License at
>>>> +
>>>> +http://www.apache.org/licenses/LICENSE-2.0
>>>> +
>>>> +Unless required by applicable law or agreed to in writing,
>>>> +software distributed under the License is distributed on an
>>>> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>>>> +KIND, either express or implied. See the License for the
>>>> +specific language governing permissions and limitations
>>>> +under the License.
>>>> +-->
>>>> +
>>>> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>> + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
>>>> +
>>>> +<simple-method method-name="testInvoicePerShipmentSetFalse" short-description="Test Invoice Per Shipment Set False"
>>>> login-required="false">
>>>> +<!-- Test Invoice Per Shipment
>>>> + Step 1) Set create.invoice.per.shipment=N in AccountingConfig.properties file.
>>>> + Step 2) Create order and approve order.
>>>> + Step 3) Pack Shipment For Ship Group.
>>>> + Step 4) Check invoice should not created.
>>>> + -->
>>>> +<!-- Step 1 -->
>>>> +<call-bsh><![CDATA[
>>>> + import org.ofbiz.base.util.UtilProperties;
>>>> + UtilProperties.setPropertyValue("AccountingConfig.properties", "create.invoice.per.shipment", "N");
>>>> + ]]></call-bsh>
>>>> +<log level="info" message="=====>>> Set Accounting.properties / create.invoice.per.shipment = N"/>
>>>> +<!-- Step 2 -->
>>>> +<field-to-session field="nullField" session-name="orderMode"/>
>>>> +<set field="request" from-field="parameters.request"/>
>>>> +<set field="response" from-field="parameters.response"/>
>>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response : ${result}"/>
>>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
>>>> +<field-map field-name="userLoginId" value="admin"/>
>>>> +</entity-one>
>>>> +<call-bsh><![CDATA[
>>>> + request.setParameter("orderMode", "SALES_ORDER");
>>>> + request.setParameter("productStoreId", "9000");
>>>> + request.setParameter("partyId", "DemoCustomer");
>>>> + request.setParameter("currencyUom", "USD");
>>>> + session = request.getSession();
>>>> + session.setAttribute("userLogin", userLogin);
>>>> + ]]></call-bsh>
>>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response : ${result}"/>
>>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
>>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response : ${result}"/>
>>>> +<call-bsh><![CDATA[
>>>> + request.setParameter("add_product_id", "GZ-1000");
>>>> + ]]></call-bsh>
>>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : addToCart, Response : ${result}"/>
>>>> +<call-bsh><![CDATA[
>>>> + request.setParameter("checkoutpage", "quick");
>>>> + request.setParameter("shipping_contact_mech_id", "9015");
>>>> + request.setParameter("shipping_method", "GROUND@UPS");
>>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
>>>> + request.setParameter("is_gift", "false");
>>>> + request.setParameter("may_split", "false");
>>>> + ]]></call-bsh>
>>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
>>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response : ${result}"/>
>>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : createOrder, Response : ${result}"/>
>>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : processPayment, Response : ${result}"/>
>>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
>>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
>>>> +<!-- Step 3 -->
>>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
>>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
>>>> +<order-by field-name="-entryDate"/>
>>>> +</entity-condition>
>>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
>>>> +<log level="info" message="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx : ${orderHeader}"/>
>>>> +<call-bsh><![CDATA[
>>>> + import org.ofbiz.shipment.packing.PackingSession;
>>>> + packingSession = new PackingSession(dispatcher, userLogin);
>>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
>>>> + packingSession.setPrimaryShipGroupSeqId("00001");
>>>> + parameters.put("packingSession", packingSession);
>>>> + ]]></call-bsh>
>>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
>>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
>>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
>>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
>>>> +<set field="packInput.userLogin" from-field="userLogin"/>
>>>> +<!-- Items -->
>>>> +<set field="packInput.selInfo._1" value="Y"/>
>>>> +<set field="packInput.pkgInfo._1" value="1"/>
>>>> +<set field="packInput.qtyInfo._1" value="1"/>
>>>> +<set field="packInput.prdInfo._1" value="GZ-1000"/>
>>>> +<set field="packInput.iteInfo._1" value="00001"/>
>>>> +<set field="packInput.wgtInfo._1" value="0"/>
>>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
>>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
>>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
>>>> +<result-to-field result-name="responseMessage"/>
>>>> +</call-service>
>>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
>>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
>>>> +<call-service service-name="completePack" in-map-name="completePackInput">
>>>> +<result-to-field result-name="shipmentId"/>
>>>> +</call-service>
>>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
>>>> +<!-- Step 4 -->
>>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
>>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
>>>> +</entity-and>
>>>> +<assert>
>>>> +<if-empty field="invoices"/>
>>>> +</assert>
>>>> +<check-errors/>
>>>> +</simple-method>
>>>> +<simple-method method-name="testInvoicePerShipmentSetTrue" short-description="Test Invoice Per Shipment Set True"
>>>> login-required="false">
>>>> +<!-- Test Invoice Per Shipment
>>>> + Step 1) Set create.invoice.per.shipment=N in AccountingConfig.properties file.
>>>> + Step 2) Create order and approve order.
>>>> + Step 3) Pack Shipment For Ship Group.
>>>> + Step 4) Check invoice should created.
>>>> + -->
>>>> +<!-- Step 1 -->
>>>> +<call-bsh><![CDATA[
>>>> + import org.ofbiz.base.util.UtilProperties;
>>>> + UtilProperties.setPropertyValue("AccountingConfig.properties", "create.invoice.per.shipment", "Y");
>>>> + ]]></call-bsh>
>>>> +<log level="info" message="=====>>> Set Accounting.properties / create.invoice.per.shipment = Y"/>
>>>> +<!-- Step 2 -->
>>>> +<field-to-session field="nullField" session-name="orderMode"/>
>>>> +<set field="request" from-field="parameters.request"/>
>>>> +<set field="response" from-field="parameters.response"/>
>>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response = ${result}"/>
>>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
>>>> +<field-map field-name="userLoginId" value="admin"/>
>>>> +</entity-one>
>>>> +<call-bsh><![CDATA[
>>>> + request.setParameter("orderMode", "SALES_ORDER");
>>>> + request.setParameter("productStoreId", "9000");
>>>> + request.setParameter("partyId", "DemoCustomer");
>>>> + request.setParameter("currencyUom", "USD");
>>>> + session = request.getSession();
>>>> + session.setAttribute("userLogin", userLogin);
>>>> + ]]></call-bsh>
>>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response = ${result}"/>
>>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
>>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
>>>> +<call-bsh><![CDATA[
>>>> + request.setParameter("add_product_id", "GZ-1000");
>>>> + ]]></call-bsh>
>>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : addToCart, Response = ${result}"/>
>>>> +<call-bsh><![CDATA[
>>>> + request.setParameter("checkoutpage", "quick");
>>>> + request.setParameter("shipping_contact_mech_id", "9015");
>>>> + request.setParameter("shipping_method", "GROUND@UPS");
>>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
>>>> + request.setParameter("is_gift", "false");
>>>> + request.setParameter("may_split", "false");
>>>> + ]]></call-bsh>
>>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
>>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response = ${result}"/>
>>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : createOrder, Response = ${result}"/>
>>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : processPayment, Response = ${result}"/>
>>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
>>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
>>>> +<!-- Step 3 -->
>>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
>>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
>>>> +<order-by field-name="-entryDate"/>
>>>> +</entity-condition>
>>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
>>>> +<call-bsh><![CDATA[
>>>> + import org.ofbiz.shipment.packing.PackingSession;
>>>> + packingSession = new PackingSession(dispatcher, userLogin);
>>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
>>>> + packingSession.setPrimaryShipGroupSeqId("00001");
>>>> + parameters.put("packingSession", packingSession);
>>>> + ]]></call-bsh>
>>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
>>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
>>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
>>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
>>>> +<set field="packInput.userLogin" from-field="userLogin"/>
>>>> +<!-- Items -->
>>>> +<set field="packInput.selInfo._1" value="Y"/>
>>>> +<set field="packInput.pkgInfo._1" value="1"/>
>>>> +<set field="packInput.qtyInfo._1" value="1"/>
>>>> +<set field="packInput.prdInfo._1" value="GZ-1000"/>
>>>> +<set field="packInput.iteInfo._1" value="00001"/>
>>>> +<set field="packInput.wgtInfo._1" value="0"/>
>>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
>>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
>>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
>>>> +<result-to-field result-name="responseMessage"/>
>>>> +</call-service>
>>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
>>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
>>>> +<call-service service-name="completePack" in-map-name="completePackInput">
>>>> +<result-to-field result-name="shipmentId"/>
>>>> +</call-service>
>>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
>>>> +<!-- Step 4 -->
>>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
>>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
>>>> +</entity-and>
>>>> +<assert>
>>>> +<not><if-empty field="invoices"/></not>
>>>> +</assert>
>>>> +<check-errors/>
>>>> +</simple-method>
>>>> +<simple-method method-name="testInvoicePerShipmentSetOrderFalse" short-description="Test Invoice Per Shipment Set Order
>>>> False" login-required="false">
>>>> +<!-- Test Invoice Per Shipment
>>>> + Step 1) Create order and set invoicePerShipment=N.
>>>> + Step 2) Pack Shipment For Ship Group.
>>>> + Step 3) Check invoice should not created.
>>>> + -->
>>>> +<!-- Step 1 -->
>>>> +<field-to-session field="nullField" session-name="orderMode"/>
>>>> +<set field="request" from-field="parameters.request"/>
>>>> +<set field="response" from-field="parameters.response"/>
>>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response = ${result}"/>
>>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
>>>> +<field-map field-name="userLoginId" value="admin"/>
>>>> +</entity-one>
>>>> +<call-bsh><![CDATA[
>>>> + request.setParameter("orderMode", "SALES_ORDER");
>>>> + request.setParameter("productStoreId", "9000");
>>>> + request.setParameter("partyId", "DemoCustomer");
>>>> + request.setParameter("currencyUom", "USD");
>>>> + session = request.getSession();
>>>> + session.setAttribute("userLogin", userLogin);
>>>> + ]]></call-bsh>
>>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response = ${result}"/>
>>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
>>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
>>>> +<call-bsh><![CDATA[
>>>> + request.setParameter("add_product_id", "GZ-2644");
>>>> + ]]></call-bsh>
>>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : addToCart, Response = ${result}"/>
>>>> +<call-bsh><![CDATA[
>>>> + request.setParameter("checkoutpage", "quick");
>>>> + request.setParameter("shipping_contact_mech_id", "9015");
>>>> + request.setParameter("shipping_method", "GROUND@UPS");
>>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
>>>> + request.setParameter("is_gift", "false");
>>>> + request.setParameter("may_split", "false");
>>>> + ]]></call-bsh>
>>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
>>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response = ${result}"/>
>>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : createOrder, Response = ${result}"/>
>>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : processPayment, Response = ${result}"/>
>>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
>>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
>>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
>>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
>>>> +<order-by field-name="-entryDate"/>
>>>> +</entity-condition>
>>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
>>>> +<set field="orderInput.orderId" from-field="orderHeader.orderId"/>
>>>> +<set field="orderInput.invoicePerShipment" value="N"/>
>>>> +<set field="orderInput.userLogin" from-field="userLogin"/>
>>>> +<call-service service-name="updateOrderHeader" in-map-name="orderInput">
>>>> +<result-to-field result-name="responseMessage"/>
>>>> +</call-service>
>>>> +<log level="info" message="=====>>> Service : updateOrderHeader / invoicePerShipment = N, Response =
>>>> ${responseMessage}"/>
>>>> +<!-- Step 2 -->
>>>> +<call-bsh><![CDATA[
>>>> + import org.ofbiz.shipment.packing.PackingSession;
>>>> + packingSession = new PackingSession(dispatcher, userLogin);
>>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
>>>> + packingSession.setPrimaryShipGroupSeqId("00001");
>>>> + parameters.put("packingSession", packingSession);
>>>> + ]]></call-bsh>
>>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
>>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
>>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
>>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
>>>> +<set field="packInput.userLogin" from-field="userLogin"/>
>>>> +<!-- Items -->
>>>> +<set field="packInput.selInfo._1" value="Y"/>
>>>> +<set field="packInput.pkgInfo._1" value="1"/>
>>>> +<set field="packInput.qtyInfo._1" value="1"/>
>>>> +<set field="packInput.prdInfo._1" value="GZ-2644"/>
>>>> +<set field="packInput.iteInfo._1" value="00001"/>
>>>> +<set field="packInput.wgtInfo._1" value="0"/>
>>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
>>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
>>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
>>>> +<result-to-field result-name="responseMessage"/>
>>>> +</call-service>
>>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
>>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
>>>> +<call-service service-name="completePack" in-map-name="completePackInput">
>>>> +<result-to-field result-name="shipmentId"/>
>>>> +</call-service>
>>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
>>>> +<!-- Step 3 -->
>>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
>>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
>>>> +</entity-and>
>>>> +<assert>
>>>> +<if-empty field="invoices"/>
>>>> +</assert>
>>>> +<check-errors/>
>>>> +</simple-method>
>>>> +<simple-method method-name="testInvoicePerShipmentSetOrderTrue" short-description="Test Invoice Per Shipment Set Order True"
>>>> login-required="false">
>>>> +<!-- Test Invoice Per Shipment
>>>> + Step 1) Create order and set invoicePerShipment=Y.
>>>> + Step 2) Pack Shipment For Ship Group.
>>>> + Step 3) Check invoice should created.
>>>> + -->
>>>> +<!-- Step 1 -->
>>>> +<field-to-session field="nullField" session-name="orderMode"/>
>>>> +<set field="request" from-field="parameters.request"/>
>>>> +<set field="response" from-field="parameters.response"/>
>>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response = ${result}"/>
>>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
>>>> +<field-map field-name="userLoginId" value="admin"/>
>>>> +</entity-one>
>>>> +<call-bsh><![CDATA[
>>>> + request.setParameter("orderMode", "SALES_ORDER");
>>>> + request.setParameter("productStoreId", "9000");
>>>> + request.setParameter("partyId", "DemoCustomer");
>>>> + request.setParameter("currencyUom", "USD");
>>>> + session = request.getSession();
>>>> + session.setAttribute("userLogin", userLogin);
>>>> + ]]></call-bsh>
>>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response = ${result}"/>
>>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
>>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
>>>> +<call-bsh><![CDATA[
>>>> + request.setParameter("add_product_id", "GZ-2644");
>>>> + ]]></call-bsh>
>>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : addToCart, Response = ${result}"/>
>>>> +<call-bsh><![CDATA[
>>>> + request.setParameter("checkoutpage", "quick");
>>>> + request.setParameter("shipping_contact_mech_id", "9015");
>>>> + request.setParameter("shipping_method", "GROUND@UPS");
>>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
>>>> + request.setParameter("is_gift", "false");
>>>> + request.setParameter("may_split", "false");
>>>> + ]]></call-bsh>
>>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
>>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response = ${result}"/>
>>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : createOrder, Response = ${result}"/>
>>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : processPayment, Response = ${result}"/>
>>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
>>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>>> ret-field="result">
>>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>>> +</call-class-method>
>>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
>>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
>>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
>>>> +<order-by field-name="-entryDate"/>
>>>> +</entity-condition>
>>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
>>>> +<set field="orderInput.orderId" from-field="orderHeader.orderId"/>
>>>> +<set field="orderInput.invoicePerShipment" value="Y"/>
>>>> +<set field="orderInput.userLogin" from-field="userLogin"/>
>>>> +<call-service service-name="updateOrderHeader" in-map-name="orderInput">
>>>> +<result-to-field result-name="responseMessage"/>
>>>> +</call-service>
>>>> +<log level="info" message="=====>>> Service : updateOrderHeader / invoicePerShipment = Y, Response =
>>>> ${responseMessage}"/>
>>>> +<!-- Step 2 -->
>>>> +<call-bsh><![CDATA[
>>>> + import org.ofbiz.shipment.packing.PackingSession;
>>>> + packingSession = new PackingSession(dispatcher, userLogin);
>>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
>>>> + packingSession.setPrimaryShipGroupSeqId("00001");
>>>> + parameters.put("packingSession", packingSession);
>>>> + ]]></call-bsh>
>>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
>>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
>>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
>>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
>>>> +<set field="packInput.userLogin" from-field="userLogin"/>
>>>> +<!-- Items -->
>>>> +<set field="packInput.selInfo._1" value="Y"/>
>>>> +<set field="packInput.pkgInfo._1" value="1"/>
>>>> +<set field="packInput.qtyInfo._1" value="1"/>
>>>> +<set field="packInput.prdInfo._1" value="GZ-2644"/>
>>>> +<set field="packInput.iteInfo._1" value="00001"/>
>>>> +<set field="packInput.wgtInfo._1" value="0"/>
>>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
>>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
>>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
>>>> +<result-to-field result-name="responseMessage"/>
>>>> +</call-service>
>>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
>>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
>>>> +<call-service service-name="completePack" in-map-name="completePackInput">
>>>> +<result-to-field result-name="shipmentId"/>
>>>> +</call-service>
>>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
>>>> +<!-- Step 3 -->
>>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
>>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
>>>> +</entity-and>
>>>> +<assert>
>>>> +<not><if-empty field="invoices"/></not>
>>>> +</assert>
>>>> +<check-errors/>
>>>> +</simple-method>
>>>> +</simple-methods>
>>>>
>>>> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
>>>> ------------------------------------------------------------------------------
>>>> svn:eol-style = native
>>>>
>>>> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
>>>> ------------------------------------------------------------------------------
>>>> svn:keywords = "Date Rev Author URL Id"
>>>>
>>>> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
>>>> ------------------------------------------------------------------------------
>>>> svn:mime-type = text/xml
>>>>
>>>> Modified: ofbiz/trunk/applications/accounting/testdef/invoicetests.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/testdef/invoicetests.xml?rev=1163084&r1=1163083&r2=1163084&view=diff
>>>> ==============================================================================
>>>> --- ofbiz/trunk/applications/accounting/testdef/invoicetests.xml (original)
>>>> +++ ofbiz/trunk/applications/accounting/testdef/invoicetests.xml Tue Aug 30 04:25:28 2011
>>>> @@ -25,5 +25,7 @@
>>>> <test-case case-name="auto-invoice-tests">
>>>> <simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/AutoInvoiceTests.xml"/>
>>>> </test-case>
>>>> -
>>>> +<test-case case-name="invoice-per-shipment-tests">
>>>> +<simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml"/>
>>>> +</test-case>
>>>> </test-suite>
>>>>
>>>> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar?rev=1163084&view=auto
>>>> ==============================================================================
>>>> Binary file - no diff available.
>>>>
>>>> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar
>>>> ------------------------------------------------------------------------------
>>>> svn:mime-type = application/octet-stream
>>>>
>>>> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar?rev=1163084&view=auto
>>>> ==============================================================================
>>>> Binary file - no diff available.
>>>>
>>>> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar
>>>> ------------------------------------------------------------------------------
>>>> svn:mime-type = application/octet-stream
>>>>
>>>> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar?rev=1163084&view=auto
>>>> ==============================================================================
>>>> Binary file - no diff available.
>>>>
>>>> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar
>>>> ------------------------------------------------------------------------------
>>>> svn:mime-type = application/octet-stream
>>>>
>>>> Modified: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java?rev=1163084&r1=1163083&r2=1163084&view=diff
>>>> ==============================================================================
>>>> --- ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java (original)
>>>> +++ ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java Tue Aug 30 04:25:28 2011
>>>> @@ -30,8 +30,16 @@ import org.ofbiz.base.util.UtilMisc;
>>>> import org.ofbiz.base.util.UtilValidate;
>>>> import org.ofbiz.minilang.MiniLangException;
>>>> import org.ofbiz.minilang.SimpleMethod;
>>>> +import org.ofbiz.security.Security;
>>>> +import org.ofbiz.security.SecurityConfigurationException;
>>>> +import org.ofbiz.security.SecurityFactory;
>>>> import org.ofbiz.service.ModelService;
>>>> import org.ofbiz.service.testtools.OFBizTestCase;
>>>> +
>>>> +import org.springframework.mock.web.MockHttpServletRequest;
>>>> +import org.springframework.mock.web.MockHttpServletResponse;
>>>> +import org.springframework.mock.web.MockServletContext;
>>>> +
>>>> import org.w3c.dom.Element;
>>>>
>>>> public class SimpleMethodTest extends OFBizTestCase {
>>>> @@ -40,6 +48,9 @@ public class SimpleMethodTest extends OF
>>>>
>>>> protected String methodLocation;
>>>> protected String methodName;
>>>> +
>>>> + public static MockHttpServletRequest request = new MockHttpServletRequest();
>>>> + public static MockHttpServletResponse response = new MockHttpServletResponse();
>>>>
>>>> /**
>>>> * Tests of Simple Method
>>>> @@ -64,11 +75,17 @@ public class SimpleMethodTest extends OF
>>>> @Override
>>>> public void run(TestResult result) {
>>>> result.startTest(this);
>>>> -
>>>> +
>>>> try {
>>>> -
>>>> + // define request
>>>> + Security security = SecurityFactory.getInstance(delegator);
>>>> + MockServletContext servletContext = new MockServletContext();
>>>> + request.setAttribute("security", security);
>>>> + request.setAttribute("servletContext", servletContext);
>>>> + request.setAttribute("delegator", delegator);
>>>> + request.setAttribute("dispatcher", dispatcher);
>>>> Map<String, Object> serviceResult = SimpleMethod.runSimpleService(methodLocation, methodName,
>>>> dispatcher.getDispatchContext(),
>>>> - UtilMisc.toMap("test", this, "testResult", result, "locale", Locale.getDefault()));
>>>> + UtilMisc.toMap("test", this, "testResult", result, "locale", Locale.getDefault(), "request", request,
>>>> "response", response));
>>>>
>>>> // do something with the errorMessage
>>>> String errorMessage = (String) serviceResult.get(ModelService.ERROR_MESSAGE);
>>>> @@ -94,6 +111,8 @@ public class SimpleMethodTest extends OF
>>>>
>>>> } catch (MiniLangException e) {
>>>> result.addError(this, e);
>>>> + } catch (SecurityConfigurationException e) {
>>>> + result.addError(this, e);
>>>> }
>>>>
>>>> result.endTest(this);
>>>>
>>>> Modified: ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml?rev=1163084&r1=1163083&r2=1163084&view=diff
>>>> ==============================================================================
>>>> --- ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml (original)
>>>> +++ ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml Tue Aug 30 04:25:28 2011
>>>> @@ -20,7 +20,7 @@ under the License.
>>>>
>>>> <entity-engine-xml>
>>>> <!--Demo data for a sales order -->
>>>> -<OrderHeader orderId="DEMO10090" orderTypeId="SALES_ORDER" orderName="" salesChannelEnumId="WEB_SALES_CHANNEL"
>>>> orderDate="2008-04-23 16:49:27.392" entryDate="2008-04-23 16:49:27.392" priority="2" visitId="10002" statusId="ORDER_APPROVED"
>>>> createdBy="admin" currencyUom="USD" webSiteId="OrderEntry" productStoreId="9000" remainingSubTotal="38.40" grandTotal="50.85"
>>>> lastUpdatedStamp="2008-04-23 16:49:33.196" lastUpdatedTxStamp="2008-04-23 16:49:33.118" createdStamp="2008-04-23 16:49:27.716"
>>>> createdTxStamp="2008-04-23 16:49:27.349"/>
>>>> +<OrderHeader orderId="DEMO10090" orderTypeId="SALES_ORDER" orderName="" salesChannelEnumId="WEB_SALES_CHANNEL"
>>>> orderDate="2008-04-23 16:49:27.392" entryDate="2008-04-23 16:49:27.392" priority="2" visitId="10002" statusId="ORDER_APPROVED"
>>>> createdBy="admin" currencyUom="USD" webSiteId="OrderEntry" productStoreId="9000" remainingSubTotal="38.40" grandTotal="50.85"
>>>> invoicePerShipment="Y" lastUpdatedStamp="2008-04-23 16:49:33.196" lastUpdatedTxStamp="2008-04-23 16:49:33.118"
>>>> createdStamp="2008-04-23 16:49:27.716" createdTxStamp="2008-04-23 16:49:27.349"/>
>>>> <OrderItem orderId="DEMO10090" orderItemSeqId="00001" orderItemTypeId="PRODUCT_ORDER_ITEM" productId="GZ-2644"
>>>> prodCatalogId="DemoCatalog" isPromo="N" quantity="2.0" selectedAmount="0.0" unitPrice="38.4" unitListPrice="48.0"
>>>> isModifiedPrice="N" itemDescription="Round Gizmo" correspondingPoId="" statusId="ITEM_APPROVED" lastUpdatedStamp="2008-04-23
>>>> 16:49:33.514" lastUpdatedTxStamp="2008-04-23 16:49:33.484" createdStamp="2008-04-23 16:49:28.128" createdTxStamp="2008-04-23
>>>> 16:49:27.349"/>
>>>> <OrderItemPriceInfo orderItemPriceInfoId="9000" orderId="DEMO10090" orderItemSeqId="00001" productPriceRuleId="9000"
>>>> productPriceActionSeqId="01" modifyAmount="-9.600" description="[PRODUCT_CATEGORY_IDIsPROMOTIONS]
>>>> [list:48.0;avgCost:48.0;margin:0.0] [type:PRICE_POL]" lastUpdatedStamp="2008-04-23 16:49:28.682" lastUpdatedTxStamp="2008-04-23
>>>> 16:49:27.349" createdStamp="2008-04-23 16:49:28.682" createdTxStamp="2008-04-23 16:49:27.349"/>
>>>>
>>>>
>>>>
Re: svn commit: r1163084 - in /ofbiz/trunk: ./ applications/accounting/script/org/ofbiz/accounting/test/
applications/accounting/testdef/ framework/testtools/lib/ framework/testtools/src/org/ofbiz/testtools/
specialpurpose/ecommerce/data/
Posted by Adrian Crum <ad...@sandglass-software.com>.
I noticed that too. A file is created in the main ofbiz folder and it is
not deleted after the test.
-Adrian
On 9/11/2011 1:00 AM, Hans Bakker wrote:
> not sure what you mean here Jacques?
>
> On Sat, 2011-09-10 at 23:04 +0200, Jacques Le Roux wrote:
>> The AccountingConfig.properties file should be removed after the test
>>
>> Thanks
>>
>> Jacques
>>
>> From:<ha...@apache.org>
>>> Author: hansbak
>>> Date: Tue Aug 30 04:25:28 2011
>>> New Revision: 1163084
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1163084&view=rev
>>> Log:
>>> junit tests to test the change in r1163083 to have invoicing per order/or shipment. Also added spring jar files to be able to
>>> test ofbiz events.
>>>
>>> Added:
>>> ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml (with props)
>>> ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar (with props)
>>> ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar (with props)
>>> ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar (with props)
>>> Modified:
>>> ofbiz/trunk/.classpath
>>> ofbiz/trunk/applications/accounting/testdef/invoicetests.xml
>>> ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java
>>> ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml
>>>
>>> Modified: ofbiz/trunk/.classpath
>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/.classpath?rev=1163084&r1=1163083&r2=1163084&view=diff
>>> ==============================================================================
>>> --- ofbiz/trunk/.classpath (original)
>>> +++ ofbiz/trunk/.classpath Tue Aug 30 04:25:28 2011
>>> @@ -158,6 +158,9 @@
>>> <classpathentry kind="lib" path="framework/service/lib/neethi-2.0.4.jar"/>
>>> <classpathentry kind="lib" path="framework/service/lib/XmlSchema-1.4.3.jar"/>
>>> <classpathentry kind="lib" path="framework/testtools/lib/selenium-java-client-driver.jar"/>
>>> +<classpathentry kind="lib" path="framework/testtools/lib/org.springframework.test-3.1.0.M2.jar"/>
>>> +<classpathentry kind="lib" path="framework/testtools/lib/org.springframework.web-3.1.0.M2.jar"/>
>>> +<classpathentry kind="lib" path="framework/testtools/lib/org.springframework.core-3.1.0.M2.jar"/>
>>> <classpathentry kind="lib" path="framework/webapp/lib/DataVision-1.0.0.jar"/>
>>> <classpathentry kind="lib" path="framework/webapp/lib/ezmorph-0.9.1.jar"/>
>>> <classpathentry kind="lib" path="framework/webapp/lib/iText-2.1.7.jar"/>
>>>
>>> Added: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml?rev=1163084&view=auto
>>> ==============================================================================
>>> --- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml (added)
>>> +++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml Tue Aug 30 04:25:28 2011
>>> @@ -0,0 +1,529 @@
>>> +<?xml version="1.0" encoding="UTF-8"?>
>>> +<!--
>>> +Licensed to the Apache Software Foundation (ASF) under one
>>> +or more contributor license agreements. See the NOTICE file
>>> +distributed with this work for additional information
>>> +regarding copyright ownership. The ASF licenses this file
>>> +to you under the Apache License, Version 2.0 (the
>>> +"License"); you may not use this file except in compliance
>>> +with the License. You may obtain a copy of the License at
>>> +
>>> +http://www.apache.org/licenses/LICENSE-2.0
>>> +
>>> +Unless required by applicable law or agreed to in writing,
>>> +software distributed under the License is distributed on an
>>> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>>> +KIND, either express or implied. See the License for the
>>> +specific language governing permissions and limitations
>>> +under the License.
>>> +-->
>>> +
>>> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
>>> +
>>> +<simple-method method-name="testInvoicePerShipmentSetFalse" short-description="Test Invoice Per Shipment Set False"
>>> login-required="false">
>>> +<!-- Test Invoice Per Shipment
>>> + Step 1) Set create.invoice.per.shipment=N in AccountingConfig.properties file.
>>> + Step 2) Create order and approve order.
>>> + Step 3) Pack Shipment For Ship Group.
>>> + Step 4) Check invoice should not created.
>>> + -->
>>> +<!-- Step 1 -->
>>> +<call-bsh><![CDATA[
>>> + import org.ofbiz.base.util.UtilProperties;
>>> + UtilProperties.setPropertyValue("AccountingConfig.properties", "create.invoice.per.shipment", "N");
>>> + ]]></call-bsh>
>>> +<log level="info" message="=====>>> Set Accounting.properties / create.invoice.per.shipment = N"/>
>>> +<!-- Step 2 -->
>>> +<field-to-session field="nullField" session-name="orderMode"/>
>>> +<set field="request" from-field="parameters.request"/>
>>> +<set field="response" from-field="parameters.response"/>
>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response : ${result}"/>
>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
>>> +<field-map field-name="userLoginId" value="admin"/>
>>> +</entity-one>
>>> +<call-bsh><![CDATA[
>>> + request.setParameter("orderMode", "SALES_ORDER");
>>> + request.setParameter("productStoreId", "9000");
>>> + request.setParameter("partyId", "DemoCustomer");
>>> + request.setParameter("currencyUom", "USD");
>>> + session = request.getSession();
>>> + session.setAttribute("userLogin", userLogin);
>>> + ]]></call-bsh>
>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response : ${result}"/>
>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response : ${result}"/>
>>> +<call-bsh><![CDATA[
>>> + request.setParameter("add_product_id", "GZ-1000");
>>> + ]]></call-bsh>
>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : addToCart, Response : ${result}"/>
>>> +<call-bsh><![CDATA[
>>> + request.setParameter("checkoutpage", "quick");
>>> + request.setParameter("shipping_contact_mech_id", "9015");
>>> + request.setParameter("shipping_method", "GROUND@UPS");
>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
>>> + request.setParameter("is_gift", "false");
>>> + request.setParameter("may_split", "false");
>>> + ]]></call-bsh>
>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response : ${result}"/>
>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : createOrder, Response : ${result}"/>
>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : processPayment, Response : ${result}"/>
>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
>>> +<!-- Step 3 -->
>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
>>> +<order-by field-name="-entryDate"/>
>>> +</entity-condition>
>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
>>> +<log level="info" message="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx : ${orderHeader}"/>
>>> +<call-bsh><![CDATA[
>>> + import org.ofbiz.shipment.packing.PackingSession;
>>> + packingSession = new PackingSession(dispatcher, userLogin);
>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
>>> + packingSession.setPrimaryShipGroupSeqId("00001");
>>> + parameters.put("packingSession", packingSession);
>>> + ]]></call-bsh>
>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
>>> +<set field="packInput.userLogin" from-field="userLogin"/>
>>> +<!-- Items -->
>>> +<set field="packInput.selInfo._1" value="Y"/>
>>> +<set field="packInput.pkgInfo._1" value="1"/>
>>> +<set field="packInput.qtyInfo._1" value="1"/>
>>> +<set field="packInput.prdInfo._1" value="GZ-1000"/>
>>> +<set field="packInput.iteInfo._1" value="00001"/>
>>> +<set field="packInput.wgtInfo._1" value="0"/>
>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
>>> +<result-to-field result-name="responseMessage"/>
>>> +</call-service>
>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
>>> +<call-service service-name="completePack" in-map-name="completePackInput">
>>> +<result-to-field result-name="shipmentId"/>
>>> +</call-service>
>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
>>> +<!-- Step 4 -->
>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
>>> +</entity-and>
>>> +<assert>
>>> +<if-empty field="invoices"/>
>>> +</assert>
>>> +<check-errors/>
>>> +</simple-method>
>>> +<simple-method method-name="testInvoicePerShipmentSetTrue" short-description="Test Invoice Per Shipment Set True"
>>> login-required="false">
>>> +<!-- Test Invoice Per Shipment
>>> + Step 1) Set create.invoice.per.shipment=N in AccountingConfig.properties file.
>>> + Step 2) Create order and approve order.
>>> + Step 3) Pack Shipment For Ship Group.
>>> + Step 4) Check invoice should created.
>>> + -->
>>> +<!-- Step 1 -->
>>> +<call-bsh><![CDATA[
>>> + import org.ofbiz.base.util.UtilProperties;
>>> + UtilProperties.setPropertyValue("AccountingConfig.properties", "create.invoice.per.shipment", "Y");
>>> + ]]></call-bsh>
>>> +<log level="info" message="=====>>> Set Accounting.properties / create.invoice.per.shipment = Y"/>
>>> +<!-- Step 2 -->
>>> +<field-to-session field="nullField" session-name="orderMode"/>
>>> +<set field="request" from-field="parameters.request"/>
>>> +<set field="response" from-field="parameters.response"/>
>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response = ${result}"/>
>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
>>> +<field-map field-name="userLoginId" value="admin"/>
>>> +</entity-one>
>>> +<call-bsh><![CDATA[
>>> + request.setParameter("orderMode", "SALES_ORDER");
>>> + request.setParameter("productStoreId", "9000");
>>> + request.setParameter("partyId", "DemoCustomer");
>>> + request.setParameter("currencyUom", "USD");
>>> + session = request.getSession();
>>> + session.setAttribute("userLogin", userLogin);
>>> + ]]></call-bsh>
>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response = ${result}"/>
>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
>>> +<call-bsh><![CDATA[
>>> + request.setParameter("add_product_id", "GZ-1000");
>>> + ]]></call-bsh>
>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : addToCart, Response = ${result}"/>
>>> +<call-bsh><![CDATA[
>>> + request.setParameter("checkoutpage", "quick");
>>> + request.setParameter("shipping_contact_mech_id", "9015");
>>> + request.setParameter("shipping_method", "GROUND@UPS");
>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
>>> + request.setParameter("is_gift", "false");
>>> + request.setParameter("may_split", "false");
>>> + ]]></call-bsh>
>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response = ${result}"/>
>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : createOrder, Response = ${result}"/>
>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : processPayment, Response = ${result}"/>
>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
>>> +<!-- Step 3 -->
>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
>>> +<order-by field-name="-entryDate"/>
>>> +</entity-condition>
>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
>>> +<call-bsh><![CDATA[
>>> + import org.ofbiz.shipment.packing.PackingSession;
>>> + packingSession = new PackingSession(dispatcher, userLogin);
>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
>>> + packingSession.setPrimaryShipGroupSeqId("00001");
>>> + parameters.put("packingSession", packingSession);
>>> + ]]></call-bsh>
>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
>>> +<set field="packInput.userLogin" from-field="userLogin"/>
>>> +<!-- Items -->
>>> +<set field="packInput.selInfo._1" value="Y"/>
>>> +<set field="packInput.pkgInfo._1" value="1"/>
>>> +<set field="packInput.qtyInfo._1" value="1"/>
>>> +<set field="packInput.prdInfo._1" value="GZ-1000"/>
>>> +<set field="packInput.iteInfo._1" value="00001"/>
>>> +<set field="packInput.wgtInfo._1" value="0"/>
>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
>>> +<result-to-field result-name="responseMessage"/>
>>> +</call-service>
>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
>>> +<call-service service-name="completePack" in-map-name="completePackInput">
>>> +<result-to-field result-name="shipmentId"/>
>>> +</call-service>
>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
>>> +<!-- Step 4 -->
>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
>>> +</entity-and>
>>> +<assert>
>>> +<not><if-empty field="invoices"/></not>
>>> +</assert>
>>> +<check-errors/>
>>> +</simple-method>
>>> +<simple-method method-name="testInvoicePerShipmentSetOrderFalse" short-description="Test Invoice Per Shipment Set Order
>>> False" login-required="false">
>>> +<!-- Test Invoice Per Shipment
>>> + Step 1) Create order and set invoicePerShipment=N.
>>> + Step 2) Pack Shipment For Ship Group.
>>> + Step 3) Check invoice should not created.
>>> + -->
>>> +<!-- Step 1 -->
>>> +<field-to-session field="nullField" session-name="orderMode"/>
>>> +<set field="request" from-field="parameters.request"/>
>>> +<set field="response" from-field="parameters.response"/>
>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response = ${result}"/>
>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
>>> +<field-map field-name="userLoginId" value="admin"/>
>>> +</entity-one>
>>> +<call-bsh><![CDATA[
>>> + request.setParameter("orderMode", "SALES_ORDER");
>>> + request.setParameter("productStoreId", "9000");
>>> + request.setParameter("partyId", "DemoCustomer");
>>> + request.setParameter("currencyUom", "USD");
>>> + session = request.getSession();
>>> + session.setAttribute("userLogin", userLogin);
>>> + ]]></call-bsh>
>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response = ${result}"/>
>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
>>> +<call-bsh><![CDATA[
>>> + request.setParameter("add_product_id", "GZ-2644");
>>> + ]]></call-bsh>
>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : addToCart, Response = ${result}"/>
>>> +<call-bsh><![CDATA[
>>> + request.setParameter("checkoutpage", "quick");
>>> + request.setParameter("shipping_contact_mech_id", "9015");
>>> + request.setParameter("shipping_method", "GROUND@UPS");
>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
>>> + request.setParameter("is_gift", "false");
>>> + request.setParameter("may_split", "false");
>>> + ]]></call-bsh>
>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response = ${result}"/>
>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : createOrder, Response = ${result}"/>
>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : processPayment, Response = ${result}"/>
>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
>>> +<order-by field-name="-entryDate"/>
>>> +</entity-condition>
>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
>>> +<set field="orderInput.orderId" from-field="orderHeader.orderId"/>
>>> +<set field="orderInput.invoicePerShipment" value="N"/>
>>> +<set field="orderInput.userLogin" from-field="userLogin"/>
>>> +<call-service service-name="updateOrderHeader" in-map-name="orderInput">
>>> +<result-to-field result-name="responseMessage"/>
>>> +</call-service>
>>> +<log level="info" message="=====>>> Service : updateOrderHeader / invoicePerShipment = N, Response =
>>> ${responseMessage}"/>
>>> +<!-- Step 2 -->
>>> +<call-bsh><![CDATA[
>>> + import org.ofbiz.shipment.packing.PackingSession;
>>> + packingSession = new PackingSession(dispatcher, userLogin);
>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
>>> + packingSession.setPrimaryShipGroupSeqId("00001");
>>> + parameters.put("packingSession", packingSession);
>>> + ]]></call-bsh>
>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
>>> +<set field="packInput.userLogin" from-field="userLogin"/>
>>> +<!-- Items -->
>>> +<set field="packInput.selInfo._1" value="Y"/>
>>> +<set field="packInput.pkgInfo._1" value="1"/>
>>> +<set field="packInput.qtyInfo._1" value="1"/>
>>> +<set field="packInput.prdInfo._1" value="GZ-2644"/>
>>> +<set field="packInput.iteInfo._1" value="00001"/>
>>> +<set field="packInput.wgtInfo._1" value="0"/>
>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
>>> +<result-to-field result-name="responseMessage"/>
>>> +</call-service>
>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
>>> +<call-service service-name="completePack" in-map-name="completePackInput">
>>> +<result-to-field result-name="shipmentId"/>
>>> +</call-service>
>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
>>> +<!-- Step 3 -->
>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
>>> +</entity-and>
>>> +<assert>
>>> +<if-empty field="invoices"/>
>>> +</assert>
>>> +<check-errors/>
>>> +</simple-method>
>>> +<simple-method method-name="testInvoicePerShipmentSetOrderTrue" short-description="Test Invoice Per Shipment Set Order True"
>>> login-required="false">
>>> +<!-- Test Invoice Per Shipment
>>> + Step 1) Create order and set invoicePerShipment=Y.
>>> + Step 2) Pack Shipment For Ship Group.
>>> + Step 3) Check invoice should created.
>>> + -->
>>> +<!-- Step 1 -->
>>> +<field-to-session field="nullField" session-name="orderMode"/>
>>> +<set field="request" from-field="parameters.request"/>
>>> +<set field="response" from-field="parameters.response"/>
>>> +<call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : routeOrderEntry, Response = ${result}"/>
>>> +<entity-one value-field="userLogin" entity-name="UserLogin">
>>> +<field-map field-name="userLoginId" value="admin"/>
>>> +</entity-one>
>>> +<call-bsh><![CDATA[
>>> + request.setParameter("orderMode", "SALES_ORDER");
>>> + request.setParameter("productStoreId", "9000");
>>> + request.setParameter("partyId", "DemoCustomer");
>>> + request.setParameter("currencyUom", "USD");
>>> + session = request.getSession();
>>> + session.setAttribute("userLogin", userLogin);
>>> + ]]></call-bsh>
>>> +<call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : initializeOrderEntry, Response = ${result}"/>
>>> +<call-class-method method-name="setOrderCurrencyAgreementShipDates"
>>> class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
>>> +<call-bsh><![CDATA[
>>> + request.setParameter("add_product_id", "GZ-2644");
>>> + ]]></call-bsh>
>>> +<call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : addToCart, Response = ${result}"/>
>>> +<call-bsh><![CDATA[
>>> + request.setParameter("checkoutpage", "quick");
>>> + request.setParameter("shipping_contact_mech_id", "9015");
>>> + request.setParameter("shipping_method", "GROUND@UPS");
>>> + request.setParameter("checkOutPaymentId", "EXT_COD");
>>> + request.setParameter("is_gift", "false");
>>> + request.setParameter("may_split", "false");
>>> + ]]></call-bsh>
>>> +<field-to-request field="nullField" request-name="shoppingCart"/>
>>> +<call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : setQuickCheckOutOptions, Response = ${result}"/>
>>> +<call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : createOrder, Response = ${result}"/>
>>> +<call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : processPayment, Response = ${result}"/>
>>> +<call-service-asynch service-name="sendOrderConfirmation"/>
>>> +<call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
>>> ret-field="result">
>>> +<field field="request" type="javax.servlet.http.HttpServletRequest"/>
>>> +<field field="response" type="javax.servlet.http.HttpServletResponse"/>
>>> +</call-class-method>
>>> +<log level="info" message="=====>>> Event : destroyCart, Response = ${result}"/>
>>> +<entity-condition list="orderHeaders" entity-name="OrderHeader">
>>> +<condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
>>> +<order-by field-name="-entryDate"/>
>>> +</entity-condition>
>>> +<first-from-list entry="orderHeader" list="orderHeaders"/>
>>> +<set field="orderInput.orderId" from-field="orderHeader.orderId"/>
>>> +<set field="orderInput.invoicePerShipment" value="Y"/>
>>> +<set field="orderInput.userLogin" from-field="userLogin"/>
>>> +<call-service service-name="updateOrderHeader" in-map-name="orderInput">
>>> +<result-to-field result-name="responseMessage"/>
>>> +</call-service>
>>> +<log level="info" message="=====>>> Service : updateOrderHeader / invoicePerShipment = Y, Response =
>>> ${responseMessage}"/>
>>> +<!-- Step 2 -->
>>> +<call-bsh><![CDATA[
>>> + import org.ofbiz.shipment.packing.PackingSession;
>>> + packingSession = new PackingSession(dispatcher, userLogin);
>>> + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
>>> + packingSession.setPrimaryShipGroupSeqId("00001");
>>> + parameters.put("packingSession", packingSession);
>>> + ]]></call-bsh>
>>> +<set field="packInput.orderId" from-field="orderHeader.orderId"/>
>>> +<set field="packInput.shipGroupSeqId" value="00001"/>
>>> +<set field="packInput.packingSession" from-field="parameters.packingSession"/>
>>> +<set field="packInput.nextPackageSeq" value="1" type="Integer"/>
>>> +<set field="packInput.userLogin" from-field="userLogin"/>
>>> +<!-- Items -->
>>> +<set field="packInput.selInfo._1" value="Y"/>
>>> +<set field="packInput.pkgInfo._1" value="1"/>
>>> +<set field="packInput.qtyInfo._1" value="1"/>
>>> +<set field="packInput.prdInfo._1" value="GZ-2644"/>
>>> +<set field="packInput.iteInfo._1" value="00001"/>
>>> +<set field="packInput.wgtInfo._1" value="0"/>
>>> +<set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
>>> +<set field="packInput.numPackagesInfo._1" value="1"/>
>>> +<call-service service-name="packBulkItems" in-map-name="packInput">
>>> +<result-to-field result-name="responseMessage"/>
>>> +</call-service>
>>> +<log level="info" message="=====>>> Service: packBulkItems, Response = ${responseMessage}"/>
>>> +<set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
>>> +<call-service service-name="completePack" in-map-name="completePackInput">
>>> +<result-to-field result-name="shipmentId"/>
>>> +</call-service>
>>> +<log level="info" message="=====>>> Service: completePack, shipmentId = ${shipmentId}"/>
>>> +<!-- Step 3 -->
>>> +<entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
>>> +<field-map field-name="orderId" from-field="orderHeader.orderId"/>
>>> +</entity-and>
>>> +<assert>
>>> +<not><if-empty field="invoices"/></not>
>>> +</assert>
>>> +<check-errors/>
>>> +</simple-method>
>>> +</simple-methods>
>>>
>>> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
>>> ------------------------------------------------------------------------------
>>> svn:eol-style = native
>>>
>>> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
>>> ------------------------------------------------------------------------------
>>> svn:keywords = "Date Rev Author URL Id"
>>>
>>> Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
>>> ------------------------------------------------------------------------------
>>> svn:mime-type = text/xml
>>>
>>> Modified: ofbiz/trunk/applications/accounting/testdef/invoicetests.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/testdef/invoicetests.xml?rev=1163084&r1=1163083&r2=1163084&view=diff
>>> ==============================================================================
>>> --- ofbiz/trunk/applications/accounting/testdef/invoicetests.xml (original)
>>> +++ ofbiz/trunk/applications/accounting/testdef/invoicetests.xml Tue Aug 30 04:25:28 2011
>>> @@ -25,5 +25,7 @@
>>> <test-case case-name="auto-invoice-tests">
>>> <simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/AutoInvoiceTests.xml"/>
>>> </test-case>
>>> -
>>> +<test-case case-name="invoice-per-shipment-tests">
>>> +<simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml"/>
>>> +</test-case>
>>> </test-suite>
>>>
>>> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar
>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar?rev=1163084&view=auto
>>> ==============================================================================
>>> Binary file - no diff available.
>>>
>>> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar
>>> ------------------------------------------------------------------------------
>>> svn:mime-type = application/octet-stream
>>>
>>> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar
>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar?rev=1163084&view=auto
>>> ==============================================================================
>>> Binary file - no diff available.
>>>
>>> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar
>>> ------------------------------------------------------------------------------
>>> svn:mime-type = application/octet-stream
>>>
>>> Added: ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar
>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar?rev=1163084&view=auto
>>> ==============================================================================
>>> Binary file - no diff available.
>>>
>>> Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar
>>> ------------------------------------------------------------------------------
>>> svn:mime-type = application/octet-stream
>>>
>>> Modified: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java?rev=1163084&r1=1163083&r2=1163084&view=diff
>>> ==============================================================================
>>> --- ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java (original)
>>> +++ ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java Tue Aug 30 04:25:28 2011
>>> @@ -30,8 +30,16 @@ import org.ofbiz.base.util.UtilMisc;
>>> import org.ofbiz.base.util.UtilValidate;
>>> import org.ofbiz.minilang.MiniLangException;
>>> import org.ofbiz.minilang.SimpleMethod;
>>> +import org.ofbiz.security.Security;
>>> +import org.ofbiz.security.SecurityConfigurationException;
>>> +import org.ofbiz.security.SecurityFactory;
>>> import org.ofbiz.service.ModelService;
>>> import org.ofbiz.service.testtools.OFBizTestCase;
>>> +
>>> +import org.springframework.mock.web.MockHttpServletRequest;
>>> +import org.springframework.mock.web.MockHttpServletResponse;
>>> +import org.springframework.mock.web.MockServletContext;
>>> +
>>> import org.w3c.dom.Element;
>>>
>>> public class SimpleMethodTest extends OFBizTestCase {
>>> @@ -40,6 +48,9 @@ public class SimpleMethodTest extends OF
>>>
>>> protected String methodLocation;
>>> protected String methodName;
>>> +
>>> + public static MockHttpServletRequest request = new MockHttpServletRequest();
>>> + public static MockHttpServletResponse response = new MockHttpServletResponse();
>>>
>>> /**
>>> * Tests of Simple Method
>>> @@ -64,11 +75,17 @@ public class SimpleMethodTest extends OF
>>> @Override
>>> public void run(TestResult result) {
>>> result.startTest(this);
>>> -
>>> +
>>> try {
>>> -
>>> + // define request
>>> + Security security = SecurityFactory.getInstance(delegator);
>>> + MockServletContext servletContext = new MockServletContext();
>>> + request.setAttribute("security", security);
>>> + request.setAttribute("servletContext", servletContext);
>>> + request.setAttribute("delegator", delegator);
>>> + request.setAttribute("dispatcher", dispatcher);
>>> Map<String, Object> serviceResult = SimpleMethod.runSimpleService(methodLocation, methodName,
>>> dispatcher.getDispatchContext(),
>>> - UtilMisc.toMap("test", this, "testResult", result, "locale", Locale.getDefault()));
>>> + UtilMisc.toMap("test", this, "testResult", result, "locale", Locale.getDefault(), "request", request,
>>> "response", response));
>>>
>>> // do something with the errorMessage
>>> String errorMessage = (String) serviceResult.get(ModelService.ERROR_MESSAGE);
>>> @@ -94,6 +111,8 @@ public class SimpleMethodTest extends OF
>>>
>>> } catch (MiniLangException e) {
>>> result.addError(this, e);
>>> + } catch (SecurityConfigurationException e) {
>>> + result.addError(this, e);
>>> }
>>>
>>> result.endTest(this);
>>>
>>> Modified: ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml?rev=1163084&r1=1163083&r2=1163084&view=diff
>>> ==============================================================================
>>> --- ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml (original)
>>> +++ ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml Tue Aug 30 04:25:28 2011
>>> @@ -20,7 +20,7 @@ under the License.
>>>
>>> <entity-engine-xml>
>>> <!--Demo data for a sales order -->
>>> -<OrderHeader orderId="DEMO10090" orderTypeId="SALES_ORDER" orderName="" salesChannelEnumId="WEB_SALES_CHANNEL"
>>> orderDate="2008-04-23 16:49:27.392" entryDate="2008-04-23 16:49:27.392" priority="2" visitId="10002" statusId="ORDER_APPROVED"
>>> createdBy="admin" currencyUom="USD" webSiteId="OrderEntry" productStoreId="9000" remainingSubTotal="38.40" grandTotal="50.85"
>>> lastUpdatedStamp="2008-04-23 16:49:33.196" lastUpdatedTxStamp="2008-04-23 16:49:33.118" createdStamp="2008-04-23 16:49:27.716"
>>> createdTxStamp="2008-04-23 16:49:27.349"/>
>>> +<OrderHeader orderId="DEMO10090" orderTypeId="SALES_ORDER" orderName="" salesChannelEnumId="WEB_SALES_CHANNEL"
>>> orderDate="2008-04-23 16:49:27.392" entryDate="2008-04-23 16:49:27.392" priority="2" visitId="10002" statusId="ORDER_APPROVED"
>>> createdBy="admin" currencyUom="USD" webSiteId="OrderEntry" productStoreId="9000" remainingSubTotal="38.40" grandTotal="50.85"
>>> invoicePerShipment="Y" lastUpdatedStamp="2008-04-23 16:49:33.196" lastUpdatedTxStamp="2008-04-23 16:49:33.118"
>>> createdStamp="2008-04-23 16:49:27.716" createdTxStamp="2008-04-23 16:49:27.349"/>
>>> <OrderItem orderId="DEMO10090" orderItemSeqId="00001" orderItemTypeId="PRODUCT_ORDER_ITEM" productId="GZ-2644"
>>> prodCatalogId="DemoCatalog" isPromo="N" quantity="2.0" selectedAmount="0.0" unitPrice="38.4" unitListPrice="48.0"
>>> isModifiedPrice="N" itemDescription="Round Gizmo" correspondingPoId="" statusId="ITEM_APPROVED" lastUpdatedStamp="2008-04-23
>>> 16:49:33.514" lastUpdatedTxStamp="2008-04-23 16:49:33.484" createdStamp="2008-04-23 16:49:28.128" createdTxStamp="2008-04-23
>>> 16:49:27.349"/>
>>> <OrderItemPriceInfo orderItemPriceInfoId="9000" orderId="DEMO10090" orderItemSeqId="00001" productPriceRuleId="9000"
>>> productPriceActionSeqId="01" modifyAmount="-9.600" description="[PRODUCT_CATEGORY_IDIsPROMOTIONS]
>>> [list:48.0;avgCost:48.0;margin:0.0] [type:PRICE_POL]" lastUpdatedStamp="2008-04-23 16:49:28.682" lastUpdatedTxStamp="2008-04-23
>>> 16:49:27.349" createdStamp="2008-04-23 16:49:28.682" createdTxStamp="2008-04-23 16:49:27.349"/>
>>>
>>>
>>>
Re: svn commit: r1163084 - in /ofbiz/trunk: ./
applications/accounting/script/org/ofbiz/accounting/test/
applications/accounting/testdef/ framework/testtools/lib/
framework/testtools/src/org/ofbiz/testtools/ specialpurpose/ecommerce/data/
Posted by Hans Bakker <ma...@antwebsystems.com>.
not sure what you mean here Jacques?
On Sat, 2011-09-10 at 23:04 +0200, Jacques Le Roux wrote:
> The AccountingConfig.properties file should be removed after the test
>
> Thanks
>
> Jacques
>
> From: <ha...@apache.org>
> > Author: hansbak
> > Date: Tue Aug 30 04:25:28 2011
> > New Revision: 1163084
> >
> > URL: http://svn.apache.org/viewvc?rev=1163084&view=rev
> > Log:
> > junit tests to test the change in r1163083 to have invoicing per order/or shipment. Also added spring jar files to be able to
> > test ofbiz events.
> >
> > Added:
> > ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml (with props)
> > ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar (with props)
> > ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar (with props)
> > ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar (with props)
> > Modified:
> > ofbiz/trunk/.classpath
> > ofbiz/trunk/applications/accounting/testdef/invoicetests.xml
> > ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java
> > ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml
> >
> > Modified: ofbiz/trunk/.classpath
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/.classpath?rev=1163084&r1=1163083&r2=1163084&view=diff
> > ==============================================================================
> > --- ofbiz/trunk/.classpath (original)
> > +++ ofbiz/trunk/.classpath Tue Aug 30 04:25:28 2011
> > @@ -158,6 +158,9 @@
> > <classpathentry kind="lib" path="framework/service/lib/neethi-2.0.4.jar"/>
> > <classpathentry kind="lib" path="framework/service/lib/XmlSchema-1.4.3.jar"/>
> > <classpathentry kind="lib" path="framework/testtools/lib/selenium-java-client-driver.jar"/>
> > + <classpathentry kind="lib" path="framework/testtools/lib/org.springframework.test-3.1.0.M2.jar"/>
> > + <classpathentry kind="lib" path="framework/testtools/lib/org.springframework.web-3.1.0.M2.jar"/>
> > + <classpathentry kind="lib" path="framework/testtools/lib/org.springframework.core-3.1.0.M2.jar"/>
> > <classpathentry kind="lib" path="framework/webapp/lib/DataVision-1.0.0.jar"/>
> > <classpathentry kind="lib" path="framework/webapp/lib/ezmorph-0.9.1.jar"/>
> > <classpathentry kind="lib" path="framework/webapp/lib/iText-2.1.7.jar"/>
> >
> > Added: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> > URL:
> > http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml?rev=1163084&view=auto
> > ==============================================================================
> > --- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml (added)
> > +++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml Tue Aug 30 04:25:28 2011
> > @@ -0,0 +1,529 @@
> > +<?xml version="1.0" encoding="UTF-8"?>
> > +<!--
> > +Licensed to the Apache Software Foundation (ASF) under one
> > +or more contributor license agreements. See the NOTICE file
> > +distributed with this work for additional information
> > +regarding copyright ownership. The ASF licenses this file
> > +to you under the Apache License, Version 2.0 (the
> > +"License"); you may not use this file except in compliance
> > +with the License. You may obtain a copy of the License at
> > +
> > +http://www.apache.org/licenses/LICENSE-2.0
> > +
> > +Unless required by applicable law or agreed to in writing,
> > +software distributed under the License is distributed on an
> > +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > +KIND, either express or implied. See the License for the
> > +specific language governing permissions and limitations
> > +under the License.
> > +-->
> > +
> > +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
> > +
> > + <simple-method method-name="testInvoicePerShipmentSetFalse" short-description="Test Invoice Per Shipment Set False"
> > login-required="false">
> > + <!-- Test Invoice Per Shipment
> > + Step 1) Set create.invoice.per.shipment=N in AccountingConfig.properties file.
> > + Step 2) Create order and approve order.
> > + Step 3) Pack Shipment For Ship Group.
> > + Step 4) Check invoice should not created.
> > + -->
> > + <!-- Step 1 -->
> > + <call-bsh><![CDATA[
> > + import org.ofbiz.base.util.UtilProperties;
> > + UtilProperties.setPropertyValue("AccountingConfig.properties", "create.invoice.per.shipment", "N");
> > + ]]></call-bsh>
> > + <log level="info" message="===== >>> Set Accounting.properties / create.invoice.per.shipment = N"/>
> > + <!-- Step 2 -->
> > + <field-to-session field="nullField" session-name="orderMode"/>
> > + <set field="request" from-field="parameters.request"/>
> > + <set field="response" from-field="parameters.response"/>
> > + <call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : routeOrderEntry, Response : ${result}"/>
> > + <entity-one value-field="userLogin" entity-name="UserLogin">
> > + <field-map field-name="userLoginId" value="admin"/>
> > + </entity-one>
> > + <call-bsh><![CDATA[
> > + request.setParameter("orderMode", "SALES_ORDER");
> > + request.setParameter("productStoreId", "9000");
> > + request.setParameter("partyId", "DemoCustomer");
> > + request.setParameter("currencyUom", "USD");
> > + session = request.getSession();
> > + session.setAttribute("userLogin", userLogin);
> > + ]]></call-bsh>
> > + <call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : initializeOrderEntry, Response : ${result}"/>
> > + <call-class-method method-name="setOrderCurrencyAgreementShipDates"
> > class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : setOrderCurrencyAgreementShipDates, Response : ${result}"/>
> > + <call-bsh><![CDATA[
> > + request.setParameter("add_product_id", "GZ-1000");
> > + ]]></call-bsh>
> > + <call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : addToCart, Response : ${result}"/>
> > + <call-bsh><![CDATA[
> > + request.setParameter("checkoutpage", "quick");
> > + request.setParameter("shipping_contact_mech_id", "9015");
> > + request.setParameter("shipping_method", "GROUND@UPS");
> > + request.setParameter("checkOutPaymentId", "EXT_COD");
> > + request.setParameter("is_gift", "false");
> > + request.setParameter("may_split", "false");
> > + ]]></call-bsh>
> > + <field-to-request field="nullField" request-name="shoppingCart"/>
> > + <call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : setQuickCheckOutOptions, Response : ${result}"/>
> >+ <call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : createOrder, Response : ${result}"/>
> > + <call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : processPayment, Response : ${result}"/>
> > + <call-service-asynch service-name="sendOrderConfirmation"/>
> > + <call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : destroyCart, Response = ${result}"/>
> > + <!-- Step 3 -->
> > + <entity-condition list="orderHeaders" entity-name="OrderHeader">
> > + <condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> > + <order-by field-name="-entryDate"/>
> > + </entity-condition>
> > + <first-from-list entry="orderHeader" list="orderHeaders"/>
> > + <log level="info" message="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx : ${orderHeader}"/>
> > + <call-bsh><![CDATA[
> > + import org.ofbiz.shipment.packing.PackingSession;
> > + packingSession = new PackingSession(dispatcher, userLogin);
> > + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> > + packingSession.setPrimaryShipGroupSeqId("00001");
> > + parameters.put("packingSession", packingSession);
> > + ]]></call-bsh>
> > + <set field="packInput.orderId" from-field="orderHeader.orderId"/>
> > + <set field="packInput.shipGroupSeqId" value="00001"/>
> > + <set field="packInput.packingSession" from-field="parameters.packingSession"/>
> > + <set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> > + <set field="packInput.userLogin" from-field="userLogin"/>
> > + <!-- Items -->
> > + <set field="packInput.selInfo._1" value="Y"/>
> > + <set field="packInput.pkgInfo._1" value="1"/>
> > + <set field="packInput.qtyInfo._1" value="1"/>
> > + <set field="packInput.prdInfo._1" value="GZ-1000"/>
> > + <set field="packInput.iteInfo._1" value="00001"/>
> > + <set field="packInput.wgtInfo._1" value="0"/>
> > + <set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> > + <set field="packInput.numPackagesInfo._1" value="1"/>
> > + <call-service service-name="packBulkItems" in-map-name="packInput">
> > + <result-to-field result-name="responseMessage"/>
> > + </call-service>
> > + <log level="info" message="===== >>> Service: packBulkItems, Response = ${responseMessage}"/>
> > + <set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> > + <call-service service-name="completePack" in-map-name="completePackInput">
> > + <result-to-field result-name="shipmentId"/>
> > + </call-service>
> > + <log level="info" message="===== >>> Service: completePack, shipmentId = ${shipmentId}"/>
> > + <!-- Step 4 -->
> > + <entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> > + <field-map field-name="orderId" from-field="orderHeader.orderId"/>
> > + </entity-and>
> > + <assert>
> > + <if-empty field="invoices"/>
> > + </assert>
> > + <check-errors/>
> > + </simple-method>
> > + <simple-method method-name="testInvoicePerShipmentSetTrue" short-description="Test Invoice Per Shipment Set True"
> > login-required="false">
> > + <!-- Test Invoice Per Shipment
> > + Step 1) Set create.invoice.per.shipment=N in AccountingConfig.properties file.
> > + Step 2) Create order and approve order.
> > + Step 3) Pack Shipment For Ship Group.
> > + Step 4) Check invoice should created.
> > + -->
> > + <!-- Step 1 -->
> > + <call-bsh><![CDATA[
> > + import org.ofbiz.base.util.UtilProperties;
> > + UtilProperties.setPropertyValue("AccountingConfig.properties", "create.invoice.per.shipment", "Y");
> > + ]]></call-bsh>
> > + <log level="info" message="===== >>> Set Accounting.properties / create.invoice.per.shipment = Y"/>
> > + <!-- Step 2 -->
> > + <field-to-session field="nullField" session-name="orderMode"/>
> > + <set field="request" from-field="parameters.request"/>
> > + <set field="response" from-field="parameters.response"/>
> > + <call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : routeOrderEntry, Response = ${result}"/>
> > + <entity-one value-field="userLogin" entity-name="UserLogin">
> > + <field-map field-name="userLoginId" value="admin"/>
> > + </entity-one>
> > + <call-bsh><![CDATA[
> > + request.setParameter("orderMode", "SALES_ORDER");
> > + request.setParameter("productStoreId", "9000");
> > + request.setParameter("partyId", "DemoCustomer");
> > + request.setParameter("currencyUom", "USD");
> > + session = request.getSession();
> > + session.setAttribute("userLogin", userLogin);
> > + ]]></call-bsh>
> > + <call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : initializeOrderEntry, Response = ${result}"/>
> > + <call-class-method method-name="setOrderCurrencyAgreementShipDates"
> > class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
> > + <call-bsh><![CDATA[
> > + request.setParameter("add_product_id", "GZ-1000");
> > + ]]></call-bsh>
> > + <call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : addToCart, Response = ${result}"/>
> > + <call-bsh><![CDATA[
> > + request.setParameter("checkoutpage", "quick");
> > + request.setParameter("shipping_contact_mech_id", "9015");
> > + request.setParameter("shipping_method", "GROUND@UPS");
> > + request.setParameter("checkOutPaymentId", "EXT_COD");
> > + request.setParameter("is_gift", "false");
> > + request.setParameter("may_split", "false");
> > + ]]></call-bsh>
> > + <field-to-request field="nullField" request-name="shoppingCart"/>
> > + <call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : setQuickCheckOutOptions, Response = ${result}"/>
> > + <call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : createOrder, Response = ${result}"/>
> > + <call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : processPayment, Response = ${result}"/>
> > + <call-service-asynch service-name="sendOrderConfirmation"/>
> > + <call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : destroyCart, Response = ${result}"/>
> > + <!-- Step 3 -->
> > + <entity-condition list="orderHeaders" entity-name="OrderHeader">
> > + <condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> > + <order-by field-name="-entryDate"/>
> > + </entity-condition>
> > + <first-from-list entry="orderHeader" list="orderHeaders"/>
> > + <call-bsh><![CDATA[
> > + import org.ofbiz.shipment.packing.PackingSession;
> > + packingSession = new PackingSession(dispatcher, userLogin);
> > + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> > + packingSession.setPrimaryShipGroupSeqId("00001");
> > + parameters.put("packingSession", packingSession);
> > + ]]></call-bsh>
> > + <set field="packInput.orderId" from-field="orderHeader.orderId"/>
> > + <set field="packInput.shipGroupSeqId" value="00001"/>
> > + <set field="packInput.packingSession" from-field="parameters.packingSession"/>
> > + <set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> > + <set field="packInput.userLogin" from-field="userLogin"/>
> > + <!-- Items -->
> > + <set field="packInput.selInfo._1" value="Y"/>
> > + <set field="packInput.pkgInfo._1" value="1"/>
> > + <set field="packInput.qtyInfo._1" value="1"/>
> > + <set field="packInput.prdInfo._1" value="GZ-1000"/>
> > + <set field="packInput.iteInfo._1" value="00001"/>
> > + <set field="packInput.wgtInfo._1" value="0"/>
> > + <set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> > + <set field="packInput.numPackagesInfo._1" value="1"/>
> > + <call-service service-name="packBulkItems" in-map-name="packInput">
> > + <result-to-field result-name="responseMessage"/>
> > + </call-service>
> > + <log level="info" message="===== >>> Service: packBulkItems, Response = ${responseMessage}"/>
> > + <set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> > + <call-service service-name="completePack" in-map-name="completePackInput">
> > + <result-to-field result-name="shipmentId"/>
> > + </call-service>
> > + <log level="info" message="===== >>> Service: completePack, shipmentId = ${shipmentId}"/>
> > + <!-- Step 4 -->
> > + <entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> > + <field-map field-name="orderId" from-field="orderHeader.orderId"/>
> > + </entity-and>
> > + <assert>
> > + <not><if-empty field="invoices"/></not>
> > + </assert>
> > + <check-errors/>
> > + </simple-method>
> > + <simple-method method-name="testInvoicePerShipmentSetOrderFalse" short-description="Test Invoice Per Shipment Set Order
> > False" login-required="false">
> > + <!-- Test Invoice Per Shipment
> > + Step 1) Create order and set invoicePerShipment=N.
> > + Step 2) Pack Shipment For Ship Group.
> > + Step 3) Check invoice should not created.
> > + -->
> > + <!-- Step 1 -->
> > + <field-to-session field="nullField" session-name="orderMode"/>
> > + <set field="request" from-field="parameters.request"/>
> > + <set field="response" from-field="parameters.response"/>
> > + <call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : routeOrderEntry, Response = ${result}"/>
> > + <entity-one value-field="userLogin" entity-name="UserLogin">
> > + <field-map field-name="userLoginId" value="admin"/>
> > + </entity-one>
> > + <call-bsh><![CDATA[
> > + request.setParameter("orderMode", "SALES_ORDER");
> > + request.setParameter("productStoreId", "9000");
> > + request.setParameter("partyId", "DemoCustomer");
> > + request.setParameter("currencyUom", "USD");
> > + session = request.getSession();
> > + session.setAttribute("userLogin", userLogin);
> > + ]]></call-bsh>
> > + <call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : initializeOrderEntry, Response = ${result}"/>
> > + <call-class-method method-name="setOrderCurrencyAgreementShipDates"
> > class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
> > + <call-bsh><![CDATA[
> > + request.setParameter("add_product_id", "GZ-2644");
> > + ]]></call-bsh>
> > + <call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : addToCart, Response = ${result}"/>
> > + <call-bsh><![CDATA[
> > + request.setParameter("checkoutpage", "quick");
> > + request.setParameter("shipping_contact_mech_id", "9015");
> > + request.setParameter("shipping_method", "GROUND@UPS");
> > + request.setParameter("checkOutPaymentId", "EXT_COD");
> > + request.setParameter("is_gift", "false");
> > + request.setParameter("may_split", "false");
> > + ]]></call-bsh>
> > + <field-to-request field="nullField" request-name="shoppingCart"/>
> > + <call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : setQuickCheckOutOptions, Response = ${result}"/>
> > + <call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : createOrder, Response = ${result}"/>
> > + <call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : processPayment, Response = ${result}"/>
> > + <call-service-asynch service-name="sendOrderConfirmation"/>
> > + <call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : destroyCart, Response = ${result}"/>
> > + <entity-condition list="orderHeaders" entity-name="OrderHeader">
> > + <condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> > + <order-by field-name="-entryDate"/>
> > + </entity-condition>
> > + <first-from-list entry="orderHeader" list="orderHeaders"/>
> > + <set field="orderInput.orderId" from-field="orderHeader.orderId"/>
> > + <set field="orderInput.invoicePerShipment" value="N"/>
> > + <set field="orderInput.userLogin" from-field="userLogin"/>
> > + <call-service service-name="updateOrderHeader" in-map-name="orderInput">
> > + <result-to-field result-name="responseMessage"/>
> > + </call-service>
> > + <log level="info" message="===== >>> Service : updateOrderHeader / invoicePerShipment = N, Response =
> > ${responseMessage}"/>
> > + <!-- Step 2 -->
> > + <call-bsh><![CDATA[
> > + import org.ofbiz.shipment.packing.PackingSession;
> > + packingSession = new PackingSession(dispatcher, userLogin);
> > + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> > + packingSession.setPrimaryShipGroupSeqId("00001");
> > + parameters.put("packingSession", packingSession);
> > + ]]></call-bsh>
> > + <set field="packInput.orderId" from-field="orderHeader.orderId"/>
> > + <set field="packInput.shipGroupSeqId" value="00001"/>
> > + <set field="packInput.packingSession" from-field="parameters.packingSession"/>
> > + <set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> > + <set field="packInput.userLogin" from-field="userLogin"/>
> > + <!-- Items -->
> > + <set field="packInput.selInfo._1" value="Y"/>
> > + <set field="packInput.pkgInfo._1" value="1"/>
> > + <set field="packInput.qtyInfo._1" value="1"/>
> > + <set field="packInput.prdInfo._1" value="GZ-2644"/>
> > + <set field="packInput.iteInfo._1" value="00001"/>
> > + <set field="packInput.wgtInfo._1" value="0"/>
> > + <set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> > + <set field="packInput.numPackagesInfo._1" value="1"/>
> > + <call-service service-name="packBulkItems" in-map-name="packInput">
> > + <result-to-field result-name="responseMessage"/>
> > + </call-service>
> > + <log level="info" message="===== >>> Service: packBulkItems, Response = ${responseMessage}"/>
> > + <set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> > + <call-service service-name="completePack" in-map-name="completePackInput">
> > + <result-to-field result-name="shipmentId"/>
> > + </call-service>
> > + <log level="info" message="===== >>> Service: completePack, shipmentId = ${shipmentId}"/>
> > + <!-- Step 3 -->
> > + <entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> > + <field-map field-name="orderId" from-field="orderHeader.orderId"/>
> > + </entity-and>
> > + <assert>
> > + <if-empty field="invoices"/>
> > + </assert>
> > + <check-errors/>
> > + </simple-method>
> > + <simple-method method-name="testInvoicePerShipmentSetOrderTrue" short-description="Test Invoice Per Shipment Set Order True"
> > login-required="false">
> > + <!-- Test Invoice Per Shipment
> > + Step 1) Create order and set invoicePerShipment=Y.
> > + Step 2) Pack Shipment For Ship Group.
> > + Step 3) Check invoice should created.
> > + -->
> > + <!-- Step 1 -->
> > + <field-to-session field="nullField" session-name="orderMode"/>
> > + <set field="request" from-field="parameters.request"/>
> > + <set field="response" from-field="parameters.response"/>
> > + <call-class-method method-name="routeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : routeOrderEntry, Response = ${result}"/>
> > + <entity-one value-field="userLogin" entity-name="UserLogin">
> > + <field-map field-name="userLoginId" value="admin"/>
> > + </entity-one>
> > + <call-bsh><![CDATA[
> > + request.setParameter("orderMode", "SALES_ORDER");
> > + request.setParameter("productStoreId", "9000");
> > + request.setParameter("partyId", "DemoCustomer");
> > + request.setParameter("currencyUom", "USD");
> > + session = request.getSession();
> > + session.setAttribute("userLogin", userLogin);
> > + ]]></call-bsh>
> > + <call-class-method method-name="initializeOrderEntry" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : initializeOrderEntry, Response = ${result}"/>
> > + <call-class-method method-name="setOrderCurrencyAgreementShipDates"
> > class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : setOrderCurrencyAgreementShipDates, Response = ${result}"/>
> > + <call-bsh><![CDATA[
> > + request.setParameter("add_product_id", "GZ-2644");
> > + ]]></call-bsh>
> > + <call-class-method method-name="addToCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : addToCart, Response = ${result}"/>
> > + <call-bsh><![CDATA[
> > + request.setParameter("checkoutpage", "quick");
> > + request.setParameter("shipping_contact_mech_id", "9015");
> > + request.setParameter("shipping_method", "GROUND@UPS");
> > + request.setParameter("checkOutPaymentId", "EXT_COD");
> > + request.setParameter("is_gift", "false");
> > + request.setParameter("may_split", "false");
> > + ]]></call-bsh>
> > + <field-to-request field="nullField" request-name="shoppingCart"/>
> > + <call-class-method method-name="setQuickCheckOutOptions" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : setQuickCheckOutOptions, Response = ${result}"/>
> > + <call-class-method method-name="createOrder" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents" ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : createOrder, Response = ${result}"/>
> > + <call-class-method method-name="processPayment" class-name="org.ofbiz.order.shoppingcart.CheckOutEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : processPayment, Response = ${result}"/>
> > + <call-service-asynch service-name="sendOrderConfirmation"/>
> > + <call-class-method method-name="destroyCart" class-name="org.ofbiz.order.shoppingcart.ShoppingCartEvents"
> > ret-field="result">
> > + <field field="request" type="javax.servlet.http.HttpServletRequest"/>
> > + <field field="response" type="javax.servlet.http.HttpServletResponse"/>
> > + </call-class-method>
> > + <log level="info" message="===== >>> Event : destroyCart, Response = ${result}"/>
> > + <entity-condition list="orderHeaders" entity-name="OrderHeader">
> > + <condition-expr field-name="orderTypeId" value="SALES_ORDER"/>
> > + <order-by field-name="-entryDate"/>
> > + </entity-condition>
> > + <first-from-list entry="orderHeader" list="orderHeaders"/>
> > + <set field="orderInput.orderId" from-field="orderHeader.orderId"/>
> > + <set field="orderInput.invoicePerShipment" value="Y"/>
> > + <set field="orderInput.userLogin" from-field="userLogin"/>
> > + <call-service service-name="updateOrderHeader" in-map-name="orderInput">
> > + <result-to-field result-name="responseMessage"/>
> > + </call-service>
> > + <log level="info" message="===== >>> Service : updateOrderHeader / invoicePerShipment = Y, Response =
> > ${responseMessage}"/>
> > + <!-- Step 2 -->
> > + <call-bsh><![CDATA[
> > + import org.ofbiz.shipment.packing.PackingSession;
> > + packingSession = new PackingSession(dispatcher, userLogin);
> > + packingSession.setPrimaryOrderId(orderHeader.get("orderId"));
> > + packingSession.setPrimaryShipGroupSeqId("00001");
> > + parameters.put("packingSession", packingSession);
> > + ]]></call-bsh>
> > + <set field="packInput.orderId" from-field="orderHeader.orderId"/>
> > + <set field="packInput.shipGroupSeqId" value="00001"/>
> > + <set field="packInput.packingSession" from-field="parameters.packingSession"/>
> > + <set field="packInput.nextPackageSeq" value="1" type="Integer"/>
> > + <set field="packInput.userLogin" from-field="userLogin"/>
> > + <!-- Items -->
> > + <set field="packInput.selInfo._1" value="Y"/>
> > + <set field="packInput.pkgInfo._1" value="1"/>
> > + <set field="packInput.qtyInfo._1" value="1"/>
> > + <set field="packInput.prdInfo._1" value="GZ-2644"/>
> > + <set field="packInput.iteInfo._1" value="00001"/>
> > + <set field="packInput.wgtInfo._1" value="0"/>
> > + <set field="packInput.boxTypeInfo._1" value="FX10KGBOX"/>
> > + <set field="packInput.numPackagesInfo._1" value="1"/>
> > + <call-service service-name="packBulkItems" in-map-name="packInput">
> > + <result-to-field result-name="responseMessage"/>
> > + </call-service>
> > + <log level="info" message="===== >>> Service: packBulkItems, Response = ${responseMessage}"/>
> > + <set-service-fields service-name="completePack" to-map="completePackInput" map="packInput"/>
> > + <call-service service-name="completePack" in-map-name="completePackInput">
> > + <result-to-field result-name="shipmentId"/>
> > + </call-service>
> > + <log level="info" message="===== >>> Service: completePack, shipmentId = ${shipmentId}"/>
> > + <!-- Step 3 -->
> > + <entity-and list="invoices" entity-name="OrderItemBillingAndInvoiceAndItem">
> > + <field-map field-name="orderId" from-field="orderHeader.orderId"/>
> > + </entity-and>
> > + <assert>
> > + <not><if-empty field="invoices"/></not>
> > + </assert>
> > + <check-errors/>
> > + </simple-method>
> > +</simple-methods>
> >
> > Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> > ------------------------------------------------------------------------------
> > svn:eol-style = native
> >
> > Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> > ------------------------------------------------------------------------------
> > svn:keywords = "Date Rev Author URL Id"
> >
> > Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml
> > ------------------------------------------------------------------------------
> > svn:mime-type = text/xml
> >
> > Modified: ofbiz/trunk/applications/accounting/testdef/invoicetests.xml
> > URL:
> > http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/testdef/invoicetests.xml?rev=1163084&r1=1163083&r2=1163084&view=diff
> > ==============================================================================
> > --- ofbiz/trunk/applications/accounting/testdef/invoicetests.xml (original)
> > +++ ofbiz/trunk/applications/accounting/testdef/invoicetests.xml Tue Aug 30 04:25:28 2011
> > @@ -25,5 +25,7 @@
> > <test-case case-name="auto-invoice-tests">
> > <simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/AutoInvoiceTests.xml"/>
> > </test-case>
> > -
> > + <test-case case-name="invoice-per-shipment-tests">
> > + <simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/InvoicePerShipmentTests.xml"/>
> > + </test-case>
> > </test-suite>
> >
> > Added: ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar?rev=1163084&view=auto
> > ==============================================================================
> > Binary file - no diff available.
> >
> > Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.core-3.1.0.M2.jar
> > ------------------------------------------------------------------------------
> > svn:mime-type = application/octet-stream
> >
> > Added: ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar?rev=1163084&view=auto
> > ==============================================================================
> > Binary file - no diff available.
> >
> > Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.test-3.1.0.M2.jar
> > ------------------------------------------------------------------------------
> > svn:mime-type = application/octet-stream
> >
> > Added: ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar?rev=1163084&view=auto
> > ==============================================================================
> > Binary file - no diff available.
> >
> > Propchange: ofbiz/trunk/framework/testtools/lib/org.springframework.web-3.1.0.M2.jar
> > ------------------------------------------------------------------------------
> > svn:mime-type = application/octet-stream
> >
> > Modified: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java
> > URL:
> > http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java?rev=1163084&r1=1163083&r2=1163084&view=diff
> > ==============================================================================
> > --- ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java (original)
> > +++ ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/SimpleMethodTest.java Tue Aug 30 04:25:28 2011
> > @@ -30,8 +30,16 @@ import org.ofbiz.base.util.UtilMisc;
> > import org.ofbiz.base.util.UtilValidate;
> > import org.ofbiz.minilang.MiniLangException;
> > import org.ofbiz.minilang.SimpleMethod;
> > +import org.ofbiz.security.Security;
> > +import org.ofbiz.security.SecurityConfigurationException;
> > +import org.ofbiz.security.SecurityFactory;
> > import org.ofbiz.service.ModelService;
> > import org.ofbiz.service.testtools.OFBizTestCase;
> > +
> > +import org.springframework.mock.web.MockHttpServletRequest;
> > +import org.springframework.mock.web.MockHttpServletResponse;
> > +import org.springframework.mock.web.MockServletContext;
> > +
> > import org.w3c.dom.Element;
> >
> > public class SimpleMethodTest extends OFBizTestCase {
> > @@ -40,6 +48,9 @@ public class SimpleMethodTest extends OF
> >
> > protected String methodLocation;
> > protected String methodName;
> > +
> > + public static MockHttpServletRequest request = new MockHttpServletRequest();
> > + public static MockHttpServletResponse response = new MockHttpServletResponse();
> >
> > /**
> > * Tests of Simple Method
> > @@ -64,11 +75,17 @@ public class SimpleMethodTest extends OF
> > @Override
> > public void run(TestResult result) {
> > result.startTest(this);
> > -
> > +
> > try {
> > -
> > + // define request
> > + Security security = SecurityFactory.getInstance(delegator);
> > + MockServletContext servletContext = new MockServletContext();
> > + request.setAttribute("security", security);
> > + request.setAttribute("servletContext", servletContext);
> > + request.setAttribute("delegator", delegator);
> > + request.setAttribute("dispatcher", dispatcher);
> > Map<String, Object> serviceResult = SimpleMethod.runSimpleService(methodLocation, methodName,
> > dispatcher.getDispatchContext(),
> > - UtilMisc.toMap("test", this, "testResult", result, "locale", Locale.getDefault()));
> > + UtilMisc.toMap("test", this, "testResult", result, "locale", Locale.getDefault(), "request", request,
> > "response", response));
> >
> > // do something with the errorMessage
> > String errorMessage = (String) serviceResult.get(ModelService.ERROR_MESSAGE);
> > @@ -94,6 +111,8 @@ public class SimpleMethodTest extends OF
> >
> > } catch (MiniLangException e) {
> > result.addError(this, e);
> > + } catch (SecurityConfigurationException e) {
> > + result.addError(this, e);
> > }
> >
> > result.endTest(this);
> >
> > Modified: ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml
> > URL:
> > http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml?rev=1163084&r1=1163083&r2=1163084&view=diff
> > ==============================================================================
> > --- ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml (original)
> > +++ ofbiz/trunk/specialpurpose/ecommerce/data/DemoOrderTestData.xml Tue Aug 30 04:25:28 2011
> > @@ -20,7 +20,7 @@ under the License.
> >
> > <entity-engine-xml>
> > <!--Demo data for a sales order -->
> > - <OrderHeader orderId="DEMO10090" orderTypeId="SALES_ORDER" orderName="" salesChannelEnumId="WEB_SALES_CHANNEL"
> > orderDate="2008-04-23 16:49:27.392" entryDate="2008-04-23 16:49:27.392" priority="2" visitId="10002" statusId="ORDER_APPROVED"
> > createdBy="admin" currencyUom="USD" webSiteId="OrderEntry" productStoreId="9000" remainingSubTotal="38.40" grandTotal="50.85"
> > lastUpdatedStamp="2008-04-23 16:49:33.196" lastUpdatedTxStamp="2008-04-23 16:49:33.118" createdStamp="2008-04-23 16:49:27.716"
> > createdTxStamp="2008-04-23 16:49:27.349"/>
> > + <OrderHeader orderId="DEMO10090" orderTypeId="SALES_ORDER" orderName="" salesChannelEnumId="WEB_SALES_CHANNEL"
> > orderDate="2008-04-23 16:49:27.392" entryDate="2008-04-23 16:49:27.392" priority="2" visitId="10002" statusId="ORDER_APPROVED"
> > createdBy="admin" currencyUom="USD" webSiteId="OrderEntry" productStoreId="9000" remainingSubTotal="38.40" grandTotal="50.85"
> > invoicePerShipment="Y" lastUpdatedStamp="2008-04-23 16:49:33.196" lastUpdatedTxStamp="2008-04-23 16:49:33.118"
> > createdStamp="2008-04-23 16:49:27.716" createdTxStamp="2008-04-23 16:49:27.349"/>
> > <OrderItem orderId="DEMO10090" orderItemSeqId="00001" orderItemTypeId="PRODUCT_ORDER_ITEM" productId="GZ-2644"
> > prodCatalogId="DemoCatalog" isPromo="N" quantity="2.0" selectedAmount="0.0" unitPrice="38.4" unitListPrice="48.0"
> > isModifiedPrice="N" itemDescription="Round Gizmo" correspondingPoId="" statusId="ITEM_APPROVED" lastUpdatedStamp="2008-04-23
> > 16:49:33.514" lastUpdatedTxStamp="2008-04-23 16:49:33.484" createdStamp="2008-04-23 16:49:28.128" createdTxStamp="2008-04-23
> > 16:49:27.349"/>
> > <OrderItemPriceInfo orderItemPriceInfoId="9000" orderId="DEMO10090" orderItemSeqId="00001" productPriceRuleId="9000"
> > productPriceActionSeqId="01" modifyAmount="-9.600" description="[PRODUCT_CATEGORY_IDIsPROMOTIONS]
> > [list:48.0;avgCost:48.0;margin:0.0] [type:PRICE_POL]" lastUpdatedStamp="2008-04-23 16:49:28.682" lastUpdatedTxStamp="2008-04-23
> > 16:49:27.349" createdStamp="2008-04-23 16:49:28.682" createdTxStamp="2008-04-23 16:49:27.349"/>
> >
> >
> >
--
Ofbiz on twitter: http://twitter.com/apache_ofbiz
Alternative ofbiz website: http://www.ofbiz.info
http://www.antwebsystems.com : Quality services for competitive rates.