99import MathCaptain .weakness .domain .Group .repository .RelationRepository ;
1010import MathCaptain .weakness .domain .Record .entity .ActivityRecord ;
1111import MathCaptain .weakness .domain .Record .repository .RecordRepository ;
12+ import MathCaptain .weakness .domain .Recruitment .dto .request .CreateRecruitmentRequest ;
1213import MathCaptain .weakness .domain .Recruitment .entity .Comment ;
1314import MathCaptain .weakness .domain .Recruitment .entity .Recruitment ;
1415import MathCaptain .weakness .domain .Recruitment .enums .RecruitmentStatus ;
@@ -90,7 +91,7 @@ public void init() {
9091 userRepository .save (user );
9192 }
9293
93- log .info ("======== 👤테스트 유저 생성 완료 =========" );
94+ log .info ("======== 👤테스트 유저 데이터 생성 완료 =========" );
9495
9596 Users leader = userRepository .findByUserId (1L )
9697 .orElseThrow (() -> new IllegalArgumentException ("해당 유저가 없습니다." ));
@@ -122,79 +123,41 @@ public void init() {
122123 group3 .updateWeeklyGoalAchieveMap (DayOfWeek .SUNDAY , 0 );
123124 groupRepository .save (group3 );
124125
125- log .info ("======== 👥 테스트 그룹 생성 완료 =========" );
126-
127- RelationBetweenUserAndGroup join1 = RelationBetweenUserAndGroup .builder ()
128- .member (users1 )
129- .groupRole (GroupRole .LEADER )
130- .group (group1 )
131- .personalDailyGoal (2 )
132- .personalWeeklyGoal (3 )
133- .build ();
134-
135- RelationBetweenUserAndGroup join2 = RelationBetweenUserAndGroup .builder ()
136- .member (users2 )
137- .groupRole (GroupRole .LEADER )
138- .group (group2 )
139- .personalDailyGoal (2 )
140- .personalWeeklyGoal (3 )
141- .build ();
142-
143- RelationBetweenUserAndGroup join3 = RelationBetweenUserAndGroup .builder ()
144- .member (users3 )
145- .groupRole (GroupRole .LEADER )
146- .group (group3 )
147- .personalDailyGoal (2 )
148- .personalWeeklyGoal (3 )
149- .build ();
126+ log .info ("======== 👥 테스트 그룹 데이터 생성 완료 =========" );
127+
128+ RelationBetweenUserAndGroup join1 = RelationBetweenUserAndGroup .of (users1 , group1 , groupCreateRequest1 );
129+ RelationBetweenUserAndGroup join2 = RelationBetweenUserAndGroup .of (users2 , group2 , groupCreateRequest2 );
130+ RelationBetweenUserAndGroup join3 = RelationBetweenUserAndGroup .of (users3 , group3 , groupCreateRequest3 );
150131
151132 relationRepository .save (join1 );
152133 relationRepository .save (join2 );
153134 relationRepository .save (join3 );
154135
155136 for (int i = 4 ; i <= 12 ; i ++) {
156- RelationBetweenUserAndGroup join = RelationBetweenUserAndGroup .builder ()
157- .member (userRepository .findByUserId ((long ) i )
158- .orElseThrow (() -> new IllegalArgumentException ("해당 유저가 없습니다." ))
159- )
160- .groupRole (GroupRole .MEMBER )
161- .group (group3 )
162- .personalDailyGoal (3 )
163- .personalWeeklyGoal (5 )
164- .build ();
137+ Users member = userRepository .findByUserId ((long ) i )
138+ .orElseThrow (() -> new IllegalArgumentException ("해당 유저가 없습니다." ));
139+ RelationBetweenUserAndGroup join = RelationBetweenUserAndGroup .of (member , group3 , 3 , 5 );
165140 relationRepository .save (join );
166141 }
167142
168- /// 테스트 모집글 생성
169- Recruitment recruitment = Recruitment .builder ()
170- .postId (1L )
171- .author (users1 )
172- .recruitGroup (group1 )
173- .category (CategoryStatus .STUDY )
174- .title ("testRecruitment" )
175- .content ("testContent" )
176- .recruitmentStatus (RecruitmentStatus .RECRUITING )
177- .build ();
143+ log .info ("======== 👥 테스트 관계 데이터 생성 완료 =========" );
178144
145+ CreateRecruitmentRequest createRecruitmentRequest = CreateRecruitmentRequest .of (group1 .getId (), "testRecruitment" , "testContent" );
146+ Recruitment recruitment = Recruitment .of (users1 , group1 , createRecruitmentRequest );
179147 recruitmentRepository .save (recruitment );
148+
180149 log .info ("======== 🔖테스트 모집글 생성 완료 =========" );
181150
182151 /// 테스트 댓글 생성
183- Comment comment = Comment .builder ()
184- .commentId (1L )
185- .author (users1 )
186- .post (recruitment )
187- .content ("testComment" )
188- .build ();
189-
152+ Comment comment = Comment .of (recruitment , users1 , "testComment" );
190153 commentRepository .save (comment );
154+
191155 log .info ("======== 💬테스트 댓글 생성 완료 =========" );
192156
193157 // ActivityRecord 생성 (currentProgress 설정: 10 이하로 조정)
194158
195159 // 이번 주의 시작과 끝 시간 계산
196160 LocalDateTime startOfWeek = LocalDateTime .now ().with (java .time .temporal .TemporalAdjusters .previousOrSame (DayOfWeek .MONDAY ));
197- LocalDateTime endOfWeek = startOfWeek .plusWeeks (1 );
198161
199162 // User ID: 4 -> currentProgress: 5
200163 createActivityRecords (userRepository .findByUserId (4L ).orElseThrow (() -> new IllegalArgumentException ("해당 유저가 없습니다." )), group3 , startOfWeek , 5 );
@@ -217,14 +180,22 @@ public void init() {
217180 // Helper 메서드: ActivityRecord 생성 (이번 주 내에서만 생성되도록 수정)
218181 private void createActivityRecords (Users user , Group group , LocalDateTime startOfWeek , int recordCount ) {
219182 for (int i = 0 ; i < recordCount ; i ++) {
220- ActivityRecord record = ActivityRecord .builder ()
221- .user (user )
222- .group (group )
223- // 이번 주 내에서만 startTime 설정
224- .startTime (startOfWeek .plusDays (i % 7 )) // 월요일부터 시작해서 순차적으로 날짜 설정
225- .dailyGoalAchieved (true ) // 일간 목표 달성 여부 설정
226- .weeklyGoalAchieved (false ) // 주간 목표는 기본값으로 false
227- .build ();
183+ // 시작 시간은 주어진 startOfWeek에서 i일을 더한 값
184+ LocalDateTime startTime = startOfWeek .plusDays (i % 7 );
185+
186+ // 종료 시간은 시작 시간에서 1시간을 더한 값으로 설정 (예시)
187+ LocalDateTime endTime = startTime .plusHours (1 );
188+
189+ // 활동 시간은 60분으로 설정 (예시)
190+ Long activityTime = 60L ;
191+
192+ // 요일은 시작 시간의 DayOfWeek를 사용
193+ DayOfWeek dayOfWeek = startTime .getDayOfWeek ();
194+
195+ // ActivityRecord 객체 생성
196+ ActivityRecord record = ActivityRecord .of (user , group , startTime , endTime , activityTime , dayOfWeek );
197+
198+ // 저장소에 저장
228199 recordRepository .save (record );
229200 }
230201 }
0 commit comments