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 ff53e54  Improved: Groovy DSL test case for service 
addProductCategoryToCategory and getProductCategoryAndLimitedMembers (#111)
ff53e54 is described below

commit ff53e54a4ed487eed48067ab35b6faa5799b7db2
Author: Pawan Verma <verma-pa...@users.noreply.github.com>
AuthorDate: Wed May 6 11:33:44 2020 +0530

    Improved: Groovy DSL test case for service addProductCategoryToCategory and 
getProductCategoryAndLimitedMembers (#111)
    
    * Improved: Groovy DSL test case for service addProductCategoryToCategory 
and getProductCategoryAndLimitedMembers
    (OFBIZ-9088)
    
    Thanks: Pradhan Yash Sharma for report and initial patch and Suraj and 
Jacques for the review.
---
 .../minilang/product/test/CategoryTests.xml        | 48 ----------------
 .../org/apache/ofbiz/product/CategoryTests.groovy  | 67 ++++++++++++++++++++++
 applications/product/testdef/CatalogTests.xml      |  6 +-
 .../CategoryTestData.xml}                          | 19 ++----
 4 files changed, 77 insertions(+), 63 deletions(-)

diff --git a/applications/product/minilang/product/test/CategoryTests.xml 
b/applications/product/minilang/product/test/CategoryTests.xml
deleted file mode 100644
index 1358bc3..0000000
--- a/applications/product/minilang/product/test/CategoryTests.xml
+++ /dev/null
@@ -1,48 +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="testGetProductCategoryAndLimitedMembers" 
short-description="Test case for service getProductCategoryAndLimitedMembers" 
login-required="false">
-        <set field="serviceCtx.productCategoryId" value="101"/>
-        <set field="serviceCtx.prodCatalogId" value="DemoCatalog"/>
-        <set field="serviceCtx.defaultViewSize" value="10" type="Integer"/>
-        <set field="serviceCtx.limitView" value="true" type="Boolean"/>
-        <call-service service-name="getProductCategoryAndLimitedMembers" 
in-map-name="serviceCtx">
-            <result-to-field result-name="productCategoryMembers"/>
-            <result-to-field result-name="productCategory"/>
-        </call-service>
-        <assert>
-            <not><if-empty field="productCategory"/></not>
-            <not><if-empty field="productCategoryMembers"/></not>
-            <if-compare field="productCategory.productCategoryId" 
operator="equals" value="101"/>
-        </assert>
-        <check-errors/>
-        <entity-and entity-name="ProductCategoryMember" 
list="productCategoryMemberList">
-            <field-map field-name="productCategoryId" value="101"/>
-        </entity-and>
-        <set field="isValid" value="${groovy: 
productCategoryMemberList.containsAll(productCategoryMembers)}" type="Boolean"/>
-        <assert>
-            <if-compare field="isValid" operator="equals" value="true" 
type="Boolean"/>
-        </assert>
-        <check-errors/>
-    </simple-method>
-</simple-methods>
diff --git 
a/applications/product/src/main/groovy/org/apache/ofbiz/product/CategoryTests.groovy
 
