| <?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" |
| xmlns="http://ofbiz.apache.org/Simple-Method" xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method 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 accounting.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 --> |
| <script>groovy: |
| import org.apache.ofbiz.base.util.UtilProperties; |
| UtilProperties.setPropertyValueInMemory("accounting", "create.invoice.per.shipment", "N"); |
| </script> |
| <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.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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 entity-name="UserLogin" value-field="userLogin"> |
| <field-map field-name="userLoginId" value="admin"/> |
| </entity-one> |
| <script>groovy: |
| request.setParameter("orderMode", "SALES_ORDER"); |
| request.setParameter("productStoreId", "9000"); |
| request.setParameter("partyId", "DemoCustomer"); |
| request.setParameter("currencyUom", "USD"); |
| session = request.getSession(); |
| session.setAttribute("userLogin", userLogin); |
| </script> |
| <call-class-method method-name="initializeOrderEntry" class-name="org.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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}"/> |
| <script>groovy: |
| request.setParameter("add_product_id", "GZ-1000"); |
| </script> |
| <call-class-method method-name="addToCart" class-name="org.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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}"/> |
| <script>groovy: |
| 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"); |
| </script> |
| <field-to-request field="nullField" request-name="shoppingCart"/> |
| <call-class-method method-name="setQuickCheckOutOptions" class-name="org.apache.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.apache.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.apache.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.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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 entity-name="OrderHeader" list="orderHeaders"> |
| <condition-expr field-name="orderTypeId" value="SALES_ORDER"/> |
| <order-by field-name="-entryDate"/> |
| </entity-condition> |
| <first-from-list list="orderHeaders" entry="orderHeader"/> |
| <log level="info" message="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx : ${orderHeader}"/> |
| <script>groovy: |
| import org.apache.ofbiz.shipment.packing.PackingSession; |
| packingSession = new PackingSession(dispatcher, userLogin); |
| packingSession.setPrimaryOrderId(orderHeader.get("orderId")); |
| packingSession.setPrimaryShipGroupSeqId("00001"); |
| parameters.put("packingSession", packingSession); |
| </script> |
| <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.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" map="packInput" to-map="completePackInput"/> |
| <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 entity-name="OrderItemBillingAndInvoiceAndItem" list="invoices"> |
| <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 accounting.properties file. |
| Step 2) Create order and approve order. |
| Step 3) Pack Shipment For Ship Group. |
| Step 4) Check invoice should created. |
| --> |
| <!-- Step 1 --> |
| <script>groovy: |
| import org.apache.ofbiz.base.util.UtilProperties; |
| UtilProperties.setPropertyValueInMemory("accounting", "create.invoice.per.shipment", "Y"); |
| </script> |
| <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.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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 entity-name="UserLogin" value-field="userLogin"> |
| <field-map field-name="userLoginId" value="admin"/> |
| </entity-one> |
| <script>groovy: |
| request.setParameter("orderMode", "SALES_ORDER"); |
| request.setParameter("productStoreId", "9000"); |
| request.setParameter("partyId", "DemoCustomer"); |
| request.setParameter("currencyUom", "USD"); |
| session = request.getSession(); |
| session.setAttribute("userLogin", userLogin); |
| </script> |
| <call-class-method method-name="initializeOrderEntry" class-name="org.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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}"/> |
| <script>groovy: |
| request.setParameter("add_product_id", "GZ-1000"); |
| </script> |
| <call-class-method method-name="addToCart" class-name="org.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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}"/> |
| <script>groovy: |
| 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"); |
| </script> |
| <field-to-request field="nullField" request-name="shoppingCart"/> |
| <call-class-method method-name="setQuickCheckOutOptions" class-name="org.apache.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.apache.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.apache.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.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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 entity-name="OrderHeader" list="orderHeaders"> |
| <condition-expr field-name="orderTypeId" value="SALES_ORDER"/> |
| <order-by field-name="-entryDate"/> |
| </entity-condition> |
| <first-from-list list="orderHeaders" entry="orderHeader"/> |
| <script>groovy: |
| import org.apache.ofbiz.shipment.packing.PackingSession; |
| packingSession = new PackingSession(dispatcher, userLogin); |
| packingSession.setPrimaryOrderId(orderHeader.get("orderId")); |
| packingSession.setPrimaryShipGroupSeqId("00001"); |
| parameters.put("packingSession", packingSession); |
| </script> |
| <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.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" map="packInput" to-map="completePackInput"/> |
| <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 entity-name="OrderItemBillingAndInvoiceAndItem" list="invoices"> |
| <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.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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 entity-name="UserLogin" value-field="userLogin"> |
| <field-map field-name="userLoginId" value="admin"/> |
| </entity-one> |
| <script>groovy: |
| request.setParameter("orderMode", "SALES_ORDER"); |
| request.setParameter("productStoreId", "9000"); |
| request.setParameter("partyId", "DemoCustomer"); |
| request.setParameter("currencyUom", "USD"); |
| session = request.getSession(); |
| session.setAttribute("userLogin", userLogin); |
| </script> |
| <call-class-method method-name="initializeOrderEntry" class-name="org.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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}"/> |
| <script>groovy: |
| request.setParameter("add_product_id", "GZ-2644"); |
| </script> |
| <call-class-method method-name="addToCart" class-name="org.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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}"/> |
| <script>groovy: |
| 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"); |
| </script> |
| <field-to-request field="nullField" request-name="shoppingCart"/> |
| <call-class-method method-name="setQuickCheckOutOptions" class-name="org.apache.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.apache.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.apache.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.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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 entity-name="OrderHeader" list="orderHeaders"> |
| <condition-expr field-name="orderTypeId" value="SALES_ORDER"/> |
| <order-by field-name="-entryDate"/> |
| </entity-condition> |
| <first-from-list list="orderHeaders" entry="orderHeader"/> |
| <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 --> |
| <script>groovy: |
| import org.apache.ofbiz.shipment.packing.PackingSession; |
| packingSession = new PackingSession(dispatcher, userLogin); |
| packingSession.setPrimaryOrderId(orderHeader.get("orderId")); |
| packingSession.setPrimaryShipGroupSeqId("00001"); |
| parameters.put("packingSession", packingSession); |
| </script> |
| <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.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" map="packInput" to-map="completePackInput"/> |
| <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 entity-name="OrderItemBillingAndInvoiceAndItem" list="invoices"> |
| <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.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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 entity-name="UserLogin" value-field="userLogin"> |
| <field-map field-name="userLoginId" value="admin"/> |
| </entity-one> |
| <script>groovy: |
| request.setParameter("orderMode", "SALES_ORDER"); |
| request.setParameter("productStoreId", "9000"); |
| request.setParameter("partyId", "DemoCustomer"); |
| request.setParameter("currencyUom", "USD"); |
| session = request.getSession(); |
| session.setAttribute("userLogin", userLogin); |
| </script> |
| <call-class-method method-name="initializeOrderEntry" class-name="org.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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}"/> |
| <script>groovy: |
| request.setParameter("add_product_id", "GZ-2644"); |
| </script> |
| <call-class-method method-name="addToCart" class-name="org.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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}"/> |
| <script>groovy: |
| 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"); |
| </script> |
| <field-to-request field="nullField" request-name="shoppingCart"/> |
| <call-class-method method-name="setQuickCheckOutOptions" class-name="org.apache.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.apache.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.apache.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.apache.ofbiz.order.shoppingcart.ShoppingCartEvents" ret-field="result"> |
| <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 entity-name="OrderHeader" list="orderHeaders"> |
| <condition-expr field-name="orderTypeId" value="SALES_ORDER"/> |
| <order-by field-name="-entryDate"/> |
| </entity-condition> |
| <first-from-list list="orderHeaders" entry="orderHeader"/> |
| <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 --> |
| <script>groovy: |
| import org.apache.ofbiz.shipment.packing.PackingSession; |
| packingSession = new PackingSession(dispatcher, userLogin); |
| packingSession.setPrimaryOrderId(orderHeader.get("orderId")); |
| packingSession.setPrimaryShipGroupSeqId("00001"); |
| parameters.put("packingSession", packingSession); |
| </script> |
| <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.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" map="packInput" to-map="completePackInput"/> |
| <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 entity-name="OrderItemBillingAndInvoiceAndItem" list="invoices"> |
| <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> |