docs(home): 랭킹 탭 검증을 기록한다
This commit is contained in:
@@ -194,7 +194,7 @@
|
|||||||
|
|
||||||
### Phase 5: 홈 레이아웃과 탭 전환 UI 연결
|
### 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`
|
- 수정: `app/src/test/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragmentLayoutTest.kt`
|
||||||
- 추가 테스트:
|
- 추가 테스트:
|
||||||
- `fragment_v2_main_home.xml`에 `rv_home_creator_rankings`가 존재한다.
|
- `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*"`
|
- 검증 명령: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest.home ranking layout*"`
|
||||||
- 기대 결과: 신규 RecyclerView 미존재로 RED 실패.
|
- 기대 결과: 신규 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`
|
- 수정: `app/src/main/res/layout/fragment_v2_main_home.xml`
|
||||||
- 구현 내용:
|
- 구현 내용:
|
||||||
- `androidx.recyclerview.widget.RecyclerView` 추가
|
- `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`
|
- 검증 명령: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest.home ranking layout*"` 및 `./gradlew :app:mergeDebugResources`
|
||||||
- 기대 결과: PASS.
|
- 기대 결과: 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`
|
- 수정: `app/src/test/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragmentLayoutTest.kt`
|
||||||
- 추가 테스트:
|
- 추가 테스트:
|
||||||
- `CreatorRankingAdapter.createGridLayoutManager()`가 랭킹 RecyclerView에 사용되는 소스 계약
|
- `CreatorRankingAdapter.createGridLayoutManager()`가 랭킹 RecyclerView에 사용되는 소스 계약
|
||||||
@@ -232,7 +232,7 @@
|
|||||||
- 검증 명령: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest.home ranking*"`
|
- 검증 명령: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest.home ranking*"`
|
||||||
- 기대 결과: Fragment 연결 미구현으로 RED 실패.
|
- 기대 결과: 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`
|
- 수정: `app/src/main/java/kr/co/vividnext/sodalive/v2/main/HomeMainFragment.kt`
|
||||||
- 구현 내용:
|
- 구현 내용:
|
||||||
- `private val homeCreatorRankingViewModel: HomeCreatorRankingViewModel by viewModel()`
|
- `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 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 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 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은 신규 실패가 아니므로 수정하지 않았다.
|
||||||
|
|||||||
Reference in New Issue
Block a user