longz
2026-07-28 79f1a19bb3344de47dff029cf5498d787e223782
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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));
    }
}