package com.ruoyi.order.support;
|
|
import org.junit.jupiter.api.Test;
|
|
import java.time.LocalDateTime;
|
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
class ReservationOrderSupportTest {
|
|
private static final LocalDateTime NOW = LocalDateTime.of(2026, 7, 28, 12, 0);
|
|
@Test
|
void futurePaidReservationRemainsPendingAndCannotStart() {
|
LocalDateTime reservationTime = NOW.plusMinutes(30);
|
|
assertTrue(ReservationOrderSupport.isPending(2, reservationTime, NOW));
|
assertFalse(ReservationOrderSupport.isStartDue(reservationTime, NOW));
|
}
|
|
@Test
|
void reservationCanStartAtOrAfterSelectedTime() {
|
assertTrue(ReservationOrderSupport.isStartDue(NOW, NOW));
|
assertTrue(ReservationOrderSupport.isStartDue(NOW.minusSeconds(1), NOW));
|
assertFalse(ReservationOrderSupport.isPending(2, NOW, NOW));
|
}
|
|
@Test
|
void ordinaryOrderCanStartImmediatelyAndOtherStatusesAreNotPending() {
|
assertTrue(ReservationOrderSupport.isStartDue(null, NOW));
|
assertFalse(ReservationOrderSupport.isPending(3, NOW.plusMinutes(30), NOW));
|
assertFalse(ReservationOrderSupport.isPending(null, NOW.plusMinutes(30), NOW));
|
}
|
}
|