From 02d544688888af80aae5232885a4ae7435758658 Mon Sep 17 00:00:00 2001 From: Klaus Date: Mon, 22 Jun 2026 19:19:00 +0900 Subject: [PATCH] =?UTF-8?q?docs(creator-channel):=20=ED=9B=84=EC=9B=90=20?= =?UTF-8?q?=ED=83=AD=20Phase=202=20=EA=B8=B0=EB=A1=9D=EC=9D=84=20=EA=B0=B1?= =?UTF-8?q?=EC=8B=A0=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plan-task.md | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/docs/20260622_크리에이터_채널_후원_탭_API/plan-task.md b/docs/20260622_크리에이터_채널_후원_탭_API/plan-task.md index 1ac23d81..f51afb02 100644 --- a/docs/20260622_크리에이터_채널_후원_탭_API/plan-task.md +++ b/docs/20260622_크리에이터_채널_후원_탭_API/plan-task.md @@ -364,7 +364,7 @@ data class CreatorChannelDonationRankingRecord( ### Phase 2: 도메인 조회 서비스와 legacy ranking 재사용 추가 -- [ ] **Task 2.1: 후원 탭 query service 추가** +- [x] **Task 2.1: 후원 탭 query service 추가** - 파일: - Create: `src/test/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/application/CreatorChannelDonationQueryServiceTest.kt` - Create: `src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/application/CreatorChannelDonationQueryService.kt` @@ -401,8 +401,15 @@ data class CreatorChannelDonationRankingRecord( - REFACTOR: query service가 API DTO를 import하지 않는지 확인한다. - Run: `rg -n "v2\\.api" src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation` - Expected: 검색 결과 0건 + - 실행 기록: + - RED: `./gradlew test --tests kr.co.vividnext.sodalive.v2.creator.channel.donation.application.CreatorChannelDonationQueryServiceTest` 실행, 새 fake port 기반 테스트가 기존 placeholder service 생성자/동작과 맞지 않아 `compileTestKotlin` 실패 확인. 같은 실행에서 당시 존재하던 Phase 2.2 repository 테스트의 미구현 repository 참조도 함께 컴파일 실패로 노출됨. + - GREEN 보정 전: 동일 명령 실행, service 구현 후 테스트 실행까지 진행됐고 차단 메시지 기대값이 실제 `explorer.creator.blocked_access` 한국어 템플릿과 달라 1건 실패 확인. + - GREEN: 동일 명령 재실행, `BUILD SUCCESSFUL` 확인. + - Controller regression: `./gradlew test --tests kr.co.vividnext.sodalive.v2.api.creator.channel.donation.adapter.in.web.CreatorChannelDonationControllerTest` 실행, `BUILD SUCCESSFUL` 확인. + - REFACTOR: `rg -n "v2\.api" src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation src/test/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation` 실행, 검색 결과 0건 확인. + - REFACTOR: `rg -n "ConditionalOnProperty|creator-channel\.donation-tab\.enabled" src/main/kotlin/kr/co/vividnext/sodalive/v2/api/creator/channel/donation src/test/kotlin/kr/co/vividnext/sodalive/v2/api/creator/channel/donation` 실행, 검색 결과 0건 확인. -- [ ] **Task 2.2: 채널 후원 QueryDSL repository 추가** +- [x] **Task 2.2: 채널 후원 QueryDSL repository 추가** - 파일: - Create: `src/test/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/adapter/out/persistence/DefaultCreatorChannelDonationQueryRepositoryTest.kt` - Create: `src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/adapter/out/persistence/CreatorChannelDonationQueryRepository.kt` @@ -428,8 +435,14 @@ data class CreatorChannelDonationRankingRecord( - REFACTOR: 홈 repository의 기존 `findChannelDonations` 공개 동작이 변경되지 않았는지 관련 테스트를 실행한다. - Run: `./gradlew test --tests kr.co.vividnext.sodalive.v2.creator.channel.home.adapter.out.persistence.DefaultCreatorChannelHomeQueryRepositoryTest` - Expected: `BUILD SUCCESSFUL` + - 실행 기록: + - RED: `./gradlew test --tests kr.co.vividnext.sodalive.v2.creator.channel.donation.adapter.out.persistence.DefaultCreatorChannelDonationQueryRepositoryTest` 실행, 신규 repository 부재로 `Unresolved reference: DefaultCreatorChannelDonationQueryRepository` 실패 확인. + - GREEN: 동일 명령 재실행, `BUILD SUCCESSFUL` 확인. + - 회귀: `./gradlew test --tests kr.co.vividnext.sodalive.v2.creator.channel.home.adapter.out.persistence.DefaultCreatorChannelHomeQueryRepositoryTest` 실행, `BUILD SUCCESSFUL` 확인. + - 보완: `ktlintCheck`에서 repository 테스트의 긴 `saveDonation(...)` 호출 1곳이 실패해 줄바꿈만 수정했다. + - 재검증: Phase 2 focused 테스트 묶음 재실행, `BUILD SUCCESSFUL` 확인. -- [ ] **Task 2.3: legacy 후원 랭킹 adapter 추가** +- [x] **Task 2.3: legacy 후원 랭킹 adapter 추가** - 파일: - Create: `src/test/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/adapter/out/legacy/LegacyCreatorChannelDonationRankingAdapterTest.kt` - Create: `src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/adapter/out/legacy/LegacyCreatorChannelDonationRankingAdapter.kt` @@ -448,6 +461,11 @@ data class CreatorChannelDonationRankingRecord( - REFACTOR: 랭킹 산식이나 기간 계산을 V2 코드에 중복 구현하지 않았는지 확인한다. - Run: `rg -n "previousOrSame|SPIN_ROULETTE|CanUsage\\.DONATION|creator_donation_ranking" src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation` - Expected: 검색 결과 0건 + - 실행 기록: + - RED: `./gradlew test --tests kr.co.vividnext.sodalive.v2.creator.channel.donation.adapter.out.legacy.LegacyCreatorChannelDonationRankingAdapterTest` 실행, 신규 adapter 부재로 `Unresolved reference: LegacyCreatorChannelDonationRankingAdapter` 실패 확인. + - GREEN: 동일 명령 재실행, `BUILD SUCCESSFUL` 확인. + - REFACTOR: `rg -n "previousOrSame|SPIN_ROULETTE|CanUsage\.DONATION|creator_donation_ranking" src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation` 실행, 검색 결과 0건 확인. + - 재검증: Phase 2 focused 테스트 묶음 재실행, `BUILD SUCCESSFUL` 확인. ### Phase 3: 통합 검증과 회귀 확인