From bb60f8bb9fd3ab0f1322e198df5d704df0626b1b Mon Sep 17 00:00:00 2001 From: klaus Date: Mon, 8 Jun 2026 17:41:35 +0900 Subject: [PATCH] =?UTF-8?q?docs(home):=20=ED=81=AC=EB=A6=AC=EC=97=90?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=20=EB=9E=AD=ED=82=B9=20ViewModel=20=EA=B2=80?= =?UTF-8?q?=EC=A6=9D=EC=9D=84=20=EA=B8=B0=EB=A1=9D=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/20260608_크리에이터_랭킹_페이지/plan-task.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/20260608_크리에이터_랭킹_페이지/plan-task.md b/docs/20260608_크리에이터_랭킹_페이지/plan-task.md index 6963e261..511bd80f 100644 --- a/docs/20260608_크리에이터_랭킹_페이지/plan-task.md +++ b/docs/20260608_크리에이터_랭킹_페이지/plan-task.md @@ -166,7 +166,7 @@ ### Phase 4: ViewModel과 DI 등록 -- [ ] **Task 4.1: UI state와 ViewModel 작성** +- [x] **Task 4.1: UI state와 ViewModel 작성** - 생성: `app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/model/HomeCreatorRankingUiState.kt` - 생성: `app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/HomeCreatorRankingViewModel.kt` - 구현 내용: @@ -180,7 +180,7 @@ - 검증 명령: `./gradlew :app:compileDebugKotlin` - 기대 결과: ViewModel 컴파일 성공. -- [ ] **Task 4.2: Koin DI 등록** +- [x] **Task 4.2: Koin DI 등록** - 수정: `app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt` - 구현 내용: - import 추가: `HomeCreatorRankingApi`, `HomeCreatorRankingRepository`, `HomeCreatorRankingViewModel` @@ -287,3 +287,4 @@ - 2026-06-08: Phase 2 rank-num 숨김 TDD RED로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.CreatorRankingAdapterLayoutTest"`를 실행했다. 최초 Robolectric 설정 누락으로 Koin 초기화 오류가 발생해 기존 위젯 테스트 패턴과 동일하게 `@Config(sdk = [28], application = Application::class)`를 적용했고, 이후 Large/Compact/Horizontal 숨김 assertion 3건 실패를 확인했다. 세 카드 view에 `showRankChange=false` 시 `ll_creator_ranking_delta`를 `GONE` 처리하도록 구현한 뒤 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.*"`가 `BUILD SUCCESSFUL`로 통과했다. - 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은 기존 빌드 경고로 보고 수정하지 않았다.