You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2020/04/27 12:29:21 UTC

[ofbiz-framework] 01/02: Improved: Convert FixedAssetTests from XML to Groovy. (OFBIZ-11546)(OFBIZ-11547)(OFBIZ-11548)(OFBIZ-11549)(OFBIZ-11550)(OFBIZ-11551)(OFBIZ-11552) Thanks: Rohit for reporting.

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

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

commit 47e5a1ad5e01446f060b53f00a9c839eccd4d7f5
Author: Suraj Khurana <su...@hotwax.co>
AuthorDate: Mon Apr 27 15:12:51 2020 +0530

    Improved: Convert FixedAssetTests from XML to Groovy. (OFBIZ-11546)(OFBIZ-11547)(OFBIZ-11548)(OFBIZ-11549)(OFBIZ-11550)(OFBIZ-11551)(OFBIZ-11552) Thanks: Rohit for reporting.
---
 applications/accounting/FixedAssetTests.groovy     |  47 -------
 .../accounting/minilang/test/FixedAssetTests.xml   | 154 ---------------------
 .../apache/ofbiz/accounting/FixedAssetTests.groovy | 146 +++++++++++++++++++
 .../testdef/data/AccountingTestsData.xml           |   2 +
 .../accounting/testdef/fixedassettests.xml         |   4 +
 5 files changed, 152 insertions(+), 201 deletions(-)

