1818
1919import static com .bytechef .component .date .helper .constants .DateHelperConstants .DATE ;
2020import static org .junit .jupiter .api .Assertions .assertEquals ;
21+ import static org .mockito .Mockito .CALLS_REAL_METHODS ;
22+ import static org .mockito .Mockito .mockStatic ;
2123
2224import com .bytechef .component .definition .Parameters ;
2325import com .bytechef .component .test .definition .MockParametersFactory ;
2426import java .time .LocalDateTime ;
2527import java .util .Map ;
2628import org .junit .jupiter .api .Test ;
29+ import org .mockito .MockedStatic ;
2730
2831/**
2932 * @author Nikolina Spehar
3033 */
3134class DateHelperGetTimeFromNowActionTest {
3235
3336 private String run (LocalDateTime inputDate ) {
34- Parameters mockedParameters = MockParametersFactory .create (
35- Map .of (DATE , inputDate ));
37+ Parameters mockedParameters = MockParametersFactory .create (Map .of (DATE , inputDate ));
3638
3739 return DateHelperGetTimeFromNowAction .perform (mockedParameters , null , null );
3840 }
3941
4042 @ Test
4143 void testPerformInTwoMonths () {
42- LocalDateTime now = LocalDateTime .now ()
43- .plusSeconds (1 );
44- LocalDateTime futureDate = now .plusMonths (2 );
44+ LocalDateTime mockedNow = LocalDateTime .of (2026 , 1 , 12 , 15 , 0 , 0 );
45+ LocalDateTime futureDate = mockedNow .plusMonths (2 );
46+
47+ try (MockedStatic <LocalDateTime > mockedLocalDateTime = mockStatic (LocalDateTime .class , CALLS_REAL_METHODS )) {
48+ mockedLocalDateTime .when (LocalDateTime ::now )
49+ .thenReturn (mockedNow );
4550
46- assertEquals ("in 2 months, 2 days" , run (futureDate ));
51+ assertEquals ("in 1 month, 29 days" , run (futureDate ));
52+ }
4753 }
4854
4955 @ Test
@@ -57,11 +63,15 @@ void testPerformFourDaysAgo() {
5763
5864 @ Test
5965 void testPerformOneMonthAgo () {
60- LocalDateTime now = LocalDateTime .now ()
61- .plusSeconds (1 );
62- LocalDateTime pastDate = now .minusMonths (1 );
66+ LocalDateTime mockedNow = LocalDateTime .of (2026 , 1 , 12 , 15 , 0 , 0 );
67+ LocalDateTime pastDate = mockedNow .minusMonths (1 );
68+
69+ try (MockedStatic <LocalDateTime > mockedLocalDateTime = mockStatic (LocalDateTime .class , CALLS_REAL_METHODS )) {
70+ mockedLocalDateTime .when (LocalDateTime ::now )
71+ .thenReturn (mockedNow );
6372
64- assertEquals ("1 month ago" , run (pastDate ));
73+ assertEquals ("1 month, 1 day ago" , run (pastDate ));
74+ }
6575 }
6676
6777 @ Test
0 commit comments