diff --git a/src/main/java/com/project/trainingdiary/repository/WorkoutSessionRepository.java b/src/main/java/com/project/trainingdiary/repository/WorkoutSessionRepository.java index 15e7bd9..867a192 100644 --- a/src/main/java/com/project/trainingdiary/repository/WorkoutSessionRepository.java +++ b/src/main/java/com/project/trainingdiary/repository/WorkoutSessionRepository.java @@ -15,7 +15,7 @@ public interface WorkoutSessionRepository extends JpaRepository findByPtContract_TrainerAndId (TrainerEntity trainer, Long sessionId); - Optional findByPtContract_TrainerAndSessionNumber - (TrainerEntity trainer, int sessionNumber); + Optional findByPtContract_IdAndSessionNumber + (Long ptContractId, int sessionNumber); } diff --git a/src/main/java/com/project/trainingdiary/service/WorkoutSessionService.java b/src/main/java/com/project/trainingdiary/service/WorkoutSessionService.java index c11d596..6c79e18 100644 --- a/src/main/java/com/project/trainingdiary/service/WorkoutSessionService.java +++ b/src/main/java/com/project/trainingdiary/service/WorkoutSessionService.java @@ -84,7 +84,7 @@ public WorkoutSessionResponseDto createWorkoutSession(WorkoutSessionCreateReques // 세션 넘버에 대한 일지가 이미 존재하는지 확인 workoutSessionRepository - .findByPtContract_TrainerAndSessionNumber(trainer, dto.getSessionNumber()) + .findByPtContract_IdAndSessionNumber(ptContract.getId(), dto.getSessionNumber()) .ifPresent(exist -> { throw new WorkoutSessionAlreadyExistException(dto.getSessionNumber()); }); diff --git a/src/test/java/com/project/trainingdiary/service/WorkoutSessionServiceTest.java b/src/test/java/com/project/trainingdiary/service/WorkoutSessionServiceTest.java index aaa59e9..66d1977 100644 --- a/src/test/java/com/project/trainingdiary/service/WorkoutSessionServiceTest.java +++ b/src/test/java/com/project/trainingdiary/service/WorkoutSessionServiceTest.java @@ -196,7 +196,7 @@ void testCreateWorkoutSessionSuccess() { when(ptContractRepository.findByTrainerIdAndTraineeId(trainer.getId(), trainee.getId())) .thenReturn(Optional.of(ptContract)); - when(workoutSessionRepository.findByPtContract_TrainerAndSessionNumber(trainer, 1)) + when(workoutSessionRepository.findByPtContract_IdAndSessionNumber(ptContract.getId(), 1)) .thenReturn(Optional.empty()); when(workoutTypeRepository.findById(workoutType.getId())) .thenReturn(Optional.of(workoutType)); @@ -219,7 +219,7 @@ void testCreateWorkoutSessionSuccess() { verify(ptContractRepository, times(1)) .findByTrainerIdAndTraineeId(trainer.getId(), trainee.getId()); verify(workoutSessionRepository, times(1)) - .findByPtContract_TrainerAndSessionNumber(trainer, 1); + .findByPtContract_IdAndSessionNumber(ptContract.getId(), 1); verify(workoutTypeRepository, times(1)).findById(workoutType.getId()); verify(workoutRepository, times(1)).save(workoutCaptor.capture()); verify(workoutSessionRepository, times(1)).save(workoutSessionCaptor.capture()); @@ -258,7 +258,8 @@ void testCreateWorkoutSessionFailPtContractNotFound() { verify(ptContractRepository, times(1)) .findByTrainerIdAndTraineeId(trainer.getId(), trainee.getId()); verify(workoutSessionRepository, times(0)) - .findByPtContract_TrainerAndSessionNumber(trainer, createRequestDto.getSessionNumber()); + .findByPtContract_IdAndSessionNumber(ptContract.getId(), + createRequestDto.getSessionNumber()); verify(workoutTypeRepository, times(0)).findById(workoutType.getId()); ArgumentCaptor workoutCaptor = ArgumentCaptor.forClass(WorkoutEntity.class); @@ -284,7 +285,8 @@ void testCreateWorkoutSessionFailureSessionAlreadyExists() { when(ptContractRepository.findByTrainerIdAndTraineeId(trainer.getId(), trainee.getId())) .thenReturn(Optional.of(ptContract)); when(workoutSessionRepository - .findByPtContract_TrainerAndSessionNumber(trainer, createRequestDto.getSessionNumber())) + .findByPtContract_IdAndSessionNumber(ptContract.getId(), + createRequestDto.getSessionNumber())) .thenReturn(Optional.of(workoutSession)); assertThrows(WorkoutSessionAlreadyExistException.class, @@ -293,7 +295,8 @@ void testCreateWorkoutSessionFailureSessionAlreadyExists() { verify(ptContractRepository, times(1)) .findByTrainerIdAndTraineeId(trainer.getId(), trainee.getId()); verify(workoutSessionRepository, times(1)) - .findByPtContract_TrainerAndSessionNumber(trainer, createRequestDto.getSessionNumber()); + .findByPtContract_IdAndSessionNumber(ptContract.getId(), + createRequestDto.getSessionNumber()); verify(workoutTypeRepository, times(0)).findById(workoutType.getId()); ArgumentCaptor workoutCaptor = ArgumentCaptor.forClass(WorkoutEntity.class); @@ -320,7 +323,8 @@ void testCreateWorkoutSessionFailWorkoutTypeNotFound() { when(ptContractRepository.findByTrainerIdAndTraineeId(trainer.getId(), trainee.getId())) .thenReturn(Optional.of(ptContract)); when(workoutSessionRepository - .findByPtContract_TrainerAndSessionNumber(trainer, createRequestDto.getSessionNumber())) + .findByPtContract_IdAndSessionNumber(ptContract.getId(), + createRequestDto.getSessionNumber())) .thenReturn(Optional.empty()); when(workoutTypeRepository.findById(workoutType.getId())) .thenReturn(Optional.empty()); @@ -331,7 +335,8 @@ void testCreateWorkoutSessionFailWorkoutTypeNotFound() { verify(ptContractRepository, times(1)) .findByTrainerIdAndTraineeId(trainer.getId(), trainee.getId()); verify(workoutSessionRepository, times(1)) - .findByPtContract_TrainerAndSessionNumber(trainer, createRequestDto.getSessionNumber()); + .findByPtContract_IdAndSessionNumber(ptContract.getId(), + createRequestDto.getSessionNumber()); verify(workoutTypeRepository, times(1)).findById(workoutType.getId()); ArgumentCaptor workoutCaptor = ArgumentCaptor.forClass(WorkoutEntity.class);