diff --git a/applications/accounting/FixedAssetTests.groovy b/applications/accounting/FixedAssetTests.groovy
deleted file mode 100644
index dc718d0..0000000
--- a/applications/accounting/FixedAssetTests.groovy
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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.base.util.UtilDateTime
-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 FixedAssetTests extends OFBizTestCase {
-    public FixedAssetTests(String name) {
-        super(name)
-    }
-    void testUpdateFixedAssetMeter() {
-        Map serviceCtx = [
-                fixedAssetId           : '1000',
-                productMeterTypeId     : 'ODOMETER',
-                readingDate            : UtilDateTime.toTimestamp("24/12/2019 00:00:00"),
-                userLogin              : userLogin
-        ]
-        Map serviceResult = dispatcher.runSync('updateFixedAssetMeter', serviceCtx)
-        assert ServiceUtil.isSuccess(serviceResult)
-
-        GenericValue FixedAssetMeter = EntityQuery.use(delegator).from('FixedAssetMeter')
-                .where('fixedAssetId', '1000', 'productMeterTypeId', 'ODOMETER')
-                .filterByDate()
-                .queryOne();
-        assert FixedAssetMeter
-    }
-}
\ No newline at end of file
diff --git a/applications/accounting/minilang/test/FixedAssetTests.xml b/applications/accounting/minilang/test/FixedAssetTests.xml
deleted file mode 100644
index 5e2d549..0000000
--- a/applications/accounting/minilang/test/FixedAssetTests.xml
+++ /dev/null
@@ -1,154 +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="testCreateFixedAssetRegistration" short-description="Test case for service createFixedAssetRegistration" login-required="false">
-        <set field="serviceCtx.fixedAssetId" value="DEMO_VEHICLE_01"/>
-        <set field="serviceCtx.licenseNumber" value="123456"/>
-        <set field="serviceCtx.registrationNumber" value="123456"/>
-        <set field="serviceCtx.registrationDate" value="2009-12-24 12:33:23.703" type="Timestamp"/>
-        <set field="serviceCtx.fromDate" value="2009-12-24 12:33:08.247" type="Timestamp"/>
-        <set field="serviceCtx.thruDate" value="2010-12-25 12:33:18.365" type="Timestamp"/>
-        <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="createFixedAssetRegistration" in-map-name="serviceCtx"/>
- 
-        <entity-one entity-name="FixedAssetRegistration" value-field="fixedAssetRegistration">
-            <field-map field-name="fixedAssetId" from-field="serviceCtx.fixedAssetId"/>
-            <field-map field-name="fromDate" from-field="serviceCtx.fromDate"/>
-        </entity-one>
-        <assert>
-            <not><if-empty field="fixedAssetRegistration"/></not>
-        </assert>
-        <check-errors/>
-    </simple-method>
-
-    <simple-method method-name="testUpdateFixedAssetRegistration" short-description="Test case for service updateFixedAssetRegistration" login-required="false">
-        <set field="fixedAssetId" value="DEMO_VEHICLE_01"/>
-        <set field="registrationDate" value="2010-12-24 12:33:23.703" type="Timestamp"/>
-        <set field="fromDate" value="2009-12-24 12:33:08.247" type="Timestamp"/>
-        <set field="thruDate" value="2033-12-25 12:33:18.365" type="Timestamp"/>
-        <entity-one entity-name="UserLogin" value-field="userLogin">
-            <field-map field-name="userLoginId" value="system"/>
-        </entity-one>
-        <set field="serviceCtx.userLogin" from-field="userLogin"/>
-        <set field="serviceCtx.fixedAssetId" from-field="fixedAssetId"/>
-        <set field="serviceCtx.registrationDate" from-field="registrationDate"/>
-        <set field="serviceCtx.fromDate" from-field="fromDate"/>
-        <set field="serviceCtx.thruDate" from-field="thruDate"/>
-        <call-service service-name="updateFixedAssetRegistration" in-map-name="serviceCtx"/>
-
-        <entity-one entity-name="FixedAssetRegistration" value-field="fixedAssetRegistration"/>
-        <assert>
-            <not><if-empty field="fixedAssetRegistration"/></not>
-            <if-compare-field field="fixedAssetRegistration.thruDate" operator="equals" to-field="thruDate"/>
-            <if-compare-field field="fixedAssetRegistration.registrationDate" operator="equals" to-field="registrationDate"/>
-        </assert>
-        <check-errors/>
-    </simple-method>
-
-    <simple-method method-name="testDeleteFixedAssetRegistration" short-description="Test case for service deleteFixedAssetRegistration" login-required="false">
-        <set field="fixedAssetId" value="DEMO_VEHICLE_01"/>
-        <set field="fromDate" value="2009-12-24 12:33:08.247" type="Timestamp"/>
-        <entity-one entity-name="UserLogin" value-field="userLogin">
-            <field-map field-name="userLoginId" value="system"/>
-        </entity-one>
-        <set field="serviceCtx.userLogin" from-field="userLogin"/>
-        <set field="serviceCtx.fixedAssetId" from-field="fixedAssetId"/>
-        <set field="serviceCtx.fromDate" from-field="fromDate"/>
-        <call-service service-name="deleteFixedAssetRegistration" in-map-name="serviceCtx"/>
-
-        <entity-one entity-name="FixedAssetRegistration" value-field="fixedAssetRegistration"/>
-        <assert>
-            <if-empty field="fixedAssetRegistration"/>
-        </assert>
-        <check-errors/>
-    </simple-method>
-
-   <simple-method method-name="testCreateFixedAssetMeter" short-description="Test case for service createFixedAssetMeter" login-required="false">
-        <set field="fixedAssetId" value="DEMO_VEHICLE_01"/>
-        <set field="productMeterTypeId" value="ODOMETER"/>
-        <set field="readingDate" value="2009-12-24 00:00:00.000" type="Timestamp"/>
-        <set field="meterValue" value="65" type="BigDecimal"/>
-        <entity-one entity-name="UserLogin" value-field="userLogin">
-            <field-map field-name="userLoginId" value="system"/>
-        </entity-one>
-        <set field="serviceCtx.userLogin" from-field="userLogin"/>
-        <set field="serviceCtx.fixedAssetId" from-field="fixedAssetId"/>
-        <set field="serviceCtx.productMeterTypeId" from-field="productMeterTypeId"/>
-        <set field="serviceCtx.readingDate" from-field="readingDate"/>
-        <set field="serviceCtx.meterValue" from-field="meterValue"/>
-        <call-service service-name="createFixedAssetMeter" in-map-name="serviceCtx"/>
-
-        <entity-one entity-name="FixedAssetMeter" value-field="fixedAssetMeter"/>
-        <assert>
-            <not><if-empty field="fixedAssetMeter"/></not>
-        </assert>
-        <check-errors/>
-    </simple-method>
-
-
-    <simple-method method-name="testDeleteFixedAssetMeter" short-description="Test case for service deleteFixedAssetMeter" login-required="false">
-        <set field="fixedAssetId" value="DEMO_VEHICLE_01"/>
-        <set field="productMeterTypeId" value="ODOMETER"/>
-        <set field="readingDate" value="2009-12-24 00:00:00.000" type="Timestamp"/>
-        <entity-one entity-name="UserLogin" value-field="userLogin">
-            <field-map field-name="userLoginId" value="system"/>
-        </entity-one>
-        <set field="serviceCtx.userLogin" from-field="userLogin"/>
-        <set field="serviceCtx.fixedAssetId" from-field="fixedAssetId"/>
-        <set field="serviceCtx.productMeterTypeId" from-field="productMeterTypeId"/>
-        <set field="serviceCtx.readingDate" from-field="readingDate"/>
-        <call-service service-name="deleteFixedAssetMeter" in-map-name="serviceCtx"/>
-
-        <entity-one entity-name="FixedAssetMeter" value-field="fixedAssetMeter"/>
-        <assert>
-            <if-empty field="fixedAssetMeter"/>
-        </assert>
-        <check-errors/>
-    </simple-method>
-
-    <simple-method method-name="testCreateFixedAssetGeoPoint" short-description="Test case for service createFixedAssetGeoPoint" login-required="false">
-        <set field="geoPointId" value="9000"/>
-        <set field="fixedAssetId" value="DEMO_VEHICLE_01"/>
-        <entity-one entity-name="UserLogin" value-field="userLogin">
-            <field-map field-name="userLoginId" value="system"/>
-        </entity-one>
-        <set field="serviceCtx.userLogin" from-field="userLogin"/>
-        <set field="serviceCtx.geoPointId" from-field="geoPointId"/>
-        <set field="serviceCtx.fixedAssetId" from-field="fixedAssetId"/>
-        <call-service service-name="createFixedAssetGeoPoint" in-map-name="serviceCtx"/>
-        <entity-and entity-name="FixedAssetGeoPoint" list="fixedAssetGeoPoints" filter-by-date="true">
-            <field-map field-name="geoPointId"/>
-            <field-map field-name="fixedAssetId"/>
-        </entity-and>
-        <first-from-list list="fixedAssetGeoPoints" entry="fixedAssetGeoPoint"/>
-        <assert>
-            <not><if-empty field="fixedAssetGeoPoint"/></not>
-            <if-compare-field field="fixedAssetGeoPoint.geoPointId" operator="equals" to-field="geoPointId"/>
-            <if-compare-field field="fixedAssetGeoPoint.fixedAssetId" operator="equals" to-field="fixedAssetId"/>
-        </assert>
-        <check-errors/>
-    </simple-method>
-</simple-methods>
diff --git a/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/FixedAssetTests.groovy b/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/FixedAssetTests.groovy
new file mode 100644
index 0000000..087ccad
--- /dev/null
+++ b/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/FixedAssetTests.groovy
@@ -0,0 +1,146 @@
+/*
+ * 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.base.util.UtilDateTime
+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
+import java.sql.Timestamp
+
+class FixedAssetTests extends OFBizTestCase {
+    public FixedAssetTests(String name) {
+        super(name)
+    }
+    void testCreateFixedAssetRegistration() {
+        Map serviceCtx = [
+                fixedAssetId           : 'DEMO_VEHICLE_01',
+                licenseNumber          : '123456',
+                registrationNumber     : 'abcdef',
+                registrationDate       : UtilDateTime.toTimestamp("01/01/2020 00:00:00"),
+                fromDate               : UtilDateTime.nowTimestamp(),
+                userLogin              : userLogin
+        ]
+        Map serviceResult = dispatcher.runSync('createFixedAssetRegistration', serviceCtx)
+        assert ServiceUtil.isSuccess(serviceResult)
+
+        GenericValue fixedAssetRegistration = EntityQuery.use(delegator).from('FixedAssetRegistration')
+                .where('fixedAssetId', 'DEMO_VEHICLE_01')
+                .filterByDate().queryFirst();
+        assert fixedAssetRegistration
+    }
+    void testUpdateFixedAssetRegistration() {
+        Timestamp fromDate = UtilDateTime.toTimestamp("04/01/2020 00:00:00")
+        Map serviceCtx = [
+                fixedAssetId           : 'DEMO_VEHICLE_01',
+                licenseNumber          : 'updated-123456',
+                registrationNumber     : 'updated-abcdef',
+                registrationDate       : UtilDateTime.toTimestamp("01/01/2020 00:00:00"),
+                fromDate               : fromDate,
+                thruDate               : UtilDateTime.nowTimestamp(),
+                userLogin              : userLogin
+        ]
+        Map serviceResult = dispatcher.runSync('updateFixedAssetRegistration', serviceCtx)
+        assert ServiceUtil.isSuccess(serviceResult)
+
+        GenericValue fixedAssetRegistration = EntityQuery.use(delegator).from('FixedAssetRegistration')
+                .where('fixedAssetId', 'DEMO_VEHICLE_01', 'fromDate', fromDate)
+                .filterByDate().queryOne();
+        assert fixedAssetRegistration == null
+    }
+    void testDeleteFixedAssetRegistration() {
+        Timestamp fromDate = UtilDateTime.toTimestamp("04/01/2020 00:00:00")
+        Map serviceCtx = [
+                fixedAssetId           : 'DEMO_VEHICLE_01',
+                fromDate               : fromDate,
+                userLogin              : userLogin
+        ]
+        Map serviceResult = dispatcher.runSync('deleteFixedAssetRegistration', serviceCtx)
+        assert ServiceUtil.isSuccess(serviceResult)
+
+        GenericValue fixedAssetRegistration = EntityQuery.use(delegator).from('FixedAssetRegistration')
+                .where('fixedAssetId', 'DEMO_VEHICLE_01', 'fromDate', fromDate)
+                .queryOne();
+        assert fixedAssetRegistration == null
+    }
+    void testCreateFixedAssetMeter() {
+        Map serviceCtx = [
+                fixedAssetId           : 'DEMO_VEHICLE_01',
+                productMeterTypeId     : 'ODOMETER',
+                readingDate            : UtilDateTime.nowTimestamp(),
+                meterValue             : BigDecimal.valueOf(65),
+                userLogin              : userLogin
+        ]
+        Map serviceResult = dispatcher.runSync('createFixedAssetMeter', serviceCtx)
+        assert ServiceUtil.isSuccess(serviceResult)
+
+        GenericValue fixedAssetMeter = EntityQuery.use(delegator).from('FixedAssetMeter')
+                .where('fixedAssetId', 'DEMO_VEHICLE_01', 'productMeterTypeId', 'ODOMETER')
+                .queryFirst();
+        assert fixedAssetMeter
+    }
+    void testUpdateFixedAssetMeter() {
+        Timestamp readingDate = UtilDateTime.toTimestamp("04/01/2020 00:00:00")
+        Map serviceCtx = [
+                fixedAssetId           : 'DEMO_VEHICLE_01',
+                productMeterTypeId     : 'ODOMETER',
+                readingDate            : readingDate,
+                meterValue             : BigDecimal.valueOf(85),
+                userLogin              : userLogin
+        ]
+        Map serviceResult = dispatcher.runSync('updateFixedAssetMeter', serviceCtx)
+        assert ServiceUtil.isSuccess(serviceResult)
+
+        GenericValue fixedAssetMeter = EntityQuery.use(delegator).from('FixedAssetMeter')
+                .where('fixedAssetId', 'DEMO_VEHICLE_01', 'productMeterTypeId', 'ODOMETER', 'readingDate', readingDate)
+                .queryOne();
+        assert fixedAssetMeter
+    }
+    void testDeleteFixedAssetMeter() {
+        Timestamp readingDate = UtilDateTime.toTimestamp("04/01/2020 00:00:00")
+        Map serviceCtx = [
+                fixedAssetId           : 'DEMO_VEHICLE_01',
+                productMeterTypeId     : 'ODOMETER',
+                readingDate            : readingDate,
+                userLogin              : userLogin
+        ]
+        Map serviceResult = dispatcher.runSync('deleteFixedAssetMeter', serviceCtx)
+        assert ServiceUtil.isSuccess(serviceResult)
+
+        GenericValue fixedAssetMeter = EntityQuery.use(delegator).from('FixedAssetMeter')
+                .where('fixedAssetId', 'DEMO_VEHICLE_01', 'productMeterTypeId', 'ODOMETER', 'readingDate', readingDate)
+                .queryOne();
+        assert fixedAssetMeter == null
+    }
+    void testCreateFixedAssetGeoPoint() {
+        Map serviceCtx = [
+                fixedAssetId           : 'DEMO_VEHICLE_01',
+                geoPointId             : '9000',
+                userLogin              : userLogin
+        ]
+        Map serviceResult = dispatcher.runSync('createFixedAssetGeoPoint', serviceCtx)
+        assert ServiceUtil.isSuccess(serviceResult)
+
+        GenericValue fixedAssetGeoPoint = EntityQuery.use(delegator).from('FixedAssetGeoPoint')
+                .where('fixedAssetId', 'DEMO_VEHICLE_01', 'geoPointId', '9000')
+                .filterByDate().queryFirst();
+        assert fixedAssetGeoPoint
+    }
+}
\ No newline at end of file
diff --git a/applications/accounting/testdef/data/AccountingTestsData.xml b/applications/accounting/testdef/data/AccountingTestsData.xml
index 2eb5e34..c87d0ad 100644
--- a/applications/accounting/testdef/data/AccountingTestsData.xml
+++ b/applications/accounting/testdef/data/AccountingTestsData.xml
@@ -84,6 +84,8 @@ under the License.
     <!-- For Testing service cancelFixedAssetStdCost -->
     <FixedAsset fixedAssetId="1000" fixedAssetTypeId="REAL_ESTATE" partyId="DEMO_COMPANY" roleTypeId="INTERNAL_ORGANIZATIO"/>
     <FixedAssetStdCost fixedAssetId="1000" fixedAssetStdCostTypeId="SETUP_COST" fromDate="2016-11-03 00:00:00" amountUomId="USD" amount="1000.00"/>
+    <FixedAssetMeter fixedAssetId="DEMO_VEHICLE_01" meterValue="10.000000" productMeterTypeId="ODOMETER" readingDate="2020-04-01 00:00:00.0"/>
+    <FixedAssetRegistration fixedAssetId="DEMO_VEHICLE_01" fromDate="2020-04-01 00:00:00.0" registrationDate="2020-04-01 00:00:00.0" registrationNumber="abcde"/>
     <!-- For Testing service copyInvoice -->
     <Invoice invoiceId="1000" invoiceTypeId="PURCHASE_INVOICE" partyIdFrom="DEMO_COMPANY" partyId="DEMO_COMPANY1" invoiceDate="2016-11-03 00:00:00"/>
     <Invoice invoiceId="1001" invoiceTypeId="PURCHASE_INVOICE" partyIdFrom="DEMO_COMPANY" partyId="DEMO_COMPANY1" invoiceDate="2016-11-03 00:00:00"/>
diff --git a/applications/accounting/testdef/fixedassettests.xml b/applications/accounting/testdef/fixedassettests.xml
index 29b5366..5ef6629 100644
--- a/applications/accounting/testdef/fixedassettests.xml
+++ b/applications/accounting/testdef/fixedassettests.xml
@@ -22,6 +22,10 @@
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/test-suite.xsd">
 
+    <test-case case-name="accounting-tests-data-load">
+        <entity-xml action="load" entity-xml-url="component://accounting/testdef/data/AccountingTestsData.xml"/>
+    </test-case>
+
     <test-case case-name="fixedasset-tests">
         <junit-test-suite class-name="org.apache.ofbiz.accounting.FixedAssetTests"/>
     </test-case>