fix(creator): 오디오 탭 owner reload를 보정한다
This commit is contained in:
@@ -210,6 +210,34 @@ class CreatorChannelAudioViewModelTest {
|
||||
verifyGetAudio(sort = ContentSort.POPULAR, themeId = null)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `같은 creatorId라도 owner 상태가 바뀌면 첫 페이지를 다시 조회하고 소장률을 갱신한다`() {
|
||||
whenever(
|
||||
repository.getAudio(
|
||||
100L,
|
||||
0,
|
||||
CreatorChannelAudioViewModel.DEFAULT_PAGE_SIZE,
|
||||
ContentSort.LATEST,
|
||||
null,
|
||||
"Bearer test-token"
|
||||
)
|
||||
).thenReturn(
|
||||
Single.just(ApiResponse(true, audioResponse(themeId = null, ids = listOf(1L)), null)),
|
||||
Single.just(ApiResponse(true, audioResponse(themeId = null, ids = listOf(2L)), null))
|
||||
)
|
||||
|
||||
viewModel.loadAudio(100L, isOwner = false)
|
||||
val guestState = viewModel.audioStateLiveData.requireValue() as CreatorChannelAudioUiState.Content
|
||||
assertEquals(CreatorChannelAudioRateUiModel(75.0, 3, 4), guestState.rate)
|
||||
|
||||
viewModel.loadAudio(100L, isOwner = true)
|
||||
|
||||
val ownerState = viewModel.audioStateLiveData.requireValue() as CreatorChannelAudioUiState.Content
|
||||
assertNull(ownerState.rate)
|
||||
assertEquals(listOf(2L), ownerState.audioContents.map { it.audioContentId })
|
||||
verifyGetAudio(themeId = null, times = 2)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `같은 정렬 또는 같은 테마를 다시 선택하면 API를 재호출하지 않는다`() {
|
||||
stubGetAudio(response = Single.just(ApiResponse(true, audioResponse(), null)))
|
||||
|
||||
Reference in New Issue
Block a user