Administrator
|
The AccountingConfig.properties file should be removed after the test
Thanks Jacques From: <[hidden email]> > 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"/> > > > |
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: <[hidden email]> > > 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. |
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:<[hidden email]> >>> 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"/> >>> >>> >>> |
Administrator
|
Bump...
Jacques From: "Adrian Crum" <[hidden email]> >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:<[hidden email]> >>>> 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"/> >>>> >>>> >>>> |
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" <[hidden email]> > >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:<[hidden email]> > >>>> 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. |
In reply to this post by Jacques Le Roux
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" <[hidden email]> > >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:<[hidden email]> > >>>> 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. |
Free forum by Nabble | Edit this page |