You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by pa...@apache.org on 2020/04/25 06:47:19 UTC

[ofbiz-framework] branch trunk updated: Improved: Convert AutoAcctgCostTests from XML to Groovy (#57)

This is an automated email from the ASF dual-hosted git repository.

pawan pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git


The following commit(s) were added to refs/heads/trunk by this push:
     new ae9f726  Improved: Convert AutoAcctgCostTests from XML to Groovy (#57)
ae9f726 is described below

commit ae9f726875df1d76cc07be56955eb89e798b232b
Author: Pawan Verma <ve...@users.noreply.github.com>
AuthorDate: Sat Apr 25 12:17:08 2020 +0530

    Improved: Convert AutoAcctgCostTests from XML to Groovy (#57)
    
    (OFBIZ-11505)
    
    Thanks: Rohit for the report.
---
 .../minilang/test/AutoAcctgCostTests.xml           | 66 ----------------------
 .../ofbiz/accounting/AutoAcctgCostTests.groovy     | 60 ++++++++++++++++++++
 .../accounting/testdef/accountingtests.xml         |  2 +-
 3 files changed, 61 insertions(+), 67 deletions(-)

diff --git a/applications/accounting/minilang/test/AutoAcctgCostTests.xml b/applications/accounting/minilang/test/AutoAcctgCostTests.xml
deleted file mode 100644
index feffa8d..0000000
--- a/applications/accounting/minilang/test/AutoAcctgCostTests.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?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="testUpdateProductAverageCostOnReceiveInventory" short-description="Test case for service updateProductAverageCostOnReceiveInventory" login-required="false">
-        <set field="serviceCtx.facilityId" value="DemoFacility1"/>
-        <set field="serviceCtx.quantityAccepted" value="10" type="BigDecimal"/>
-        <set field="serviceCtx.productId" value="TestProduct3"/>
-        <set field="serviceCtx.inventoryItemId" value="9999"/>
-        <entity-one entity-name="UserLogin" value-field="userLogin">
-            <field-map field-name="userLoginId" value="system"/>
-        </entity-one>
-        <set field="serviceCtx.userLogin" from-field="userLogin"/>
-        <call-service service-name="updateProductAverageCostOnReceiveInventory" in-map-name="serviceCtx"/>
- 
-        <entity-and entity-name="ProductAverageCost" list="productAverageCostList" filter-by-date="true">
-            <field-map field-name="productId" value="TestProduct3"/>
-            <field-map field-name="facilityId" value="DemoFacility1"/>
-            <field-map field-name="organizationPartyId" value="DEMO_COMPANY2"/>
-        </entity-and>
-        <first-from-list entry="productAverageCost" list="productAverageCostList"/>
-        <assert>
-            <not><if-empty field="productAverageCost"/></not>
-            <if-compare operator="equals" value="SIMPLE_AVG_COST" field="productAverageCost.productAverageCostTypeId"></if-compare>
-            <if-compare operator="equals" value="9" field="productAverageCost.averageCost"></if-compare>
-        </assert>
-        <check-errors/>
-    </simple-method>
-    <simple-method method-name="testGetProductAverageCost" short-description="Test case for service getProductAverageCost" login-required="false">
-        <entity-one entity-name="InventoryItem" value-field="inventoryItem">
-            <field-map field-name="inventoryItemId" value="9999"/>
-        </entity-one>
-        <set field="serviceCtx.inventoryItem" from-field="inventoryItem"/>
-        <entity-one entity-name="UserLogin" value-field="userLogin">
-            <field-map field-name="userLoginId" value="system"/>
-        </entity-one>
-        <set field="serviceCtx.userLogin" from-field="userLogin"/>
-        <call-service service-name="getProductAverageCost" in-map-name="serviceCtx">
-            <results-to-map map-name="productAverageCost"/>
-        </call-service>
-        <assert>
-            <not><if-empty field="productAverageCost"/></not>
-            <if-compare operator="equals" value="9" field="productAverageCost.unitCost"></if-compare>
-        </assert>
-        <check-errors/>
-    </simple-method>
-
-</simple-methods>
\ No newline at end of file
diff --git a/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/AutoAcctgCostTests.groovy b/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/AutoAcctgCostTests.groovy
new file mode 100644
index 0000000..d188f79
--- /dev/null
+++ b/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/AutoAcctgCostTests.groovy
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * 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.
+ *******************************************************************************/
+package org.apache.ofbiz.accounting
+
+import org.apache.ofbiz.entity.GenericValue
+import org.apache.ofbiz.entity.util.EntityQuery
+import org.apache.ofbiz.service.ServiceUtil
+import org.apache.ofbiz.service.testtools.OFBizTestCase
+
+class AutoAcctgCostTests extends OFBizTestCase {
+    public AutoAcctgCostTests(String name) {
+        super(name)
+    }
+
+    void testUpdateProductAverageCostOnReceiveInventory() {
+        Map serviceCtx = [:]
+        serviceCtx.facilityId = 'DemoFacility1'
+        serviceCtx.quantityAccepted = new BigDecimal('10')
+        serviceCtx.productId = 'TestProduct3'
+        serviceCtx.inventoryItemId = '9999'
+        serviceCtx.userLogin = EntityQuery.use(delegator).from('UserLogin').where('userLoginId', 'system').queryOne()
+        Map result = dispatcher.runSync('updateProductAverageCostOnReceiveInventory', serviceCtx)
+        assert ServiceUtil.isSuccess(result)
+
+        GenericValue productAverageCost = EntityQuery.use(delegator).from('ProductAverageCost').filterByDate()
+                                .where('productId', 'TestProduct3', 'facilityId', 'DemoFacility1').queryFirst()
+        assert productAverageCost
+        assert productAverageCost.productAverageCostTypeId == 'SIMPLE_AVG_COST'
+        assert productAverageCost.averageCost == 9
+    }
+
+    void testGetProductAverageCost() {
+        GenericValue inventoryItem = EntityQuery.use(delegator).from('InventoryItem')
+                                            .where('inventoryItemId', '9999').queryOne()
+        Map serviceCtx = [
+                inventoryItem: inventoryItem,
+                userLogin: userLogin
+        ]
+        Map serviceResult = dispatcher.runSync('getProductAverageCost', serviceCtx)
+        assert ServiceUtil.isSuccess(serviceResult)
+
+        assert serviceResult.unitCost == 9
+    }
+}
\ No newline at end of file
diff --git a/applications/accounting/testdef/accountingtests.xml b/applications/accounting/testdef/accountingtests.xml
index 687eb71..8eb9424 100644
--- a/applications/accounting/testdef/accountingtests.xml
+++ b/applications/accounting/testdef/accountingtests.xml
@@ -46,7 +46,7 @@
         <junit-test-suite class-name="org.apache.ofbiz.accounting.AutoAcctgBudgetTests"/>
     </test-case>
     <test-case case-name="auto-accounting-cost-tests">
-        <simple-method-test location="component://accounting/minilang/test/AutoAcctgCostTests.xml"/>
+        <junit-test-suite class-name="org.apache.ofbiz.accounting.AutoAcctgCostTests"/>
     </test-case>
     <test-case case-name="auto-accounting-finaccount-tests">
         <simple-method-test location="component://accounting/minilang/test/AutoAcctgFinAccountTests.xml"/>