generated from pricelees/issue-pr-template
refactor: payment 관련 Repository에서 모든 Optional 반환 제거
This commit is contained in:
parent
3ca58b2dae
commit
4e4956e9dc
@ -1,8 +1,7 @@
|
|||||||
package roomescape.payment.infrastructure.persistence
|
package roomescape.payment.infrastructure.persistence
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository
|
import org.springframework.data.jpa.repository.JpaRepository
|
||||||
import java.util.*
|
|
||||||
|
|
||||||
interface CanceledPaymentRepository : JpaRepository<CanceledPaymentEntity, Long> {
|
interface CanceledPaymentRepository : JpaRepository<CanceledPaymentEntity, Long> {
|
||||||
fun findByPaymentKey(paymentKey: String): Optional<CanceledPaymentEntity>
|
fun findByPaymentKey(paymentKey: String): CanceledPaymentEntity?
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,14 @@
|
|||||||
package roomescape.payment.infrastructure.persistence
|
package roomescape.payment.infrastructure.persistence
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository
|
import org.springframework.data.jpa.repository.JpaRepository
|
||||||
import java.util.*
|
import org.springframework.data.jpa.repository.Query
|
||||||
|
|
||||||
interface PaymentRepository : JpaRepository<PaymentEntity, Long> {
|
interface PaymentRepository : JpaRepository<PaymentEntity, Long> {
|
||||||
fun findByReservationId(reservationId: Long): Optional<PaymentEntity>
|
|
||||||
|
|
||||||
fun findByPaymentKey(paymentKey: String): Optional<PaymentEntity>
|
fun existsByReservationId(reservationId: Long): Boolean
|
||||||
|
|
||||||
|
@Query("SELECT p.paymentKey FROM PaymentEntity p WHERE p.reservation.id = :reservationId")
|
||||||
|
fun findPaymentKeyByReservationId(reservationId: Long): String?
|
||||||
|
|
||||||
|
fun findByPaymentKey(paymentKey: String): PaymentEntity?
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import roomescape.common.exception.RoomescapeException;
|
|||||||
import roomescape.member.infrastructure.persistence.Member;
|
import roomescape.member.infrastructure.persistence.Member;
|
||||||
import roomescape.member.infrastructure.persistence.MemberRepository;
|
import roomescape.member.infrastructure.persistence.MemberRepository;
|
||||||
import roomescape.member.infrastructure.persistence.Role;
|
import roomescape.member.infrastructure.persistence.Role;
|
||||||
|
import roomescape.payment.infrastructure.persistence.CanceledPaymentEntity;
|
||||||
import roomescape.payment.infrastructure.persistence.CanceledPaymentRepository;
|
import roomescape.payment.infrastructure.persistence.CanceledPaymentRepository;
|
||||||
import roomescape.payment.web.PaymentApprove;
|
import roomescape.payment.web.PaymentApprove;
|
||||||
import roomescape.payment.web.PaymentCancel;
|
import roomescape.payment.web.PaymentCancel;
|
||||||
@ -88,7 +89,7 @@ class PaymentServiceTest {
|
|||||||
PaymentCancel.Request paymentCancelRequest = paymentService.cancelPaymentByAdmin(reservation.getId());
|
PaymentCancel.Request paymentCancelRequest = paymentService.cancelPaymentByAdmin(reservation.getId());
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertThat(canceledPaymentRepository.findByPaymentKey("payment-key")).isNotEmpty();
|
assertThat(canceledPaymentRepository.findByPaymentKey("payment-key")).isNotNull();
|
||||||
assertThat(paymentCancelRequest.paymentKey).isEqualTo(paymentInfo.paymentKey);
|
assertThat(paymentCancelRequest.paymentKey).isEqualTo(paymentInfo.paymentKey);
|
||||||
assertThat(paymentCancelRequest.cancelReason).isEqualTo("고객 요청");
|
assertThat(paymentCancelRequest.cancelReason).isEqualTo("고객 요청");
|
||||||
assertThat(paymentCancelRequest.amount).isEqualTo(10000L);
|
assertThat(paymentCancelRequest.amount).isEqualTo(10000L);
|
||||||
@ -127,8 +128,10 @@ class PaymentServiceTest {
|
|||||||
paymentService.updateCanceledTime(paymentInfo.paymentKey, canceledAt);
|
paymentService.updateCanceledTime(paymentInfo.paymentKey, canceledAt);
|
||||||
|
|
||||||
// then
|
// then
|
||||||
canceledPaymentRepository.findByPaymentKey(paymentInfo.paymentKey)
|
CanceledPaymentEntity canceledPayment = canceledPaymentRepository.findByPaymentKey(paymentInfo.paymentKey);
|
||||||
.ifPresent(canceledPayment -> assertThat(canceledPayment.getCanceledAt()).isEqualTo(canceledAt));
|
|
||||||
|
assertThat(canceledPayment).isNotNull();
|
||||||
|
assertThat(canceledPayment.getCanceledAt()).isEqualTo(canceledAt);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@ -447,13 +447,12 @@ public class ReservationControllerTest {
|
|||||||
.statusCode(400);
|
.statusCode(400);
|
||||||
|
|
||||||
// then
|
// then
|
||||||
Optional<CanceledPaymentEntity> canceledPaymentOptional = canceledPaymentRepository.findByPaymentKey(
|
CanceledPaymentEntity canceledPayment = canceledPaymentRepository.findByPaymentKey(paymentKey);
|
||||||
paymentKey);
|
assertThat(canceledPayment).isNotNull();
|
||||||
assertThat(canceledPaymentOptional).isNotNull();
|
assertThat(canceledPayment.getCanceledAt()).isEqualTo(canceledAt);
|
||||||
assertThat(canceledPaymentOptional.get().getCanceledAt()).isEqualTo(canceledAt);
|
assertThat(canceledPayment.getCancelReason()).isEqualTo("고객 요청");
|
||||||
assertThat(canceledPaymentOptional.get().getCancelReason()).isEqualTo("고객 요청");
|
assertThat(canceledPayment.getCancelAmount()).isEqualTo(1000L);
|
||||||
assertThat(canceledPaymentOptional.get().getCancelAmount()).isEqualTo(1000L);
|
assertThat(canceledPayment.getApprovedAt()).isEqualTo(approvedAt);
|
||||||
assertThat(canceledPaymentOptional.get().getApprovedAt()).isEqualTo(approvedAt);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@DisplayName("테마만을 이용하여 예약을 조회한다.")
|
@DisplayName("테마만을 이용하여 예약을 조회한다.")
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import roomescape.member.infrastructure.persistence.Member;
|
|||||||
import roomescape.member.infrastructure.persistence.MemberRepository;
|
import roomescape.member.infrastructure.persistence.MemberRepository;
|
||||||
import roomescape.member.infrastructure.persistence.Role;
|
import roomescape.member.infrastructure.persistence.Role;
|
||||||
import roomescape.payment.infrastructure.persistence.CanceledPaymentRepository;
|
import roomescape.payment.infrastructure.persistence.CanceledPaymentRepository;
|
||||||
|
import roomescape.payment.infrastructure.persistence.PaymentEntity;
|
||||||
import roomescape.payment.infrastructure.persistence.PaymentRepository;
|
import roomescape.payment.infrastructure.persistence.PaymentRepository;
|
||||||
import roomescape.payment.web.PaymentApprove;
|
import roomescape.payment.web.PaymentApprove;
|
||||||
import roomescape.payment.web.PaymentCancel;
|
import roomescape.payment.web.PaymentCancel;
|
||||||
@ -76,13 +77,13 @@ class ReservationWithPaymentServiceTest {
|
|||||||
assertThat(reservation.getReservationTime().getId()).isEqualTo(time.getId());
|
assertThat(reservation.getReservationTime().getId()).isEqualTo(time.getId());
|
||||||
assertThat(reservation.getReservationStatus()).isEqualTo(ReservationStatus.CONFIRMED);
|
assertThat(reservation.getReservationStatus()).isEqualTo(ReservationStatus.CONFIRMED);
|
||||||
});
|
});
|
||||||
paymentRepository.findByPaymentKey("payment-key")
|
|
||||||
.ifPresent(payment -> {
|
PaymentEntity payment = paymentRepository.findByPaymentKey("payment-key");
|
||||||
|
assertThat(payment).isNotNull();
|
||||||
assertThat(payment.getReservation().getId()).isEqualTo(reservationResponse.id());
|
assertThat(payment.getReservation().getId()).isEqualTo(reservationResponse.id());
|
||||||
assertThat(payment.getPaymentKey()).isEqualTo("payment-key");
|
assertThat(payment.getPaymentKey()).isEqualTo("payment-key");
|
||||||
assertThat(payment.getOrderId()).isEqualTo("order-id");
|
assertThat(payment.getOrderId()).isEqualTo("order-id");
|
||||||
assertThat(payment.getTotalAmount()).isEqualTo(10000L);
|
assertThat(payment.getTotalAmount()).isEqualTo(10000L);
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -109,8 +110,8 @@ class ReservationWithPaymentServiceTest {
|
|||||||
// then
|
// then
|
||||||
assertThat(paymentCancelRequest.cancelReason).isEqualTo("고객 요청");
|
assertThat(paymentCancelRequest.cancelReason).isEqualTo("고객 요청");
|
||||||
assertThat(reservationRepository.findById(reservationResponse.id())).isEmpty();
|
assertThat(reservationRepository.findById(reservationResponse.id())).isEmpty();
|
||||||
assertThat(paymentRepository.findByPaymentKey("payment-key")).isEmpty();
|
assertThat(paymentRepository.findByPaymentKey("payment-key")).isNull();
|
||||||
assertThat(canceledPaymentRepository.findByPaymentKey("payment-key")).isNotEmpty();
|
assertThat(canceledPaymentRepository.findByPaymentKey("payment-key")).isNotNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user