feat(content): 전체 탭 외부 선택을 추가한다

This commit is contained in:
2026-06-27 06:32:31 +09:00
parent 5099795d29
commit 43e90ed47b
2 changed files with 71 additions and 0 deletions

View File

@@ -227,6 +227,70 @@ class ContentAllTabViewModelTest {
verifyGetContents(type = MainContentAllType.ORIGINAL, page = 0, dayOfWeek = null)
}
@Test
fun `외부 선택 요청은 FREE POPULAR 첫 페이지를 dayOfWeek 없이 요청한다`() {
stubGetContents(
type = MainContentAllType.FREE,
sort = ContentSort.POPULAR,
response = Single.just(
ApiResponse(
true,
response(
type = MainContentAllType.FREE,
sort = ContentSort.POPULAR,
audios = listOf(audio(30L))
),
null
)
)
)
viewModel.selectTypeAndSort(MainContentAllType.FREE, ContentSort.POPULAR)
val state = viewModel.allTabStateLiveData.requireValue() as MainContentAllTabUiState.Content
assertEquals(MainContentAllType.FREE, state.selectedType)
assertEquals(ContentSort.POPULAR, state.selectedSort)
assertEquals(null, state.selectedDayOfWeek)
assertEquals(0, state.page)
verifyGetContents(
type = MainContentAllType.FREE,
sort = ContentSort.POPULAR,
page = 0,
dayOfWeek = null
)
}
@Test
fun `외부 선택 요청은 ORIGINAL LATEST 첫 페이지를 dayOfWeek 없이 요청한다`() {
stubGetContents(
type = MainContentAllType.ORIGINAL,
response = Single.just(
ApiResponse(
true,
response(
type = MainContentAllType.ORIGINAL,
series = listOf(series(31L))
),
null
)
)
)
viewModel.selectTypeAndSort(MainContentAllType.ORIGINAL, ContentSort.LATEST)
val state = viewModel.allTabStateLiveData.requireValue() as MainContentAllTabUiState.Content
assertEquals(MainContentAllType.ORIGINAL, state.selectedType)
assertEquals(ContentSort.LATEST, state.selectedSort)
assertEquals(null, state.selectedDayOfWeek)
assertEquals(0, state.page)
verifyGetContents(
type = MainContentAllType.ORIGINAL,
sort = ContentSort.LATEST,
page = 0,
dayOfWeek = null
)
}
@Test
fun `SERIES에서 요일 변경은 변경 요일과 page 0으로 요청한다`() {
stubGetContents(response = Single.just(ApiResponse(true, response(), null)))