diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeViewModel.kt index e5123da5..b46a6857 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeViewModel.kt @@ -21,8 +21,8 @@ class CreatorChannelHomeViewModel( val homeStateLiveData: LiveData get() = _homeStateLiveData - private val _toastLiveData = MutableLiveData() - val toastLiveData: LiveData + private val _toastLiveData = MutableLiveData>() + val toastLiveData: LiveData> get() = _toastLiveData private val _chatRoomIdLiveData = MutableLiveData>() @@ -124,7 +124,7 @@ class CreatorChannelHomeViewModel( } 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}" diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeViewModelTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeViewModelTest.kt index 8397c97e..81cda6f9 100644 --- a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeViewModelTest.kt +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeViewModelTest.kt @@ -92,7 +92,9 @@ class CreatorChannelHomeViewModelTest { viewModel.loadHome(100L) 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 @@ -102,7 +104,9 @@ class CreatorChannelHomeViewModelTest { viewModel.loadHome(100L) 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 @@ -113,7 +117,9 @@ class CreatorChannelHomeViewModelTest { val state = viewModel.homeStateLiveData.requireValue() as CreatorChannelHomeUiState.Error 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 @@ -160,7 +166,9 @@ class CreatorChannelHomeViewModelTest { val state = viewModel.homeStateLiveData.requireValue() as CreatorChannelHomeUiState.Content assertEquals(100L, state.header.creatorId) 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 @@ -202,7 +210,9 @@ class CreatorChannelHomeViewModelTest { val state = viewModel.homeStateLiveData.requireValue() as CreatorChannelHomeUiState.Content 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() {