| <?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-v2.xsd"> |
| |
| <simple-method method-name="testGroupOrderLimitReached" short-description="Test GroupOrder the limit is reached" login-required="false"> |
| <!-- Test GroupOrder the limit is reached |
| Step 1) Create ProductGroupOrder . |
| Step 2) Create an order. |
| Step 3) Check soldOrderQty is added. |
| Step 4) Check ProductGroupOrder expired. |
| Step 5) Check Order Item should approved. |
| --> |
| <!-- Step 1 --> |
| <now-timestamp field="nowTimestamp"/> |
| <set field="days" value="1" type="Integer"/> |
| <call-class-method class-name="org.ofbiz.base.util.UtilDateTime" method-name="addDaysToTimestamp" ret-field="thruDate"> |
| <field field="nowTimestamp" type="java.sql.Timestamp"/> |
| <field field="days" type="int"/> |
| </call-class-method> |
| <entity-one value-field="systemUserLogin" entity-name="UserLogin"> |
| <field-map field-name="userLoginId" value="system"/> |
| </entity-one> |
| <set field="createProductGroupOrderMap.userLogin" from-field="systemUserLogin"/> |
| <set field="createProductGroupOrderMap.productId" value="GZ-1000"/> |
| <set field="createProductGroupOrderMap.fromDate" from-field="nowTimestamp"/> |
| <set field="createProductGroupOrderMap.thruDate" from-field="thruDate"/> |
| <set field="createProductGroupOrderMap.statusId" value="GO_CREATED"/> |
| <set field="createProductGroupOrderMap.reqOrderQty" value="1" type="BigDecimal"/> |
| <set field="createProductGroupOrderMap.soldOrderQty" value="0" type="BigDecimal"/> |
| <call-service service-name="createProductGroupOrder" in-map-name="createProductGroupOrderMap"> |
| <result-to-field result-name="groupOrderId" field="groupOrderId"/> |
| </call-service> |
| <!-- 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_PAYPAL"); |
| 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-one entity-name="ProductGroupOrder" value-field="productGroupOrder"> |
| <field-map field-name="groupOrderId" from-field="groupOrderId"/> |
| </entity-one> |
| <assert> |
| <if-compare field="productGroupOrder.soldOrderQty" operator="not-equals" value="0"/> |
| </assert> |
| <!-- Step 4 --> |
| <set field="checkProductGroupOrderExpiredMap.userLogin" from-field="systemUserLogin"/> |
| <set field="checkProductGroupOrderExpiredMap.groupOrderId" from-field="groupOrderId"/> |
| <call-service service-name="checkProductGroupOrderExpired" in-map-name="checkProductGroupOrderExpiredMap"/> |
| <!-- Step 5 --> |
| <entity-and entity-name="OrderItemGroupOrder" list="orderItemGroupOrders"> |
| <field-map field-name="groupOrderId" from-field="groupOrderId"/> |
| </entity-and> |
| <first-from-list entry="orderItemGroupOrder" list="orderItemGroupOrders"/> |
| <entity-one entity-name="OrderItem" value-field="orderItem"> |
| <field-map field-name="orderId" from-field="orderItemGroupOrder.orderId"/> |
| <field-map field-name="orderItemSeqId" from-field="orderItemGroupOrder.orderItemSeqId"/> |
| </entity-one> |
| <assert> |
| <if-compare field="orderItem.statusId" operator="equals" value="ITEM_APPROVED"/> |
| </assert> |
| <check-errors/> |
| </simple-method> |
| |
| <simple-method method-name="testGroupOrderLimitNotReached" short-description="Test GroupOrder the limit is not reached" login-required="false"> |
| <!-- Test GroupOrder the limit is not reached |
| Step 1) Create ProductGroupOrder. |
| Step 2) Create an order. |
| Step 3) Check soldOrderQty is added. |
| Step 4) Check ProductGroupOrder expired. |
| Step 5) Check Order Item should cancelled. |
| --> |
| <!-- Step 1 --> |
| <now-timestamp field="nowTimestamp"/> |
| <set field="days" value="1" type="Integer"/> |
| <call-class-method class-name="org.ofbiz.base.util.UtilDateTime" method-name="addDaysToTimestamp" ret-field="thruDate"> |
| <field field="nowTimestamp" type="java.sql.Timestamp"/> |
| <field field="days" type="int"/> |
| </call-class-method> |
| <entity-one value-field="systemUserLogin" entity-name="UserLogin"> |
| <field-map field-name="userLoginId" value="system"/> |
| </entity-one> |
| <set field="createProductGroupOrderMap.userLogin" from-field="systemUserLogin"/> |
| <set field="createProductGroupOrderMap.productId" value="GZ-1001"/> |
| <set field="createProductGroupOrderMap.fromDate" from-field="nowTimestamp"/> |
| <set field="createProductGroupOrderMap.thruDate" from-field="thruDate"/> |
| <set field="createProductGroupOrderMap.statusId" value="GO_CREATED"/> |
| <set field="createProductGroupOrderMap.reqOrderQty" value="2" type="BigDecimal"/> |
| <set field="createProductGroupOrderMap.soldOrderQty" value="0" type="BigDecimal"/> |
| <call-service service-name="createProductGroupOrder" in-map-name="createProductGroupOrderMap"> |
| <result-to-field result-name="groupOrderId" field="groupOrderId"/> |
| </call-service> |
| <!-- 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-1001"); |
| ]]></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_PAYPAL"); |
| 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-one entity-name="ProductGroupOrder" value-field="productGroupOrder"> |
| <field-map field-name="groupOrderId" from-field="groupOrderId"/> |
| </entity-one> |
| <assert> |
| <if-compare field="productGroupOrder.soldOrderQty" operator="not-equals" value="0"/> |
| </assert> |
| <!-- Step 4 --> |
| <set field="checkProductGroupOrderExpiredMap.userLogin" from-field="systemUserLogin"/> |
| <set field="checkProductGroupOrderExpiredMap.groupOrderId" from-field="groupOrderId"/> |
| <call-service service-name="checkProductGroupOrderExpired" in-map-name="checkProductGroupOrderExpiredMap"/> |
| <!-- Step 5 --> |
| <entity-and entity-name="OrderItemGroupOrder" list="orderItemGroupOrders"> |
| <field-map field-name="groupOrderId" from-field="groupOrderId"/> |
| </entity-and> |
| <first-from-list entry="orderItemGroupOrder" list="orderItemGroupOrders"/> |
| <entity-one entity-name="OrderItem" value-field="orderItem"> |
| <field-map field-name="orderId" from-field="orderItemGroupOrder.orderId"/> |
| <field-map field-name="orderItemSeqId" from-field="orderItemGroupOrder.orderItemSeqId"/> |
| </entity-one> |
| <assert> |
| <if-compare field="orderItem.statusId" operator="equals" value="ITEM_CANCELLED"/> |
| </assert> |
| <check-errors/> |
| </simple-method> |
| </simple-methods> |