카드 매입 승인 경로 Spring Boot 3 전환 #4
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