|
|
@@ -160,7 +160,6 @@ class OmgPaymentCreateServiceTest {
|
|
|
wrongType.setPayType("1");
|
|
|
OmgPaymentOrderSnapshot zeroAmount = payableOrder();
|
|
|
zeroAmount.setAmount(0);
|
|
|
- OmgPaymentOrderSnapshot missingCredential = payableOrder();
|
|
|
return Stream.of(
|
|
|
Arguments.of("missing order", null, ORDER_NOT_AVAILABLE),
|
|
|
Arguments.of("other owner", otherOwner, ORDER_NOT_AVAILABLE),
|
|
|
@@ -170,8 +169,20 @@ class OmgPaymentCreateServiceTest {
|
|
|
Arguments.of("state 4", stateFour, ORDER_STATE_NOT_PAYABLE),
|
|
|
Arguments.of("already paid", paid, ORDER_ALREADY_PAID),
|
|
|
Arguments.of("wrong payment type", wrongType, PAYMENT_TYPE_INVALID),
|
|
|
- Arguments.of("nonpositive amount", zeroAmount, ORDER_AMOUNT_INVALID),
|
|
|
- Arguments.of("missing credential", missingCredential, STORE_CREDENTIAL_UNAVAILABLE));
|
|
|
+ Arguments.of("nonpositive amount", zeroAmount, ORDER_AMOUNT_INVALID));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void rejectsMissingCredentialBeforeGenerationOrInsert() {
|
|
|
+ when(attempts.selectOrderForUpdate("DD-1")).thenReturn(payableOrder());
|
|
|
+ when(credentials.getEnabledCredential(77L)).thenReturn(null);
|
|
|
+
|
|
|
+ OmgPaymentBusinessException error = assertThrows(OmgPaymentBusinessException.class,
|
|
|
+ () -> service.create(5L, "DD-1"));
|
|
|
+
|
|
|
+ assertEquals(STORE_CREDENTIAL_UNAVAILABLE, error.getCode());
|
|
|
+ verifyNoInteractions(generator, formFactory);
|
|
|
+ verify(attempts, never()).createCreated(anyString(), anyString(), anyLong(), anyString(), anyInt());
|
|
|
}
|
|
|
|
|
|
private static OmgPaymentOrderSnapshot payableOrder() {
|