|
6 | 6 | import com.emerchantpay.gateway.api.exceptions.ApiException; |
7 | 7 | import com.emerchantpay.gateway.api.exceptions.InvalidParamException; |
8 | 8 | import com.emerchantpay.gateway.api.exceptions.RegexException; |
| 9 | +import com.emerchantpay.gateway.api.exceptions.RequiredParamsException; |
| 10 | +import com.emerchantpay.gateway.api.requests.financial.card.AuthorizeRequest; |
9 | 11 | import com.emerchantpay.gateway.api.requests.financial.card.SaleRequest; |
10 | 12 | import com.emerchantpay.gateway.util.Currency; |
11 | 13 | import com.emerchantpay.gateway.util.StringUtils; |
@@ -34,11 +36,16 @@ public void createSale() { |
34 | 36 | sale = mock(SaleRequest.class); |
35 | 37 | } |
36 | 38 |
|
37 | | - private SaleRequest prepareObject() { |
| 39 | + private SaleRequest prepareObjectWithoutCardData() { |
38 | 40 | SaleRequest sale = new SaleRequest(); |
39 | 41 | sale.setTransactionId(uniqueId); |
40 | 42 | sale.setCurrency(Currency.USD.getCurrency()); |
41 | 43 | sale.setAmount(new BigDecimal("12.00")); |
| 44 | + return sale; |
| 45 | + } |
| 46 | + |
| 47 | + private SaleRequest prepareObject() { |
| 48 | + SaleRequest sale = prepareObjectWithoutCardData(); |
42 | 49 | sale.setCardNumber("4200000000000000"); |
43 | 50 | sale.setCardHolder("PLAMEN PETROV"); |
44 | 51 | sale.setExpirationMonth("02"); |
@@ -170,13 +177,29 @@ public void testRecurrency_ShouldSuccess_WhenProvidedReferenceId(){ |
170 | 177 | sale.toXML(); |
171 | 178 | } |
172 | 179 |
|
| 180 | + @Test |
| 181 | + public void testRecurrency_ShouldSuccess_WhenMissedCardData(){ |
| 182 | + SaleRequest sale = prepareObjectWithoutCardData(); |
| 183 | + sale.setRecurringType("subsequent"); |
| 184 | + sale.setReferenceId("1234"); |
| 185 | + sale.toXML(); |
| 186 | + } |
| 187 | + |
173 | 188 | @Test(expected = InvalidParamException.class) |
174 | 189 | public void testRecurrency_ThrowException_WhenMissedReferenceId() { |
175 | 190 | SaleRequest sale = prepareObject(); |
176 | 191 | sale.setRecurringType("subsequent"); |
177 | 192 | sale.toXML(); |
178 | 193 | } |
179 | 194 |
|
| 195 | + @Test(expected = RequiredParamsException.class) |
| 196 | + public void testRecurrency_ThrowException_WhenMissedAmount() { |
| 197 | + SaleRequest authorize = prepareObject(); |
| 198 | + authorize.setRecurringType("subsequent"); |
| 199 | + authorize.setAmount(null); |
| 200 | + authorize.toXML(); |
| 201 | + } |
| 202 | + |
180 | 203 | @Test(expected = InvalidParamException.class) |
181 | 204 | public void testRecurrencyError(){ |
182 | 205 | SaleRequest sale = new SaleRequest(); |
|
0 commit comments