From de4e90b98e83b35da5a34db7d66fc193a7954f77 Mon Sep 17 00:00:00 2001 From: klaus Date: Mon, 8 Jun 2026 18:07:07 +0900 Subject: [PATCH] =?UTF-8?q?docs(home):=20=EB=9E=AD=ED=82=B9=20=ED=83=AD=20?= =?UTF-8?q?=EA=B2=80=EC=A6=9D=EC=9D=84=20=EA=B8=B0=EB=A1=9D=ED=95=9C?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/20260608_크리에이터_랭킹_페이지/plan-task.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/20260608_크리에이터_랭킹_페이지/plan-task.md b/docs/20260608_크리에이터_랭킹_페이지/plan-task.md index 511bd80f..44ec63a6 100644 --- a/docs/20260608_크리에이터_랭킹_페이지/plan-task.md +++ b/docs/20260608_크리에이터_랭킹_페이지/plan-task.md @@ -194,7 +194,7 @@ ### Phase 5: 홈 레이아웃과 탭 전환 UI 연결 -- [ ] **Task 5.1: 홈 레이아웃에 랭킹 목록 추가 RED 테스트 작성** +- [x] **Task 5.1: 홈 레이아웃에 랭킹 목록 추가 RED 테스트 작성** - 수정: `app/src/test/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragmentLayoutTest.kt` - 추가 테스트: - `fragment_v2_main_home.xml`에 `rv_home_creator_rankings`가 존재한다. @@ -204,7 +204,7 @@ - 검증 명령: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest.home ranking layout*"` - 기대 결과: 신규 RecyclerView 미존재로 RED 실패. -- [ ] **Task 5.2: `fragment_v2_main_home.xml`에 랭킹 RecyclerView 추가** +- [x] **Task 5.2: `fragment_v2_main_home.xml`에 랭킹 RecyclerView 추가** - 수정: `app/src/main/res/layout/fragment_v2_main_home.xml` - 구현 내용: - `androidx.recyclerview.widget.RecyclerView` 추가 @@ -221,7 +221,7 @@ - 검증 명령: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest.home ranking layout*"` 및 `./gradlew :app:mergeDebugResources` - 기대 결과: PASS. -- [ ] **Task 5.3: `HomeMainFragment` 탭 전환/adapter 연결 테스트 작성** +- [x] **Task 5.3: `HomeMainFragment` 탭 전환/adapter 연결 테스트 작성** - 수정: `app/src/test/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragmentLayoutTest.kt` - 추가 테스트: - `CreatorRankingAdapter.createGridLayoutManager()`가 랭킹 RecyclerView에 사용되는 소스 계약 @@ -232,7 +232,7 @@ - 검증 명령: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest.home ranking*"` - 기대 결과: Fragment 연결 미구현으로 RED 실패. -- [ ] **Task 5.4: `HomeMainFragment`에 랭킹 탭 content 연결** +- [x] **Task 5.4: `HomeMainFragment`에 랭킹 탭 content 연결** - 수정: `app/src/main/java/kr/co/vividnext/sodalive/v2/main/HomeMainFragment.kt` - 구현 내용: - `private val homeCreatorRankingViewModel: HomeCreatorRankingViewModel by viewModel()` @@ -288,3 +288,5 @@ - 2026-06-08: Phase 3 mapper TDD RED로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeCreatorRankingMapperTest"`를 실행해 `HomeCreatorRankingResponse`, `HomeCreatorRankingItemResponse`, `toCreatorRankingItems` 미구현 컴파일 실패를 확인했다. 이후 DTO와 mapper를 추가하고 동일 명령이 `BUILD SUCCESSFUL`로 통과했다. - 2026-06-08: Phase 3 API/Repository를 추가한 뒤 `./gradlew :app:compileDebugKotlin`이 `BUILD SUCCESSFUL`로 통과했다. 검증 중 병렬 Gradle 실행 1건에서 `classes.jar` zip header 오류가 발생했으나, 동일 타겟을 단독 재실행해 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.*"`, `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeCreatorRankingMapperTest"`, `./gradlew :app:compileDebugKotlin`, `./gradlew :app:ktlintCheck` 모두 `BUILD SUCCESSFUL`을 확인했다. `.editorconfig disabled_rules` deprecation warning은 기존 경고로 보고 수정하지 않았다. - 2026-06-08: Phase 4로 `HomeCreatorRankingUiState`, `HomeCreatorRankingViewModel`을 추가하고 `AppDI`에 `HomeCreatorRankingApi`, `HomeCreatorRankingRepository`, `HomeCreatorRankingViewModel`을 등록했다. 검증 명령 `./gradlew :app:compileDebugKotlin`이 `BUILD SUCCESSFUL`로 통과했다. Gradle deprecated feature warning은 기존 빌드 경고로 보고 수정하지 않았다. +- 2026-06-08: Phase 5.1 RED로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest.home ranking layout*"`를 실행해 `R.id.rv_home_creator_rankings` 미정의 컴파일 실패를 확인했다. 이후 `fragment_v2_main_home.xml`에 `rv_home_creator_rankings`를 `TextTabBarView` 아래 직접 constraint되는 `GONE` RecyclerView로 추가했고, 동일 테스트와 `./gradlew :app:mergeDebugResources`가 `BUILD SUCCESSFUL`로 통과했다. +- 2026-06-08: Phase 5.3 RED로 `HomeMainFragmentLayoutTest`에 랭킹 adapter/grid, 추천/랭킹 탭 visibility 전환, 최초 랭킹 load, ranking state observe/submit, `creatorId > 0` 프로필 이동 guard 계약 테스트를 추가하고 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest.home ranking*"`를 실행해 5개 assertion 실패를 확인했다. 이후 `HomeMainFragment`에 `HomeCreatorRankingViewModel`, `CreatorRankingAdapter`, `CreatorRankingAdapter.createGridLayoutManager(requireContext())`, tab index 상수, 최초 로드 guard, ranking observer, `openCreatorRankingProfile` guard를 연결했고 동일 테스트와 `./gradlew :app:compileDebugKotlin`이 `BUILD SUCCESSFUL`로 통과했다. 기존 Gradle deprecated feature warning과 Kotlin/JDK deprecation warning은 신규 실패가 아니므로 수정하지 않았다.