diff --git a/docs/20260620_크리에이터_채널_시리즈_탭_API/plan-task.md b/docs/20260620_크리에이터_채널_시리즈_탭_API/plan-task.md index 741c9022..801963c3 100644 --- a/docs/20260620_크리에이터_채널_시리즈_탭_API/plan-task.md +++ b/docs/20260620_크리에이터_채널_시리즈_탭_API/plan-task.md @@ -249,7 +249,7 @@ data class CreatorChannelSeriesRecord( ### Phase 1: 순수 정책과 도메인 모델 추가 -- [ ] **Task 1.1: `CreatorChannelSeriesQueryPolicy` 테스트 작성** +- [x] **Task 1.1: `CreatorChannelSeriesQueryPolicy` 테스트 작성** - Files: - Create: `src/test/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/series/domain/CreatorChannelSeriesQueryPolicyTest.kt` - Create: `src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/series/domain/CreatorChannelSeriesQueryPolicy.kt` @@ -266,8 +266,11 @@ data class CreatorChannelSeriesRecord( - GREEN: `CreatorChannelAudioQueryPolicy`와 같은 page/sort/list 정책을 구현하되 `purchaseRate`는 `Int`를 반환한다. `publishedDaysOfWeekText(days, locale)`는 `ko`, `en`, `ja` 명시 매핑으로 구현한다. - 통과 확인: `./gradlew test --tests kr.co.vividnext.sodalive.v2.creator.channel.series.domain.CreatorChannelSeriesQueryPolicyTest` - REFACTOR: `CreatorChannelAudioQueryPolicy`를 수정하지 않는다. 중복 제거는 이번 범위에서 하지 않는다. + - 구현 기록(2026-06-20): `CreatorChannelSeriesQueryPolicyTest`를 추가해 sort/page/list/구매율/연재 요일 정책을 문서 명세대로 고정했다. + - RED: `./gradlew test --tests kr.co.vividnext.sodalive.v2.creator.channel.series.domain.CreatorChannelSeriesQueryPolicyTest` 실행 시 신규 `CreatorChannelSeriesQueryPolicy`, domain, port 타입 부재로 `compileTestKotlin` 실패를 확인했다. + - GREEN: `CreatorChannelSeriesQueryPolicy`를 추가하고 동일 명령 재실행 결과 `BUILD SUCCESSFUL`을 확인했다. -- [ ] **Task 1.2: 시리즈 탭 domain model과 port record 추가** +- [x] **Task 1.2: 시리즈 탭 domain model과 port record 추가** - Files: - Create: `src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/series/domain/CreatorChannelSeriesTab.kt` - Create: `src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/series/port/out/CreatorChannelSeriesQueryPort.kt` @@ -277,6 +280,9 @@ data class CreatorChannelSeriesRecord( - GREEN: 문서의 Domain / Port 초안 그대로 타입을 추가한다. - 통과 확인: `./gradlew test --tests kr.co.vividnext.sodalive.v2.creator.channel.series.domain.CreatorChannelSeriesQueryPolicyTest` - REFACTOR: domain/port가 `kr.co.vividnext.sodalive.v2.api.*` 패키지를 import하지 않는지 확인한다. + - 구현 기록(2026-06-20): 문서의 Domain / Port 초안 기준으로 `CreatorChannelSeriesTab`, `CreatorChannelSeriesQueryPort`와 관련 record를 추가했다. + - 검증: `./gradlew test --tests kr.co.vividnext.sodalive.v2.creator.channel.series.domain.CreatorChannelSeriesQueryPolicyTest` 실행 결과 `BUILD SUCCESSFUL`을 확인했다. + - 의존성 확인: `rg -n "v2\.api" src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/series` 실행 결과 출력이 없어 domain/port의 API 패키지 의존이 없음을 확인했다. ### Phase 2: API 조립 계층 추가