Repository navigation
feat: 사용자 시나리오 조회와 무상태 평가 API - #812
Merged
Merged
Conversation
This was referenced Oct 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
관리자가 게시한 N개의 시나리오를 Product에서 같은 조회·평가 API로 실행합니다. 브라우저가 보관한 전체 답변을 다시 검증하며, 어제 50병이던 후보가 관리자 수정 후 45병이 되면 현재 45병을 반환합니다. 실행·답변·결과 스냅샷은 저장하지 않습니다.
GET /api/v1/scenarios/{scenarioId}: 활성 게시본의 버전과 첫 질문·선택지POST /api/v1/scenarios/{scenarioId}/evaluate: 전체{questionId, optionId}답변,QUESTION/RESULT, 과거 질문 조회와 결과 keyset 페이징초기 구현 검증 (
1456d6b9)::bottlenote-mono:unit_test의 선택지 서명·DTO·정의 검증·기존 속성 서비스 관련 테스트: 68건 통과:bottlenote-product-api:integration_test의 시나리오·런타임 OpenAPI·문서 품질·인증 계약: 26건 통과:bottlenote-product-api:check_rule_test의 Controller·Service·DTO 규칙: 34건 통과:bottlenote-admin-api:admin_integration_test --tests '*AdminAlcoholScenarioIntegrationTest': 17건 통과spotlessCheck,git diff --check통과로컬 서브모듈 체크아웃은 기존 사용자 변경으로 main의 gitlink보다 오래된 상태였습니다. 이를 변경하거나 커밋하지 않고, main이 참조하는
5a38a064의 마이그레이션을 임시 경로로 추출한 Gradle init script로 Product/Admin의 별도 Testcontainers DB에 적용해 검증했습니다. 스키마·의존성·설정 변경은 없습니다. 전체 원격 CI 결과는 이 PR의 Checks를 기준으로 확인합니다. 운영 배포와 실규모 부하 검증은 수행하지 않았습니다.관련: bottle-note/workspace#532
후속 구조 정리 (
a82132d6):ScenarioOptionService의 선택지 생성 메서드를DefaultScenarioService의 private 메서드로 통합했습니다. 주입 의존성은 8개에서 7개로 줄었습니다.ScenarioSelection은ScenarioAnswer.Selection내부 record로 옮겼습니다. 신규 파일은 14개에서 12개로 줄였으며 경로 평가와 서명 검증의 책임 분리는 유지합니다.optionId를 읽는 호환성 테스트를 추가했습니다. API와 서명 payload 형식은 유지합니다.ScenarioOptionCodecTest6건, 시나리오 API·런타임 OpenAPI 통합 테스트 15건, Service·DTO 아키텍처 규칙 20건으로 총 41건 통과했습니다. 변경 파일spotlessCheck,git diff --check도 통과했습니다.