fix(creator): 채널 홈 토스트 이벤트를 단발 처리한다
This commit is contained in:
@@ -21,8 +21,8 @@ class CreatorChannelHomeViewModel(
|
|||||||
val homeStateLiveData: LiveData<CreatorChannelHomeUiState>
|
val homeStateLiveData: LiveData<CreatorChannelHomeUiState>
|
||||||
get() = _homeStateLiveData
|
get() = _homeStateLiveData
|
||||||
|
|
||||||
private val _toastLiveData = MutableLiveData<ToastMessage?>()
|
private val _toastLiveData = MutableLiveData<CreatorChannelEvent<ToastMessage>>()
|
||||||
val toastLiveData: LiveData<ToastMessage?>
|
val toastLiveData: LiveData<CreatorChannelEvent<ToastMessage>>
|
||||||
get() = _toastLiveData
|
get() = _toastLiveData
|
||||||
|
|
||||||
private val _chatRoomIdLiveData = MutableLiveData<CreatorChannelEvent<Long>>()
|
private val _chatRoomIdLiveData = MutableLiveData<CreatorChannelEvent<Long>>()
|
||||||
@@ -124,7 +124,7 @@ class CreatorChannelHomeViewModel(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun showUnknownErrorToast() {
|
private fun showUnknownErrorToast() {
|
||||||
_toastLiveData.value = ToastMessage(resId = R.string.common_error_unknown)
|
_toastLiveData.value = CreatorChannelEvent(ToastMessage(resId = R.string.common_error_unknown))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun authToken(): String = "Bearer ${SharedPreferenceManager.token}"
|
private fun authToken(): String = "Bearer ${SharedPreferenceManager.token}"
|
||||||
|
|||||||
@@ -92,7 +92,9 @@ class CreatorChannelHomeViewModelTest {
|
|||||||
viewModel.loadHome(100L)
|
viewModel.loadHome(100L)
|
||||||
|
|
||||||
assertTrue(viewModel.homeStateLiveData.requireValue() is CreatorChannelHomeUiState.Error)
|
assertTrue(viewModel.homeStateLiveData.requireValue() is CreatorChannelHomeUiState.Error)
|
||||||
assertEquals(R.string.common_error_unknown, viewModel.toastLiveData.requireValue()?.resId)
|
val toastEvent = viewModel.toastLiveData.requireValue()
|
||||||
|
assertEquals(R.string.common_error_unknown, toastEvent?.consume()?.resId)
|
||||||
|
assertEquals(null, toastEvent?.consume())
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -102,7 +104,9 @@ class CreatorChannelHomeViewModelTest {
|
|||||||
viewModel.loadHome(100L)
|
viewModel.loadHome(100L)
|
||||||
|
|
||||||
assertTrue(viewModel.homeStateLiveData.requireValue() is CreatorChannelHomeUiState.Error)
|
assertTrue(viewModel.homeStateLiveData.requireValue() is CreatorChannelHomeUiState.Error)
|
||||||
assertEquals(R.string.common_error_unknown, viewModel.toastLiveData.requireValue()?.resId)
|
val toastEvent = viewModel.toastLiveData.requireValue()
|
||||||
|
assertEquals(R.string.common_error_unknown, toastEvent?.consume()?.resId)
|
||||||
|
assertEquals(null, toastEvent?.consume())
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -113,7 +117,9 @@ class CreatorChannelHomeViewModelTest {
|
|||||||
|
|
||||||
val state = viewModel.homeStateLiveData.requireValue() as CreatorChannelHomeUiState.Error
|
val state = viewModel.homeStateLiveData.requireValue() as CreatorChannelHomeUiState.Error
|
||||||
assertEquals("network", state.message)
|
assertEquals("network", state.message)
|
||||||
assertEquals(R.string.common_error_unknown, viewModel.toastLiveData.requireValue()?.resId)
|
val toastEvent = viewModel.toastLiveData.requireValue()
|
||||||
|
assertEquals(R.string.common_error_unknown, toastEvent?.consume()?.resId)
|
||||||
|
assertEquals(null, toastEvent?.consume())
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -160,7 +166,9 @@ class CreatorChannelHomeViewModelTest {
|
|||||||
val state = viewModel.homeStateLiveData.requireValue() as CreatorChannelHomeUiState.Content
|
val state = viewModel.homeStateLiveData.requireValue() as CreatorChannelHomeUiState.Content
|
||||||
assertEquals(100L, state.header.creatorId)
|
assertEquals(100L, state.header.creatorId)
|
||||||
assertTrue(state.header.isFollow)
|
assertTrue(state.header.isFollow)
|
||||||
assertEquals(R.string.common_error_unknown, viewModel.toastLiveData.requireValue()?.resId)
|
val toastEvent = viewModel.toastLiveData.requireValue()
|
||||||
|
assertEquals(R.string.common_error_unknown, toastEvent?.consume()?.resId)
|
||||||
|
assertEquals(null, toastEvent?.consume())
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -202,7 +210,9 @@ class CreatorChannelHomeViewModelTest {
|
|||||||
|
|
||||||
val state = viewModel.homeStateLiveData.requireValue() as CreatorChannelHomeUiState.Content
|
val state = viewModel.homeStateLiveData.requireValue() as CreatorChannelHomeUiState.Content
|
||||||
assertEquals(100L, state.header.creatorId)
|
assertEquals(100L, state.header.creatorId)
|
||||||
assertEquals(R.string.common_error_unknown, viewModel.toastLiveData.requireValue()?.resId)
|
val toastEvent = viewModel.toastLiveData.requireValue()
|
||||||
|
assertEquals(R.string.common_error_unknown, toastEvent?.consume()?.resId)
|
||||||
|
assertEquals(null, toastEvent?.consume())
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setImmediateRxSchedulers() {
|
private fun setImmediateRxSchedulers() {
|
||||||
|
|||||||
Reference in New Issue
Block a user