3
3
import com .objectcomputing .checkins .services .feedback_template .FeedbackTemplate ;
4
4
import com .objectcomputing .checkins .services .memberprofile .MemberProfile ;
5
5
import com .objectcomputing .checkins .services .reviews .ReviewPeriod ;
6
+ import jnr .constants .platform .Local ;
6
7
7
8
import java .time .LocalDate ;
8
9
10
+ import java .time .LocalDateTime ;
11
+ import java .time .temporal .ChronoUnit ;
12
+ import java .time .temporal .TemporalField ;
13
+ import java .util .Date ;
14
+ import java .util .Random ;
9
15
import java .util .UUID ;
10
16
import java .util .List ;
17
+ import java .util .concurrent .ThreadLocalRandom ;
11
18
12
19
public interface FeedbackRequestFixture extends RepositoryFixture , FeedbackTemplateFixture {
13
20
@@ -51,6 +58,15 @@ default FeedbackRequest saveSampleFeedbackRequest(MemberProfile creator, MemberP
51
58
return getFeedbackRequestRepository ().save (new FeedbackRequest (creator .getId (), requestee .getId (), recipient .getId (), templateId , testDate , null , "pending" , null , null ));
52
59
}
53
60
61
+ default LocalDate getRandomLocalDateTime (LocalDateTime start , LocalDateTime end ) {
62
+ LocalDate startDate = start .toLocalDate ();
63
+ long daysBetween = ChronoUnit .DAYS .between (startDate , end .toLocalDate ());
64
+ Random random = new Random ();
65
+ long randomDays = random .nextLong (daysBetween );
66
+
67
+ return startDate .plusDays (randomDays );
68
+ }
69
+
54
70
/**
55
71
* Saves a sample feedback request
56
72
* @param creator The {@link MemberProfile} of the creator of the feedback request
@@ -60,8 +76,13 @@ default FeedbackRequest saveSampleFeedbackRequest(MemberProfile creator, MemberP
60
76
* @return The saved {@link FeedbackRequest}
61
77
*/
62
78
default FeedbackRequest saveSampleFeedbackRequest (MemberProfile creator , MemberProfile requestee , MemberProfile recipient , UUID templateId , ReviewPeriod reviewPeriod ) {
63
- LocalDate testDate = LocalDate .of (2010 , 10 , 8 );
64
- return getFeedbackRequestRepository ().save (new FeedbackRequest (creator .getId (), requestee .getId (), recipient .getId (), templateId , testDate , null , "pending" , null , reviewPeriod .getId ()));
79
+ return saveSampleFeedbackRequest (creator , requestee , recipient , templateId , reviewPeriod , "pending" );
80
+ }
81
+
82
+ default FeedbackRequest saveSampleFeedbackRequest (MemberProfile creator , MemberProfile requestee , MemberProfile recipient , UUID templateId , ReviewPeriod reviewPeriod , String status ) {
83
+ LocalDate submitDate = getRandomLocalDateTime (reviewPeriod .getPeriodStartDate (), reviewPeriod .getCloseDate ());
84
+ LocalDate sendDate = getRandomLocalDateTime (reviewPeriod .getPeriodStartDate (), submitDate .atStartOfDay ());
85
+ return getFeedbackRequestRepository ().save (new FeedbackRequest (creator .getId (), requestee .getId (), recipient .getId (), templateId , sendDate , null , status , submitDate , reviewPeriod .getId ()));
65
86
}
66
87
67
88
default FeedbackRequest saveSampleFeedbackRequestWithStatus (MemberProfile creator , MemberProfile requestee , MemberProfile recipient , UUID templateId , String status ) {
0 commit comments