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