From 25c4cc6fd0e9153193a7007a6b125716050a7f9a Mon Sep 17 00:00:00 2001 From: mvarlic Date: Wed, 25 Jun 2025 13:57:35 -0500 Subject: [PATCH 1/2] feat: add option getter method for test --- src/main/java/cl/transbank/common/BaseTransaction.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/cl/transbank/common/BaseTransaction.java b/src/main/java/cl/transbank/common/BaseTransaction.java index 6a428c6c..857a2a35 100644 --- a/src/main/java/cl/transbank/common/BaseTransaction.java +++ b/src/main/java/cl/transbank/common/BaseTransaction.java @@ -1,10 +1,12 @@ package cl.transbank.common; import cl.transbank.model.Options; +import lombok.Getter; /** * This abstract class represents a base transaction with common properties and methods. */ +@Getter public abstract class BaseTransaction { /** From 142f6b48b48a193a1486f10247b61d70afb927f8 Mon Sep 17 00:00:00 2001 From: mvarlic Date: Wed, 25 Jun 2025 13:57:57 -0500 Subject: [PATCH 2/2] test: add test for build methods --- src/test/java/webpayplus/OneclickTest.java | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/test/java/webpayplus/OneclickTest.java diff --git a/src/test/java/webpayplus/OneclickTest.java b/src/test/java/webpayplus/OneclickTest.java new file mode 100644 index 00000000..714a4d8f --- /dev/null +++ b/src/test/java/webpayplus/OneclickTest.java @@ -0,0 +1,70 @@ +package webpayplus; + +import cl.transbank.common.IntegrationType; +import cl.transbank.model.Options; +import cl.transbank.webpay.common.WebpayOptions; +import cl.transbank.webpay.oneclick.Oneclick; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +public class OneclickTest { + + private static final String COMMERCE_CODE = "123456789"; + private static final String API_KEY = "test_api_key"; + + @Test + public void testMallInscriptionBuildForIntegration() { + Oneclick.MallInscription inscription = Oneclick.MallInscription.buildForIntegration(COMMERCE_CODE, API_KEY); + + assertNotNull(inscription); + + Options options = inscription.getOptions(); + assertTrue(options instanceof WebpayOptions); + WebpayOptions webpayOptions = (WebpayOptions) options; + + assertEquals(COMMERCE_CODE, webpayOptions.getCommerceCode()); + assertEquals(API_KEY, webpayOptions.getApiKey()); + assertEquals(IntegrationType.TEST, webpayOptions.getIntegrationType()); + } + + @Test + public void testMallInscriptionBuildForProduction() { + Oneclick.MallInscription inscription = Oneclick.MallInscription.buildForProduction(COMMERCE_CODE, API_KEY); + + assertNotNull(inscription); + assertEquals(IntegrationType.LIVE, ((WebpayOptions) inscription.getOptions()).getIntegrationType()); + } + + @Test + public void testMallTransactionBuildForIntegration() { + Oneclick.MallTransaction transaction = Oneclick.MallTransaction.buildForIntegration(COMMERCE_CODE, API_KEY); + + assertNotNull(transaction); + assertEquals(IntegrationType.TEST, ((WebpayOptions) transaction.getOptions()).getIntegrationType()); + } + + @Test + public void testMallTransactionBuildForProduction() { + Oneclick.MallTransaction transaction = Oneclick.MallTransaction.buildForProduction(COMMERCE_CODE, API_KEY); + + assertNotNull(transaction); + assertEquals(IntegrationType.LIVE, ((WebpayOptions) transaction.getOptions()).getIntegrationType()); + } + + @Test + public void testMallBinInfoBuildForIntegration() { + Oneclick.MallBinInfo binInfo = Oneclick.MallBinInfo.buildForIntegration(COMMERCE_CODE, API_KEY); + + assertNotNull(binInfo); + assertEquals(IntegrationType.TEST, ((WebpayOptions) binInfo.getOptions()).getIntegrationType()); + } + + @Test + public void testMallBinInfoBuildForProduction() { + Oneclick.MallBinInfo binInfo = Oneclick.MallBinInfo.buildForProduction(COMMERCE_CODE, API_KEY); + + assertNotNull(binInfo); + assertEquals(IntegrationType.LIVE, ((WebpayOptions) binInfo.getOptions()).getIntegrationType()); + } +}