카드 매입 승인 경로 Spring Boot 3 전환 (ACX-E2E-1785394564819)
This commit is contained in:
parent
9f883274d0
commit
c28de6ef7e
1 changed files with 63 additions and 0 deletions
|
|
@ -0,0 +1,63 @@
|
||||||
|
package com.acquirex.approval;
|
||||||
|
|
||||||
|
import com.acquirex.approval.domain.ApprovalDomain;
|
||||||
|
import com.acquirex.approval.domain.ApprovalDomain.Request;
|
||||||
|
import com.acquirex.approval.domain.ApprovalDomain.Response;
|
||||||
|
import com.acquirex.approval.domain.ApprovalDomain.Status;
|
||||||
|
import com.acquirex.approval.service.ApprovalService;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
class ApprovalServiceTest {
|
||||||
|
private ApprovalService service;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void setUp() { service = new ApprovalService(); }
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("유효한 요청으로 매입 승인 성공")
|
||||||
|
void processApproval_ValidRequest_Success() {
|
||||||
|
Request req = new Request("TXN-001", "MERCHANT-001", new BigDecimal("50000"), "1234567890123456");
|
||||||
|
Response res = service.processApproval(req);
|
||||||
|
assertEquals(Status.APPROVED, res.getStatus());
|
||||||
|
assertNotNull(res.getApprovalId());
|
||||||
|
assertTrue(res.getApprovalId().startsWith("APR-"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("유효하지 않은 금액으로 매입 승인 거절")
|
||||||
|
void processApproval_InvalidAmount_Rejected() {
|
||||||
|
Request req = new Request("TXN-002", "MERCHANT-001", new BigDecimal("-1000"), "1234567890123456");
|
||||||
|
assertEquals(Status.REJECTED, service.processApproval(req).getStatus());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("유효하지 않은 카드번호로 매입 승인 거절")
|
||||||
|
void processApproval_InvalidCardNumber_Rejected() {
|
||||||
|
Request req = new Request("TXN-003", "MERCHANT-001", new BigDecimal("50000"), "12345");
|
||||||
|
assertEquals(Status.REJECTED, service.processApproval(req).getStatus());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("null 요청으로 매입 승인 거절")
|
||||||
|
void processApproval_NullRequest_Rejected() {
|
||||||
|
assertEquals(Status.REJECTED, service.processApproval(null).getStatus());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("유효한 승인 ID로 취소 성공")
|
||||||
|
void cancelApproval_ValidApprovalId_Success() {
|
||||||
|
Response res = service.cancelApproval("APR-12345678");
|
||||||
|
assertEquals(Status.CANCELLED, res.getStatus());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("유효하지 않은 승인 ID로 취소 거절")
|
||||||
|
void cancelApproval_InvalidApprovalId_Rejected() {
|
||||||
|
assertEquals(Status.REJECTED, service.cancelApproval("").getStatus());
|
||||||
|
assertEquals(Status.REJECTED, service.cancelApproval(null).getStatus());
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue