Skip to content

Commit a36b2e3

Browse files
committed
refactor(payment): 주문 번호 사용 일관성 개선
결제 처리 관련 테스트에서 주문 ID 대신 주문 번호를 사용하도록 수정하여 일관성을 높이고 가독성을 향상시킴
1 parent ed45b34 commit a36b2e3

File tree

2 files changed

+27
-27
lines changed

2 files changed

+27
-27
lines changed

apps/commerce-api/src/test/java/com/loopers/application/payment/PaymentCallbackIntegrationTest.java

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class 결제_성공_콜백_처리 {
9292
paymentFacade.handlePaymentCallback(successCallback);
9393

9494
// Then: 결제 상태 확인
95-
PaymentEntity updatedPayment = paymentRepository.findByOrderNumber(order.getId()).orElseThrow();
95+
PaymentEntity updatedPayment = paymentRepository.findByOrderNumber(order.getOrderNumber()).orElseThrow();
9696
assertThat(updatedPayment.getPaymentStatus()).isEqualTo(PaymentStatus.COMPLETED);
9797
assertThat(updatedPayment.getCompletedAt()).isNotNull();
9898

@@ -101,7 +101,7 @@ class 결제_성공_콜백_처리 {
101101
.atMost(5, TimeUnit.SECONDS)
102102
.pollInterval(Duration.ofMillis(100))
103103
.untilAsserted(() -> {
104-
OrderEntity updatedOrder = orderRepository.findByOrderNumberAndUserId(order.getId(), user.getId()).orElseThrow();
104+
OrderEntity updatedOrder = orderRepository.findByOrderNumberAndUserId(order.getOrderNumber(), user.getId()).orElseThrow();
105105
assertThat(updatedOrder.getStatus()).isEqualTo(OrderStatus.CONFIRMED);
106106
});
107107
}
@@ -124,15 +124,15 @@ class 결제_성공_콜백_처리 {
124124
paymentFacade.handlePaymentCallback(successCallback);
125125

126126
// Then: 결제 완료 확인
127-
PaymentEntity updatedPayment = paymentRepository.findByOrderNumber(order.getId()).orElseThrow();
127+
PaymentEntity updatedPayment = paymentRepository.findByOrderNumber(order.getOrderNumber()).orElseThrow();
128128
assertThat(updatedPayment.getPaymentStatus()).isEqualTo(PaymentStatus.COMPLETED);
129129

130130
// Then: 주문 확정 확인 (이벤트 처리 결과)
131131
await()
132132
.atMost(5, TimeUnit.SECONDS)
133133
.pollInterval(Duration.ofMillis(100))
134134
.untilAsserted(() -> {
135-
OrderEntity updatedOrder = orderRepository.findByOrderNumberAndUserId(order.getId(), user.getId()).orElseThrow();
135+
OrderEntity updatedOrder = orderRepository.findByOrderNumberAndUserId(order.getOrderNumber(), user.getId()).orElseThrow();
136136
assertThat(updatedOrder.getStatus()).isEqualTo(OrderStatus.CONFIRMED);
137137
});
138138
}
@@ -161,7 +161,7 @@ class 결제_실패_콜백_처리 {
161161
paymentFacade.handlePaymentCallback(failedCallback);
162162

163163
// Then: 결제 실패 확인
164-
PaymentEntity updatedPayment = paymentRepository.findByOrderNumber(order.getId()).orElseThrow();
164+
PaymentEntity updatedPayment = paymentRepository.findByOrderNumber(order.getOrderNumber()).orElseThrow();
165165
assertThat(updatedPayment.getPaymentStatus()).isEqualTo(PaymentStatus.FAILED);
166166
assertThat(updatedPayment.getFailureReason()).isEqualTo(failureReason);
167167

@@ -170,7 +170,7 @@ class 결제_실패_콜백_처리 {
170170
.atMost(5, TimeUnit.SECONDS)
171171
.pollInterval(Duration.ofMillis(100))
172172
.untilAsserted(() -> {
173-
OrderEntity updatedOrder = orderRepository.findByOrderNumberAndUserId(order.getId(), user.getId()).orElseThrow();
173+
OrderEntity updatedOrder = orderRepository.findByOrderNumberAndUserId(order.getOrderNumber(), user.getId()).orElseThrow();
174174
assertThat(updatedOrder.getStatus()).isEqualTo(OrderStatus.CANCELLED);
175175
});
176176
}
@@ -194,7 +194,7 @@ class 결제_실패_콜백_처리 {
194194
paymentFacade.handlePaymentCallback(failedCallback);
195195

196196
// Then
197-
PaymentEntity updatedPayment = paymentRepository.findByOrderNumber(order.getId()).orElseThrow();
197+
PaymentEntity updatedPayment = paymentRepository.findByOrderNumber(order.getOrderNumber()).orElseThrow();
198198
assertThat(updatedPayment.getPaymentStatus()).isEqualTo(PaymentStatus.FAILED);
199199
assertThat(updatedPayment.getFailureReason()).isEqualTo(failureReason);
200200
}
@@ -222,7 +222,7 @@ class 결제_실패_콜백_처리 {
222222
.atMost(5, TimeUnit.SECONDS)
223223
.pollInterval(Duration.ofMillis(100))
224224
.untilAsserted(() -> {
225-
OrderEntity updatedOrder = orderRepository.findByOrderNumberAndUserId(order.getId(), user.getId()).orElseThrow();
225+
OrderEntity updatedOrder = orderRepository.findByOrderNumberAndUserId(order.getOrderNumber(), user.getId()).orElseThrow();
226226
assertThat(updatedOrder.getStatus()).isEqualTo(OrderStatus.CANCELLED);
227227
});
228228
}
@@ -254,19 +254,19 @@ class 멱등성_검증 {
254254
.atMost(5, TimeUnit.SECONDS)
255255
.pollInterval(Duration.ofMillis(100))
256256
.untilAsserted(() -> {
257-
PaymentEntity completedPayment = paymentRepository.findByOrderNumber(order.getId()).orElseThrow();
257+
PaymentEntity completedPayment = paymentRepository.findByOrderNumber(order.getOrderNumber()).orElseThrow();
258258
assertThat(completedPayment.getPaymentStatus()).isEqualTo(PaymentStatus.COMPLETED);
259259
});
260260

261-
PaymentEntity completedPayment = paymentRepository.findByOrderNumber(order.getId()).orElseThrow();
261+
PaymentEntity completedPayment = paymentRepository.findByOrderNumber(order.getOrderNumber()).orElseThrow();
262262
var originalCompletedAt = completedPayment.getCompletedAt();
263263

264264
// When: 두 번째 SUCCESS 콜백 (중복)
265265
PaymentV1Dtos.PgCallbackRequest duplicateCallback = createSuccessCallback(payment, order);
266266
paymentFacade.handlePaymentCallback(duplicateCallback);
267267

268268
// Then: 상태 변경 없음
269-
PaymentEntity unchangedPayment = paymentRepository.findByOrderNumber(order.getId()).orElseThrow();
269+
PaymentEntity unchangedPayment = paymentRepository.findByOrderNumber(order.getOrderNumber()).orElseThrow();
270270
assertThat(unchangedPayment.getPaymentStatus()).isEqualTo(PaymentStatus.COMPLETED);
271271
assertThat(unchangedPayment.getCompletedAt()).isEqualTo(originalCompletedAt);
272272
}
@@ -293,11 +293,11 @@ class 멱등성_검증 {
293293
.atMost(5, TimeUnit.SECONDS)
294294
.pollInterval(Duration.ofMillis(100))
295295
.untilAsserted(() -> {
296-
PaymentEntity failedPayment = paymentRepository.findByOrderNumber(order.getId()).orElseThrow();
296+
PaymentEntity failedPayment = paymentRepository.findByOrderNumber(order.getOrderNumber()).orElseThrow();
297297
assertThat(failedPayment.getPaymentStatus()).isEqualTo(PaymentStatus.FAILED);
298298
});
299299

300-
PaymentEntity failedPayment = paymentRepository.findByOrderNumber(order.getId()).orElseThrow();
300+
PaymentEntity failedPayment = paymentRepository.findByOrderNumber(order.getOrderNumber()).orElseThrow();
301301
String originalFailureReason = failedPayment.getFailureReason();
302302

303303
// When: 두 번째 실패 콜백 (다른 사유)
@@ -306,7 +306,7 @@ class 멱등성_검증 {
306306
paymentFacade.handlePaymentCallback(duplicateCallback);
307307

308308
// Then: failureReason 변경 없음 (첫 번째 값 유지)
309-
PaymentEntity unchangedPayment = paymentRepository.findByOrderNumber(order.getId()).orElseThrow();
309+
PaymentEntity unchangedPayment = paymentRepository.findByOrderNumber(order.getOrderNumber()).orElseThrow();
310310
assertThat(unchangedPayment.getPaymentStatus()).isEqualTo(PaymentStatus.FAILED);
311311
assertThat(unchangedPayment.getFailureReason()).isEqualTo(originalFailureReason);
312312
}
@@ -331,7 +331,7 @@ class 멱등성_검증 {
331331
.atMost(5, TimeUnit.SECONDS)
332332
.pollInterval(Duration.ofMillis(100))
333333
.untilAsserted(() -> {
334-
PaymentEntity completedPayment = paymentRepository.findByOrderNumber(order.getId()).orElseThrow();
334+
PaymentEntity completedPayment = paymentRepository.findByOrderNumber(order.getOrderNumber()).orElseThrow();
335335
assertThat(completedPayment.getPaymentStatus()).isEqualTo(PaymentStatus.COMPLETED);
336336
});
337337

@@ -340,7 +340,7 @@ class 멱등성_검증 {
340340
paymentFacade.handlePaymentCallback(failedCallback);
341341

342342
// Then: 여전히 COMPLETED 상태 유지
343-
PaymentEntity unchangedPayment = paymentRepository.findByOrderNumber(order.getId()).orElseThrow();
343+
PaymentEntity unchangedPayment = paymentRepository.findByOrderNumber(order.getOrderNumber()).orElseThrow();
344344
assertThat(unchangedPayment.getPaymentStatus()).isEqualTo(PaymentStatus.COMPLETED);
345345
assertThat(unchangedPayment.getFailureReason()).isNull();
346346
}
@@ -360,7 +360,7 @@ class PENDING_상태_콜백_처리 {
360360

361361
PaymentV1Dtos.PgCallbackRequest pendingCallback = new PaymentV1Dtos.PgCallbackRequest(
362362
payment.getTransactionKey(),
363-
order.getId().toString(),
363+
order.getOrderNumber().toString(),
364364
"CREDIT",
365365
"1234-****-****-3456",
366366
50000L,
@@ -376,7 +376,7 @@ class PENDING_상태_콜백_처리 {
376376
paymentFacade.handlePaymentCallback(pendingCallback);
377377

378378
// Then: PENDING 상태 유지
379-
PaymentEntity unchangedPayment = paymentRepository.findByOrderNumber(order.getId()).orElseThrow();
379+
PaymentEntity unchangedPayment = paymentRepository.findByOrderNumber(order.getOrderNumber()).orElseThrow();
380380
assertThat(unchangedPayment.getPaymentStatus()).isEqualTo(PaymentStatus.PENDING);
381381
}
382382
}
@@ -407,7 +407,7 @@ private OrderEntity createAndSaveOrder(Long userId) {
407407
private PaymentEntity createAndSavePendingPayment(UserEntity user, OrderEntity order) {
408408
PaymentCommand command = PaymentCommand.builder()
409409
.username(user.getUsername())
410-
.orderId(order.getId())
410+
.orderId(order.getOrderNumber())
411411
.orderNumber(order.getOrderNumber())
412412
.cardType("CREDIT")
413413
.cardNo("1234-5678-9012-3456")
@@ -426,7 +426,7 @@ private PaymentEntity createAndSavePendingPayment(UserEntity user, OrderEntity o
426426
private PaymentV1Dtos.PgCallbackRequest createSuccessCallback(PaymentEntity payment, OrderEntity order) {
427427
return new PaymentV1Dtos.PgCallbackRequest(
428428
payment.getTransactionKey(),
429-
order.getId().toString(),
429+
order.getOrderNumber().toString(),
430430
"CREDIT",
431431
"1234-****-****-3456",
432432
order.getFinalTotalAmount().longValue(),
@@ -441,7 +441,7 @@ private PaymentV1Dtos.PgCallbackRequest createSuccessCallback(PaymentEntity paym
441441
private PaymentV1Dtos.PgCallbackRequest createFailedCallback(PaymentEntity payment, OrderEntity order, String reason) {
442442
return new PaymentV1Dtos.PgCallbackRequest(
443443
payment.getTransactionKey(),
444-
order.getId().toString(),
444+
order.getOrderNumber().toString(),
445445
"CREDIT",
446446
"1234-****-****-3456",
447447
order.getFinalTotalAmount().longValue(),
@@ -458,7 +458,7 @@ private PgPaymentResponse createPgSuccessResponse(PaymentEntity payment, OrderEn
458458
new PgPaymentResponse.Meta("SUCCESS", null, null),
459459
new PgPaymentResponse.Data(
460460
payment.getTransactionKey(),
461-
order.getId().toString(),
461+
order.getOrderNumber().toString(),
462462
"CREDIT",
463463
"1234-****-****-3456",
464464
order.getFinalTotalAmount(),
@@ -476,7 +476,7 @@ private PgPaymentResponse createPgFailedResponse(PaymentEntity payment, OrderEnt
476476
new PgPaymentResponse.Meta("SUCCESS", null, null),
477477
new PgPaymentResponse.Data(
478478
payment.getTransactionKey(),
479-
order.getId().toString(),
479+
order.getOrderNumber().toString(),
480480
"CREDIT",
481481
"1234-****-****-3456",
482482
order.getFinalTotalAmount(),
@@ -494,7 +494,7 @@ private PgPaymentResponse createPgPendingResponse(PaymentEntity payment, OrderEn
494494
new PgPaymentResponse.Meta("SUCCESS", null, null),
495495
new PgPaymentResponse.Data(
496496
payment.getTransactionKey(),
497-
order.getId().toString(),
497+
order.getOrderNumber().toString(),
498498
"CREDIT",
499499
"1234-****-****-3456",
500500
order.getFinalTotalAmount(),

apps/commerce-api/src/test/java/com/loopers/domain/payment/PaymentEntityTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class 성공_케이스 {
4848
assertThat(payment).isNotNull();
4949
assertThat(payment.getPaymentStatus()).isEqualTo(PaymentStatus.PENDING);
5050
assertThat(payment.getAmount()).isEqualByComparingTo(request.amount());
51-
assertThat(payment.getOrderId()).isEqualTo(request.orderNumber());
51+
assertThat(payment.getOrderNumber()).isEqualTo(request.orderNumber());
5252
assertThat(payment.getUserId()).isEqualTo(request.userId());
5353
assertThat(payment.getTransactionKey()).isNull(); // PENDING 상태에서는 null
5454
}
@@ -67,7 +67,7 @@ class 성공_케이스 {
6767
assertThat(payment).isNotNull();
6868
assertThat(payment.getPaymentStatus()).isEqualTo(PaymentStatus.PENDING);
6969
assertThat(payment.getAmount()).isEqualByComparingTo(command.amount());
70-
assertThat(payment.getOrderId()).isEqualTo(command.orderId());
70+
assertThat(payment.getOrderNumber()).isEqualTo(command.orderId());
7171
assertThat(payment.getUserId()).isEqualTo(user.getId());
7272
assertThat(payment.getTransactionKey()).isNull();
7373
}
@@ -398,7 +398,7 @@ class Builder_패턴_테스트 {
398398
// Then
399399
assertThat(payment.getPaymentStatus()).isEqualTo(PaymentStatus.PENDING);
400400
assertThat(payment.getAmount()).isEqualByComparingTo(new BigDecimal("30000"));
401-
assertThat(payment.getOrderId()).isEqualTo(123L);
401+
assertThat(payment.getOrderNumber()).isEqualTo(123L);
402402
assertThat(payment.getTransactionKey()).isNull();
403403
}
404404

0 commit comments

Comments
 (0)