You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Jacopo Cappellato <ja...@hotwaxmedia.com> on 2014/03/19 15:23:18 UTC

Re: svn commit: r1554064 - /ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java

Adrian,

thanks for fixing this. Before we go on and we fix similarly the other unit tests, I would like to propose an alternative approach (with pros and cons); see below. What do you think?

Jacopo


Index: applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java
===================================================================
--- applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java	(revision 1579194)
+++ applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java	(working copy)
@@ -51,7 +51,7 @@
 
     public void testCreateFinAccount() throws Exception {
         Map<String, Object> ctx = FastMap.newInstance();
-        ctx.put("finAccountId", "TESTACCOUNT1");
+        ctx.put("finAccountId", "TESTACCOUNT2");
         ctx.put("finAccountName", "Test Financial Account");
         ctx.put("finAccountTypeId", "BANK_ACCOUNT");
         ctx.put("userLogin", userLogin);
@@ -60,6 +60,12 @@
     }
 
     public void testDeposit() throws Exception {
+        // ============ Setup =============
+        try {
+            delegator.create("FinAccount", "finAccountId", "TESTACCOUNT1", "finAccountName", "Test Financial Account", "finAccountTypeId", "BANK_ACCOUNT", "statusId", "FNACT_ACTIVE", "currencyUomId", "USD", "isRefundable", "Y");
+        } catch (Exception e) {
+        }
+        // ================================
         Map<String, Object> ctx = FastMap.newInstance();
         ctx.put("finAccountId", "TESTACCOUNT1");
         ctx.put("amount", new BigDecimal("100.00"));
@@ -70,6 +76,12 @@
     }
 
     public void testWithdraw() throws Exception {
+        // ============ Setup =============
+        try {
+            delegator.create("FinAccount", "finAccountId", "TESTACCOUNT1", "finAccountName", "Test Financial Account", "finAccountTypeId", "BANK_ACCOUNT", "statusId", "FNACT_ACTIVE", "currencyUomId", "USD", "isRefundable", "Y");
+        } catch (Exception e) {
+        }
+        // ================================
         Map<String, Object> ctx = FastMap.newInstance();
         ctx.put("finAccountId", "TESTACCOUNT1");
         ctx.put("amount", new BigDecimal("50.00"));


On Dec 29, 2013, at 9:42 PM, adrianc@apache.org wrote:

> Author: adrianc
> Date: Sun Dec 29 20:42:16 2013
> New Revision: 1554064
> 
> URL: http://svn.apache.org/r1554064
> Log:
> Fixed the FinAccountTests - which assumed the tests would be run in the order they appear in source code, which JUnit does not guarantee:
> 
> http://stackoverflow.com/questions/3693626/how-to-run-test-methods-in-specific-order-in-junit4
> 
> Modified:
>    ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java
> 
> Modified: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java?rev=1554064&r1=1554063&r2=1554064&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java (original)
> +++ ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java Sun Dec 29 20:42:16 2013
> @@ -20,13 +20,12 @@
> package org.ofbiz.accounting.test;
> 
> import java.math.BigDecimal;
> +import java.util.HashMap;
> import java.util.Map;
> 
> -import javolution.util.FastMap;
> -
> import org.ofbiz.base.util.UtilMisc;
> import org.ofbiz.entity.GenericValue;
> -import org.ofbiz.service.ModelService;
> +import org.ofbiz.service.ServiceUtil;
> import org.ofbiz.service.testtools.OFBizTestCase;
> 
> /**
> @@ -34,49 +33,35 @@ import org.ofbiz.service.testtools.OFBiz
>  */
> public class FinAccountTests extends OFBizTestCase {
> 
> -    protected GenericValue userLogin = null;
> -
>     public FinAccountTests(String name) {
>         super(name);
>     }
> 
> -    @Override
> -    protected void setUp() throws Exception {
> -        userLogin = delegator.findOne("UserLogin", UtilMisc.toMap("userLoginId", "system"), false);
> -    }
> -
> -    @Override
> -    protected void tearDown() throws Exception {
> -    }
> -
> -    public void testCreateFinAccount() throws Exception {
> -        Map<String, Object> ctx = FastMap.newInstance();
> +    public void testFinAccountOperations() throws Exception {
> +        GenericValue userLogin = delegator.findOne("UserLogin", UtilMisc.toMap("userLoginId", "system"), false);
> +        Map<String, Object> ctx = new HashMap<String, Object>();
>         ctx.put("finAccountId", "TESTACCOUNT1");
>         ctx.put("finAccountName", "Test Financial Account");
>         ctx.put("finAccountTypeId", "BANK_ACCOUNT");
>         ctx.put("userLogin", userLogin);
>         Map<String, Object> resp = dispatcher.runSync("createFinAccount", ctx);
> -        assertEquals("Service result success", ModelService.RESPOND_SUCCESS, resp.get(ModelService.RESPONSE_MESSAGE));
> -    }
> -
> -    public void testDeposit() throws Exception {
> -        Map<String, Object> ctx = FastMap.newInstance();
> +        assertTrue("Service 'createFinAccount' result success", ServiceUtil.isSuccess(resp));
> +        ctx.clear();
>         ctx.put("finAccountId", "TESTACCOUNT1");
>         ctx.put("amount", new BigDecimal("100.00"));
>         ctx.put("userLogin", userLogin);
> -        Map<String, Object> resp = dispatcher.runSync("finAccountDeposit", ctx);
> +        resp = dispatcher.runSync("finAccountDeposit", ctx);
> +        assertTrue("Service 'finAccountDeposit' result success", ServiceUtil.isSuccess(resp));
>         BigDecimal balance = (BigDecimal) resp.get("balance");
>         assertEquals(balance.toPlainString(), "100.00");
> -    }
> -
> -    public void testWithdraw() throws Exception {
> -        Map<String, Object> ctx = FastMap.newInstance();
> +        ctx.clear();
>         ctx.put("finAccountId", "TESTACCOUNT1");
>         ctx.put("amount", new BigDecimal("50.00"));
>         ctx.put("userLogin", userLogin);
> -        Map<String, Object> resp = dispatcher.runSync("finAccountWithdraw", ctx);
> +        resp = dispatcher.runSync("finAccountWithdraw", ctx);
> +        assertTrue("Service 'finAccountWithdraw' result success", ServiceUtil.isSuccess(resp));
>         BigDecimal previousBalance = (BigDecimal) resp.get("previousBalance");
> -        BigDecimal balance = ((BigDecimal) resp.get("balance"));
> +        balance = ((BigDecimal) resp.get("balance"));
>         assertEquals(balance.add(new BigDecimal("50.00")).toPlainString(), previousBalance.toPlainString());
>     }
> }
> 
> 


Re: svn commit: r1554064 - /ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java

Posted by Jacopo Cappellato <ja...@hotwaxmedia.com>.
please ignore, I will send a better one.

Jacopo

On Mar 19, 2014, at 3:23 PM, Jacopo Cappellato <ja...@hotwaxmedia.com> wrote:

> Adrian,
> 
> thanks for fixing this. Before we go on and we fix similarly the other unit tests, I would like to propose an alternative approach (with pros and cons); see below. What do you think?
> 
> Jacopo
> 
> 
> Index: applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java
> ===================================================================
> --- applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java	(revision 1579194)
> +++ applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java	(working copy)
> @@ -51,7 +51,7 @@
> 
>     public void testCreateFinAccount() throws Exception {
>         Map<String, Object> ctx = FastMap.newInstance();
> -        ctx.put("finAccountId", "TESTACCOUNT1");
> +        ctx.put("finAccountId", "TESTACCOUNT2");
>         ctx.put("finAccountName", "Test Financial Account");
>         ctx.put("finAccountTypeId", "BANK_ACCOUNT");
>         ctx.put("userLogin", userLogin);
> @@ -60,6 +60,12 @@
>     }
> 
>     public void testDeposit() throws Exception {
> +        // ============ Setup =============
> +        try {
> +            delegator.create("FinAccount", "finAccountId", "TESTACCOUNT1", "finAccountName", "Test Financial Account", "finAccountTypeId", "BANK_ACCOUNT", "statusId", "FNACT_ACTIVE", "currencyUomId", "USD", "isRefundable", "Y");
> +        } catch (Exception e) {
> +        }
> +        // ================================
>         Map<String, Object> ctx = FastMap.newInstance();
>         ctx.put("finAccountId", "TESTACCOUNT1");
>         ctx.put("amount", new BigDecimal("100.00"));
> @@ -70,6 +76,12 @@
>     }
> 
>     public void testWithdraw() throws Exception {
> +        // ============ Setup =============
> +        try {
> +            delegator.create("FinAccount", "finAccountId", "TESTACCOUNT1", "finAccountName", "Test Financial Account", "finAccountTypeId", "BANK_ACCOUNT", "statusId", "FNACT_ACTIVE", "currencyUomId", "USD", "isRefundable", "Y");
> +        } catch (Exception e) {
> +        }
> +        // ================================
>         Map<String, Object> ctx = FastMap.newInstance();
>         ctx.put("finAccountId", "TESTACCOUNT1");
>         ctx.put("amount", new BigDecimal("50.00"));
> 
> 
> On Dec 29, 2013, at 9:42 PM, adrianc@apache.org wrote:
> 
>> Author: adrianc
>> Date: Sun Dec 29 20:42:16 2013
>> New Revision: 1554064
>> 
>> URL: http://svn.apache.org/r1554064
>> Log:
>> Fixed the FinAccountTests - which assumed the tests would be run in the order they appear in source code, which JUnit does not guarantee:
>> 
>> http://stackoverflow.com/questions/3693626/how-to-run-test-methods-in-specific-order-in-junit4
>> 
>> Modified:
>>   ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java
>> 
>> Modified: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java?rev=1554064&r1=1554063&r2=1554064&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java (original)
>> +++ ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/test/FinAccountTests.java Sun Dec 29 20:42:16 2013
>> @@ -20,13 +20,12 @@
>> package org.ofbiz.accounting.test;
>> 
>> import java.math.BigDecimal;
>> +import java.util.HashMap;
>> import java.util.Map;
>> 
>> -import javolution.util.FastMap;
>> -
>> import org.ofbiz.base.util.UtilMisc;
>> import org.ofbiz.entity.GenericValue;
>> -import org.ofbiz.service.ModelService;
>> +import org.ofbiz.service.ServiceUtil;
>> import org.ofbiz.service.testtools.OFBizTestCase;
>> 
>> /**
>> @@ -34,49 +33,35 @@ import org.ofbiz.service.testtools.OFBiz
>> */
>> public class FinAccountTests extends OFBizTestCase {
>> 
>> -    protected GenericValue userLogin = null;
>> -
>>    public FinAccountTests(String name) {
>>        super(name);
>>    }
>> 
>> -    @Override
>> -    protected void setUp() throws Exception {
>> -        userLogin = delegator.findOne("UserLogin", UtilMisc.toMap("userLoginId", "system"), false);
>> -    }
>> -
>> -    @Override
>> -    protected void tearDown() throws Exception {
>> -    }
>> -
>> -    public void testCreateFinAccount() throws Exception {
>> -        Map<String, Object> ctx = FastMap.newInstance();
>> +    public void testFinAccountOperations() throws Exception {
>> +        GenericValue userLogin = delegator.findOne("UserLogin", UtilMisc.toMap("userLoginId", "system"), false);
>> +        Map<String, Object> ctx = new HashMap<String, Object>();
>>        ctx.put("finAccountId", "TESTACCOUNT1");
>>        ctx.put("finAccountName", "Test Financial Account");
>>        ctx.put("finAccountTypeId", "BANK_ACCOUNT");
>>        ctx.put("userLogin", userLogin);
>>        Map<String, Object> resp = dispatcher.runSync("createFinAccount", ctx);
>> -        assertEquals("Service result success", ModelService.RESPOND_SUCCESS, resp.get(ModelService.RESPONSE_MESSAGE));
>> -    }
>> -
>> -    public void testDeposit() throws Exception {
>> -        Map<String, Object> ctx = FastMap.newInstance();
>> +        assertTrue("Service 'createFinAccount' result success", ServiceUtil.isSuccess(resp));
>> +        ctx.clear();
>>        ctx.put("finAccountId", "TESTACCOUNT1");
>>        ctx.put("amount", new BigDecimal("100.00"));
>>        ctx.put("userLogin", userLogin);
>> -        Map<String, Object> resp = dispatcher.runSync("finAccountDeposit", ctx);
>> +        resp = dispatcher.runSync("finAccountDeposit", ctx);
>> +        assertTrue("Service 'finAccountDeposit' result success", ServiceUtil.isSuccess(resp));
>>        BigDecimal balance = (BigDecimal) resp.get("balance");
>>        assertEquals(balance.toPlainString(), "100.00");
>> -    }
>> -
>> -    public void testWithdraw() throws Exception {
>> -        Map<String, Object> ctx = FastMap.newInstance();
>> +        ctx.clear();
>>        ctx.put("finAccountId", "TESTACCOUNT1");
>>        ctx.put("amount", new BigDecimal("50.00"));
>>        ctx.put("userLogin", userLogin);
>> -        Map<String, Object> resp = dispatcher.runSync("finAccountWithdraw", ctx);
>> +        resp = dispatcher.runSync("finAccountWithdraw", ctx);
>> +        assertTrue("Service 'finAccountWithdraw' result success", ServiceUtil.isSuccess(resp));
>>        BigDecimal previousBalance = (BigDecimal) resp.get("previousBalance");
>> -        BigDecimal balance = ((BigDecimal) resp.get("balance"));
>> +        balance = ((BigDecimal) resp.get("balance"));
>>        assertEquals(balance.add(new BigDecimal("50.00")).toPlainString(), previousBalance.toPlainString());
>>    }
>> }
>> 
>> 
>