@@ -1124,4 +1124,71 @@ void complete_pt_lesson_success() throws Exception {
1124
1124
//noinspection OptionalGetWithoutIsPresent
1125
1125
assertThat (ptLessonRepository .findById (ptLesson .getId ()).get ().getIsCompleted ()).isTrue ();
1126
1126
}
1127
+
1128
+ @ Test
1129
+ @ DisplayName ("통합 테스트 - PT 수업 완료 취소 처리 성공" )
1130
+ void cancel_pt_lesson_success () throws Exception {
1131
+ Member trainerMember = MemberFixture .getTrainerMember1 ();
1132
+ Member traineeMember = MemberFixture .getTraineeMember1 ();
1133
+
1134
+ trainerMember = memberRepository .save (trainerMember );
1135
+ traineeMember = memberRepository .save (traineeMember );
1136
+
1137
+ CustomUserDetails trainerUserDetails = new CustomUserDetails (trainerMember .getId (),
1138
+ trainerMember .getId ().toString (),
1139
+ authoritiesMapper .mapAuthorities (List .of (new SimpleGrantedAuthority ("ROLE_USER" ))));
1140
+
1141
+ Authentication authentication = new UsernamePasswordAuthenticationToken (trainerUserDetails , null ,
1142
+ authoritiesMapper .mapAuthorities (trainerUserDetails .getAuthorities ()));
1143
+
1144
+ SecurityContextHolder .getContext ().setAuthentication (authentication );
1145
+
1146
+ Trainer trainer = Trainer .builder ()
1147
+ .member (trainerMember )
1148
+ .build ();
1149
+
1150
+ Trainee trainee = Trainee .builder ()
1151
+ .member (traineeMember )
1152
+ .height (180.5 )
1153
+ .weight (78.4 )
1154
+ .cautionNote ("주의사항" )
1155
+ .build ();
1156
+
1157
+ trainer = trainerRepository .save (trainer );
1158
+ trainee = traineeRepository .save (trainee );
1159
+
1160
+ PtTrainerTrainee ptTrainerTrainee = PtTrainerTraineeFixture .getPtTrainerTrainee1 (trainer , trainee );
1161
+
1162
+ ptTrainerTraineeRepository .save (ptTrainerTrainee );
1163
+
1164
+ PtLesson ptLesson1 = PtLesson .builder ()
1165
+ .ptTrainerTrainee (ptTrainerTrainee )
1166
+ .session (1 )
1167
+ .lessonStart (LocalDateTime .of (2025 , 1 , 1 , 10 , 0 ))
1168
+ .lessonEnd (LocalDateTime .of (2025 , 1 , 1 , 11 , 0 ))
1169
+ .memo ("THIS IS MEMO" )
1170
+ .build ();
1171
+
1172
+ PtLesson ptLesson2 = PtLesson .builder ()
1173
+ .ptTrainerTrainee (ptTrainerTrainee )
1174
+ .session (2 )
1175
+ .lessonStart (LocalDateTime .of (2025 , 1 , 3 , 10 , 0 ))
1176
+ .lessonEnd (LocalDateTime .of (2025 , 1 , 3 , 11 , 0 ))
1177
+ .build ();
1178
+
1179
+ PtLesson ptLesson3 = PtLesson .builder ()
1180
+ .ptTrainerTrainee (ptTrainerTrainee )
1181
+ .session (3 )
1182
+ .lessonStart (LocalDateTime .of (2025 , 1 , 4 , 10 , 0 ))
1183
+ .lessonEnd (LocalDateTime .of (2025 , 1 , 4 , 11 , 0 ))
1184
+ .build ();
1185
+
1186
+ ptLesson1 .complete (1 );
1187
+
1188
+ ptLessonRepository .saveAll (List .of (ptLesson1 , ptLesson2 , ptLesson3 ));
1189
+
1190
+ // when & then
1191
+ mockMvc .perform (put ("/trainers/lessons/{ptLessonId}/cancel" , ptLesson1 .getId ()))
1192
+ .andExpect (status ().isOk ());
1193
+ }
1127
1194
}
0 commit comments