카드 매입 승인 경로 Spring Boot 3 전환 (ACX-E2E-1785394564819)
All checks were successful
Verify / source-contract (pull_request) Successful in 10s
Verify / source-contract (push) Successful in 11s

This commit is contained in:
forge-bot 2026-07-30 09:33:52 +00:00
parent 9f883274d0
commit c28de6ef7e

View file

@ -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());
}
}