From 86737497914680e48f826e5ec3b5d3db53c5dd15 Mon Sep 17 00:00:00 2001 From: p1001q Date: Mon, 10 Aug 2026 19:35:03 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=EB=B6=84=EC=84=9D=20=EC=9E=AC?= =?UTF-8?q?=EC=9A=94=EC=B2=AD=20=EC=B0=A8=EB=8B=A8=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0=20(#183)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mr/domain/analysis/service/AnalysisService.java | 11 ----------- .../domain/analysis/service/AnalysisServiceTest.java | 9 --------- 2 files changed, 20 deletions(-) diff --git a/src/main/java/com/mr/domain/analysis/service/AnalysisService.java b/src/main/java/com/mr/domain/analysis/service/AnalysisService.java index 496bd7e5..2346c1e0 100644 --- a/src/main/java/com/mr/domain/analysis/service/AnalysisService.java +++ b/src/main/java/com/mr/domain/analysis/service/AnalysisService.java @@ -22,7 +22,6 @@ import com.mr.domain.playing.repository.PlayingRepository; import com.mr.global.apipayload.exception.GeneralException; import com.mr.global.file.s3.service.S3FileService; -import java.util.List; import java.util.Objects; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -57,16 +56,6 @@ public AnalysisCreateResponseDTO createAnalysis( if (playing.getStatus() != PlayingStatus.COMPLETED) { throw new GeneralException(PlayingErrorStatus.INVALID_PLAYING_STATUS); } - if (analysisRepository.existsByPlayingIdAndStatusIn( - playing.getId(), - List.of( - AnalysisStatus.PENDING, - AnalysisStatus.PROCESSING, - AnalysisStatus.COMPLETED - ) - )) { - throw new GeneralException(AnalysisErrorStatus.ANALYSIS_ALREADY_IN_PROGRESS); - } String requestJson; try { diff --git a/src/test/java/com/mr/domain/analysis/service/AnalysisServiceTest.java b/src/test/java/com/mr/domain/analysis/service/AnalysisServiceTest.java index c66bc5f8..4f2d2629 100644 --- a/src/test/java/com/mr/domain/analysis/service/AnalysisServiceTest.java +++ b/src/test/java/com/mr/domain/analysis/service/AnalysisServiceTest.java @@ -232,7 +232,6 @@ void createAnalysis_success() { given(playing.getUser()).willReturn(user); given(playing.getStatus()).willReturn(PlayingStatus.COMPLETED); given(playingRepository.findByIdWithBackingTrackForUpdate(31L)).willReturn(Optional.of(playing)); - given(analysisRepository.existsByPlayingIdAndStatusIn(eq(31L), any())).willReturn(false); given(analysisRequestFactory.create(playing, 1, 8)) .willReturn(new AiAnalysisRequest(null, List.of(), List.of())); given(analysisRepository.save(any(Analysis.class))) @@ -242,14 +241,6 @@ void createAnalysis_success() { 1L, new AnalysisCreateRequestDTO(31L, 1, 8) ); - verify(analysisRepository).existsByPlayingIdAndStatusIn( - 31L, - List.of( - AnalysisStatus.PENDING, - AnalysisStatus.PROCESSING, - AnalysisStatus.COMPLETED - ) - ); assertThat(response.playingId()).isEqualTo(31L); assertThat(response.status()).isEqualTo(AnalysisStatus.PENDING); verify(eventPublisher).publishEvent(any(AnalysisRequestedEvent.class)); From 424ff7ed80b59c05152285afd2a150c432abc068 Mon Sep 17 00:00:00 2001 From: p1001q Date: Mon, 10 Aug 2026 19:35:14 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20AI=20=EB=A9=98=ED=86=A0=20=EC=A7=88?= =?UTF-8?q?=EB=AC=B8=20=EC=A0=9C=ED=95=9C=20=EC=9E=84=EC=8B=9C=20=ED=95=B4?= =?UTF-8?q?=EC=A0=9C=20(#183)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/mentor/entity/MentorChatSession.java | 3 --- .../service/MentorQuestionServiceTest.java | 17 ----------------- 2 files changed, 20 deletions(-) diff --git a/src/main/java/com/mr/domain/mentor/entity/MentorChatSession.java b/src/main/java/com/mr/domain/mentor/entity/MentorChatSession.java index 48f9491c..1dc95f45 100644 --- a/src/main/java/com/mr/domain/mentor/entity/MentorChatSession.java +++ b/src/main/java/com/mr/domain/mentor/entity/MentorChatSession.java @@ -129,9 +129,6 @@ public String startGenerating(Duration staleAfter) { if (this.status != MentorChatStatus.ACTIVE && this.status != MentorChatStatus.GENERATING) { throw new GeneralException(MentorErrorStatus.MENTOR_SESSION_NOT_ACTIVE); } - if (this.questionCount >= 3) { - throw new GeneralException(MentorErrorStatus.MENTOR_QUESTION_LIMIT_EXCEEDED); - } this.status = MentorChatStatus.GENERATING; this.generationToken = UUID.randomUUID().toString(); this.generationStartedAt = LocalDateTime.now(); diff --git a/src/test/java/com/mr/domain/mentor/service/MentorQuestionServiceTest.java b/src/test/java/com/mr/domain/mentor/service/MentorQuestionServiceTest.java index 4c1d2cdc..0500b388 100644 --- a/src/test/java/com/mr/domain/mentor/service/MentorQuestionServiceTest.java +++ b/src/test/java/com/mr/domain/mentor/service/MentorQuestionServiceTest.java @@ -84,23 +84,6 @@ void prepare_incompleteAnalysis_throwsConflict() { verify(sessionRepository, never()).findByAnalysisIdForUpdate(any()); } - @Test - void prepare_questionLimitExceeded_throwsTooManyRequests() { - Analysis analysis = analysis(1L, AnalysisStatus.COMPLETED); - User owner = analysis.getUser(); - MentorChatSession session = MentorChatSession.createActive(analysis, owner); - session.increaseQuestionCount(); - session.increaseQuestionCount(); - session.increaseQuestionCount(); - given(analysisRepository.findByIdForUpdate(10L)).willReturn(Optional.of(analysis)); - given(sessionRepository.findByAnalysisIdForUpdate(10L)).willReturn(Optional.of(session)); - - assertThatThrownBy(() -> service.prepare(1L, 10L, "question")) - .isInstanceOf(GeneralException.class) - .hasFieldOrPropertyWithValue("code", MentorErrorStatus.MENTOR_QUESTION_LIMIT_EXCEEDED); - verify(messageRepository, never()).saveAndFlush(any()); - } - @Test void prepare_existingSession_reusesSession() { Analysis analysis = analysis(1L, AnalysisStatus.COMPLETED);