Skip to content

Commit 7131ce3

Browse files
fix unit test
1 parent 1c712de commit 7131ce3

2 files changed

Lines changed: 24 additions & 23 deletions

File tree

ui/viewModel/src/main/java/jp/dosukoi/ui/viewmodel/myPage/MyPageViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class MyPageViewModel @Inject constructor(
3939
)
4040
}.onSuccess { screenState ->
4141
_myPageState.update {
42-
it.copy(screenState = LoadState.Loaded(screenState))
42+
it.copy(screenState = LoadState.Loaded(screenState), isRefreshing = false)
4343
}
4444
}.onFailure {
4545
when (it) {

ui/viewModel/src/test/java/jp/dosukoi/ui/viewmodel/myPage/MyPageViewModelUnitTest.kt

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import io.mockk.impl.annotations.InjectMockKs
77
import io.mockk.impl.annotations.RelaxedMockK
88
import io.mockk.mockk
99
import jp.dosukoi.data.entity.myPage.UserStatus
10+
import jp.dosukoi.data.usecase.auth.GetAccessTokenUseCase
1011
import jp.dosukoi.data.usecase.myPage.GetRepositoriesUseCase
1112
import jp.dosukoi.data.usecase.myPage.GetUserStatusUseCase
1213
import jp.dosukoi.testing.common.assertType
@@ -33,7 +34,7 @@ class MyPageViewModelUnitTest {
3334
private lateinit var getRepositoriesUseCase: GetRepositoriesUseCase
3435

3536
@RelaxedMockK
36-
private lateinit var myPageListener: MyPageListener
37+
private lateinit var getAccessTokenUseCase: GetAccessTokenUseCase
3738

3839
@InjectMockKs
3940
private lateinit var viewModel: MyPageViewModel
@@ -52,7 +53,7 @@ class MyPageViewModelUnitTest {
5253
@Test
5354
fun init_success_authenticated() = runBlockingTest {
5455
// given
55-
val myPageState = mutableListOf<LoadState<MyPageUiState>>()
56+
val myPageState = mutableListOf<MyPageUiState>()
5657
val job = viewModel.myPageState.onEach {
5758
myPageState.add(it)
5859
}.launchIn(this)
@@ -61,8 +62,8 @@ class MyPageViewModelUnitTest {
6162
viewModel.init()
6263

6364
// then
64-
assertThat(myPageState[0]).isEqualTo(LoadState.Loading)
65-
assertType<LoadState.Loaded<MyPageUiState>>(myPageState[1]) {
65+
assertThat(myPageState[0].screenState).isEqualTo(LoadState.Loading)
66+
assertType<LoadState.Loaded<MyPageScreenState>>(myPageState[1].screenState) {
6667
assertThat(this.data.userStatus).isInstanceOf(UserStatus.Authenticated::class.java)
6768
assertThat(this.data.repositoryList.size).isEqualTo(3)
6869
}
@@ -73,7 +74,7 @@ class MyPageViewModelUnitTest {
7374
fun init_success_un_authenticated() = runBlockingTest {
7475
// given
7576
coEvery { getUserStatusUseCase.execute() } returns UserStatus.UnAuthenticated
76-
val myPageState = mutableListOf<LoadState<MyPageUiState>>()
77+
val myPageState = mutableListOf<MyPageUiState>()
7778
val job = viewModel.myPageState.onEach {
7879
myPageState.add(it)
7980
}.launchIn(this)
@@ -82,8 +83,8 @@ class MyPageViewModelUnitTest {
8283
viewModel.init()
8384

8485
// then
85-
assertThat(myPageState[0]).isEqualTo(LoadState.Loading)
86-
assertType<LoadState.Loaded<MyPageUiState>>(myPageState[1]) {
86+
assertThat(myPageState[0].screenState).isEqualTo(LoadState.Loading)
87+
assertType<LoadState.Loaded<MyPageScreenState>>(myPageState[1].screenState) {
8788
assertThat(this.data.userStatus).isEqualTo(UserStatus.UnAuthenticated)
8889
}
8990
job.cancel()
@@ -93,7 +94,7 @@ class MyPageViewModelUnitTest {
9394
fun init_failure() = runBlockingTest {
9495
// given
9596
coEvery { getUserStatusUseCase.execute() } throws RuntimeException()
96-
val myPageState = mutableListOf<LoadState<MyPageUiState>>()
97+
val myPageState = mutableListOf<MyPageUiState>()
9798
val job = viewModel.myPageState.onEach {
9899
myPageState.add(it)
99100
}.launchIn(this)
@@ -102,16 +103,16 @@ class MyPageViewModelUnitTest {
102103
viewModel.init()
103104

104105
// then
105-
assertThat(myPageState[0]).isEqualTo(LoadState.Loading)
106-
assertThat(myPageState[1]).isInstanceOf(LoadState.Error::class.java)
106+
assertThat(myPageState[0].screenState).isEqualTo(LoadState.Loading)
107+
assertThat(myPageState[1].screenState).isInstanceOf(LoadState.Error::class.java)
107108

108109
job.cancel()
109110
}
110111

111112
@Test
112113
fun onRetryClick() = runBlockingTest {
113114
// given
114-
val myPageState = mutableListOf<LoadState<MyPageUiState>>()
115+
val myPageState = mutableListOf<MyPageUiState>()
115116
val job = viewModel.myPageState.onEach {
116117
myPageState.add(it)
117118
}.launchIn(this)
@@ -120,8 +121,8 @@ class MyPageViewModelUnitTest {
120121
viewModel.onRetryClick()
121122

122123
// then
123-
assertThat(myPageState[0]).isEqualTo(LoadState.Loading)
124-
assertType<LoadState.Loaded<MyPageUiState>>(myPageState[1]) {
124+
assertThat(myPageState[0].screenState).isEqualTo(LoadState.Loading)
125+
assertType<LoadState.Loaded<MyPageScreenState>>(myPageState[1].screenState) {
125126
assertThat(this.data.repositoryList.size).isEqualTo(3)
126127
}
127128
job.cancel()
@@ -143,7 +144,7 @@ class MyPageViewModelUnitTest {
143144
mockk()
144145
)
145146
)
146-
val myPageState = mutableListOf<LoadState<MyPageUiState>>()
147+
val myPageState = mutableListOf<MyPageUiState>()
147148
val job = viewModel.myPageState.onEach {
148149
myPageState.add(it)
149150
}.launchIn(this)
@@ -153,16 +154,16 @@ class MyPageViewModelUnitTest {
153154
viewModel.onRefresh()
154155

155156
// then
156-
assertThat(myPageState[0]).isEqualTo(LoadState.Loading)
157-
assertType<LoadState.Loaded<MyPageUiState>>(myPageState[1]) {
157+
assertThat(myPageState[0].screenState).isEqualTo(LoadState.Loading)
158+
assertType<LoadState.Loaded<MyPageScreenState>>(myPageState[1].screenState) {
158159
assertThat(this.data.repositoryList.size).isEqualTo(3)
159160
}
160-
assertType<LoadState.Loaded<MyPageUiState>>(myPageState[2]) {
161-
assertThat(this.data.isRefreshing).isTrue()
162-
}
163-
assertType<LoadState.Loaded<MyPageUiState>>(myPageState[3]) {
164-
assertThat(this.data.repositoryList.size).isEqualTo(4)
165-
assertThat(this.data.isRefreshing).isFalse()
161+
assertThat(myPageState[2].isRefreshing).isTrue()
162+
myPageState[3].also {
163+
assertThat(it.isRefreshing).isFalse()
164+
assertType<LoadState.Loaded<MyPageScreenState>>(it.screenState) {
165+
assertThat(this.data.repositoryList.size).isEqualTo(4)
166+
}
166167
}
167168

168169
job.cancel()

0 commit comments

Comments
 (0)