b/applications/product/src/main/groovy/org/apache/ofbiz/product/CategoryTests.groovy
new file mode 100644
index 0000000..a22bf53
--- /dev/null
+++ 
b/applications/product/src/main/groovy/org/apache/ofbiz/product/CategoryTests.groovy
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * 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.product
+
+import org.apache.ofbiz.base.util.UtilDateTime
+import org.apache.ofbiz.entity.GenericValue
+import org.apache.ofbiz.service.ServiceUtil
+import org.apache.ofbiz.service.testtools.OFBizTestCase
+
+class CategoryTests extends OFBizTestCase {
+    public CategoryTests(String name) {
+        super(name)
+    }
+
+    void testAddProductCategoryToCategory() {
+        Map serviceCtx = [
+                productCategoryId: 'TPC',
+                parentProductCategoryId: 'TPCP',
+                fromDate: UtilDateTime.nowTimestamp(),
+                userLogin: userLogin
+        ]
+        serviceCtx.userLogin = userLogin
+        Map serviceResult = dispatcher.runSync('addProductCategoryToCategory', 
serviceCtx)
+        assert ServiceUtil.isSuccess(serviceResult)
+
+        GenericValue prodCategory = 
from('ProductCategoryRollup').where('productCategoryId', 'TPC', 
'parentProductCategoryId', 'TPCP').queryFirst()
+        assert prodCategory != null
+    }
+
+    void testGetProductCategoryAndLimitedMembers() {
+        Map serviceCtx = [
+                productCategoryId: '101',
+                prodCatalogId: 'DemoCatalog',
+                defaultViewSize: 10,
+                limitView: true,
+                userLogin: userLogin
+        ]
+        serviceCtx.userLogin = userLogin
+        Map serviceResult = 
dispatcher.runSync('getProductCategoryAndLimitedMembers', serviceCtx)
+        assert ServiceUtil.isSuccess(serviceResult)
+
+        assert serviceResult.productCategoryMembers != null
+        assert serviceResult.productCategory != null
+        assert serviceResult.productCategory.productCategoryId == '101'
+
+        List<GenericValue> productCategoryMemberList = 
from('ProductCategoryMember').where('productCategoryId', '101').queryList()
+        assert 
productCategoryMemberList.containsAll(serviceResult.productCategoryMembers)
+    }
+
+}
+
diff --git a/applications/product/testdef/CatalogTests.xml 
b/applications/product/testdef/CatalogTests.xml
index 7ddc143..3c28126 100644
--- a/applications/product/testdef/CatalogTests.xml
+++ b/applications/product/testdef/CatalogTests.xml
@@ -30,7 +30,11 @@ under the License.
         <simple-method-test 
location="component://product/minilang/product/test/ProductPriceTests.xml"/>
     </test-case>
 
+    <test-case case-name="loadCategoryTestData">
+        <entity-xml action="load" 
entity-xml-url="component://product/testdef/data/CategoryTestData.xml"/>
+    </test-case>
+
     <test-case case-name="category-tests">
-        <simple-method-test 
location="component://product/minilang/product/test/CategoryTests.xml"/>
+        <junit-test-suite class-name="org.apache.ofbiz.product.CategoryTests"/>
     </test-case>
 </test-suite>
diff --git a/applications/product/testdef/CatalogTests.xml 
b/applications/product/testdef/data/CategoryTestData.xml
similarity index 53%
copy from applications/product/testdef/CatalogTests.xml
copy to applications/product/testdef/data/CategoryTestData.xml
index 7ddc143..5aa16af 100644
--- a/applications/product/testdef/CatalogTests.xml
+++ b/applications/product/testdef/data/CategoryTestData.xml
@@ -18,19 +18,10 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-<test-suite suite-name="catalogtests"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-        
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/test-suite.xsd";>
+<entity-engine-xml>
 
-    <test-case case-name="loadProductPriceTestData">
-        <entity-xml action="load" 
entity-xml-url="component://product/testdef/data/ProductPriceTestData.xml"/>
-    </test-case>
+    <ProductCategoryType description="Test Category" hasTable="N" 
productCategoryTypeId="TEST_CATEGORY"/>
+    <ProductCategory categoryName="Test Product Category Parent" 
longDescription="Long Test Product Category Parent Description" 
productCategoryId="TPCP" productCategoryTypeId="TEST_CATEGORY"/>
+    <ProductCategory categoryName="Test Product Category" 
longDescription="Long Test Product Category Description" 
primaryParentCategoryId="TPCP" productCategoryId="TPC" 
productCategoryTypeId="TEST_CATEGORY"/>
 
-    <test-case case-name="productPrice-tests">
-        <simple-method-test 
location="component://product/minilang/product/test/ProductPriceTests.xml"/>
-    </test-case>
-
-    <test-case case-name="category-tests">
-        <simple-method-test 
location="component://product/minilang/product/test/CategoryTests.xml"/>
-    </test-case>
-</test-suite>
+</entity-engine-xml>

Reply via email to