docs(live): Phase 1-2 검증 기록을 갱신한다
This commit is contained in:
@@ -107,7 +107,7 @@ data class HomeLiveRecommendationRecord(
|
||||
|
||||
### Phase 1: 도메인 조회 record 확장
|
||||
|
||||
- [ ] **Task 1.1: 라이브 추천 record에 title/price/beginDateTime 포함**
|
||||
- [x] **Task 1.1: 라이브 추천 record에 title/price/beginDateTime 포함**
|
||||
- Files:
|
||||
- Modify: `src/main/kotlin/kr/co/vividnext/sodalive/v2/recommendation/port/out/HomeRecommendationQueryPort.kt`
|
||||
- Modify: `src/main/kotlin/kr/co/vividnext/sodalive/v2/recommendation/adapter/out/persistence/DefaultHomeRecommendationQueryRepository.kt`
|
||||
@@ -118,7 +118,7 @@ data class HomeLiveRecommendationRecord(
|
||||
- REFACTOR: 기존 `HomeRecommendationFacade.toItem()`과 기존 테스트 컴파일 오류를 수정하되 `HomeLiveItem` 공개 필드는 추가하지 않는다.
|
||||
- 기대 결과: repository 테스트가 PASS이고 기존 추천 탭 응답 DTO에는 `title`, `price`, `beginDateTimeUtc`가 추가되지 않는다.
|
||||
|
||||
- [ ] **Task 1.2: 기존 라이브 조회 조건 회귀 테스트 보강**
|
||||
- [x] **Task 1.2: 기존 라이브 조회 조건 회귀 테스트 보강**
|
||||
- Files:
|
||||
- Modify: `src/test/kotlin/kr/co/vividnext/sodalive/v2/recommendation/adapter/out/persistence/DefaultHomeRecommendationQueryRepositoryTest.kt`
|
||||
- Modify: `src/main/kotlin/kr/co/vividnext/sodalive/v2/recommendation/adapter/out/persistence/DefaultHomeRecommendationQueryRepository.kt`
|
||||
@@ -128,7 +128,7 @@ data class HomeLiveRecommendationRecord(
|
||||
- REFACTOR: 중복 조건은 기존 private condition 함수로 유지하고 신규 abstraction은 추가하지 않는다.
|
||||
- 기대 결과: 진행 중 라이브 조회 정책이 PRD의 노출 조건과 일치한다.
|
||||
|
||||
- [ ] **Task 1.3: HomeRecommendationQueryService 위임 계약 유지**
|
||||
- [x] **Task 1.3: HomeRecommendationQueryService 위임 계약 유지**
|
||||
- Files:
|
||||
- Modify: `src/test/kotlin/kr/co/vividnext/sodalive/v2/recommendation/application/HomeRecommendationQueryServiceTest.kt`
|
||||
- Modify: `src/main/kotlin/kr/co/vividnext/sodalive/v2/recommendation/application/HomeRecommendationQueryService.kt`
|
||||
@@ -140,7 +140,7 @@ data class HomeLiveRecommendationRecord(
|
||||
|
||||
### Phase 2: 신규 API 조립 계층
|
||||
|
||||
- [ ] **Task 2.1: 신규 응답 DTO와 직렬화 테스트 추가**
|
||||
- [x] **Task 2.1: 신규 응답 DTO와 직렬화 테스트 추가**
|
||||
- Files:
|
||||
- Create: `src/main/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/dto/HomeOnAirLiveResponse.kt`
|
||||
- Create: `src/test/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/dto/HomeOnAirLiveResponseTest.kt`
|
||||
@@ -150,7 +150,7 @@ data class HomeLiveRecommendationRecord(
|
||||
- REFACTOR: DTO에는 도메인 조회나 CDN 변환 로직을 넣지 않는다.
|
||||
- 기대 결과: 공개 응답 필드명이 PRD와 일치한다.
|
||||
|
||||
- [ ] **Task 2.2: HomeOnAirLiveFacade 작성**
|
||||
- [x] **Task 2.2: HomeOnAirLiveFacade 작성**
|
||||
- Files:
|
||||
- Create: `src/main/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/application/HomeOnAirLiveFacade.kt`
|
||||
- Create: `src/test/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/application/HomeOnAirLiveFacadeTest.kt`
|
||||
@@ -164,7 +164,7 @@ data class HomeLiveRecommendationRecord(
|
||||
- REFACTOR: CDN URL 변환은 기존 홈 추천의 `profileImageUrl(cloudFrontHost, path)` 의미와 동일하게 유지한다. 시작 시간 UTC 문자열 변환은 기존 `toUtcIso` 의미와 동일하게 유지한다. 해당 helper들이 package-private이라 재사용이 어렵다면 facade 내부 private 함수로 최소 복제한다.
|
||||
- 기대 결과: facade가 page 조립, 성인 노출 플래그 계산, DTO 매핑만 담당한다.
|
||||
|
||||
- [ ] **Task 2.3: HomeOnAirLiveController 작성**
|
||||
- [x] **Task 2.3: HomeOnAirLiveController 작성**
|
||||
- Files:
|
||||
- Create: `src/main/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/adapter/in/web/HomeOnAirLiveController.kt`
|
||||
- Create: `src/test/kotlin/kr/co/vividnext/sodalive/v2/api/home/live/adapter/in/web/HomeOnAirLiveControllerTest.kt`
|
||||
@@ -259,3 +259,7 @@ data class HomeLiveRecommendationRecord(
|
||||
- 문서 작성 시점에는 구현을 진행하지 않았으므로 테스트 실행 기록은 없다.
|
||||
- 2026-06-26 문서 작성 후 명령 유효성 확인을 위해 `./gradlew tasks --all`을 실행했고 `BUILD SUCCESSFUL`을 확인했다.
|
||||
- 2026-06-26 `beginDateTimeUtc` 응답 필드 문서 보강 후 명령 유효성 확인을 위해 `./gradlew tasks --all`을 실행했고 `BUILD SUCCESSFUL`을 확인했다.
|
||||
- 2026-06-26 Phase 1/2 RED 확인: 신규 테스트 추가 후 `HomeLiveRecommendationRecord.title/price/beginDateTime`, `HomeOnAirLiveResponse`, `HomeOnAirLiveFacade`, `HomeOnAirLiveController` 미구현으로 `:compileTestKotlin FAILED`를 확인했다.
|
||||
- 2026-06-26 Phase 1/2 GREEN 확인: `./gradlew test --tests kr.co.vividnext.sodalive.v2.recommendation.adapter.out.persistence.DefaultHomeRecommendationQueryRepositoryTest --tests kr.co.vividnext.sodalive.v2.recommendation.application.HomeRecommendationQueryServiceTest --tests kr.co.vividnext.sodalive.v2.api.home.live.dto.HomeOnAirLiveResponseTest --tests kr.co.vividnext.sodalive.v2.api.home.live.application.HomeOnAirLiveFacadeTest --tests kr.co.vividnext.sodalive.v2.api.home.live.adapter.in.web.HomeOnAirLiveControllerTest`를 실행했고 `BUILD SUCCESSFUL`을 확인했다.
|
||||
- 2026-06-26 Phase 1/2 포맷 검증: `./gradlew ktlintCheck`를 실행했고 `BUILD SUCCESSFUL`을 확인했다.
|
||||
- 2026-06-26 전체 회귀 확인: `./gradlew test`는 1026개 테스트 중 1개 실패로 종료했다. 실패 테스트는 `kr.co.vividnext.sodalive.content.AudioContentServiceTest.shouldNotPublishNewsWhenUploadCompleteKeepsScheduledContentInactive`이며, 동일 테스트 단독 재실행도 같은 `HomeFollowingNewsPublishService` mock interaction 검증 실패를 재현했다. 이번 Phase 1/2 변경 파일은 `v2/recommendation`, `v2/api/home/live`, 문서에 한정되어 해당 실패는 범위 외 잔여 실패로 기록한다.
|
||||
|
||||
Reference in New Issue
Block a user