Skip to content

Commit 80e56b6

Browse files
committed
add unit tests
1 parent 5736738 commit 80e56b6

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.github.corentinc.httpcodescats.ui.screens.httpcodedetails
2+
3+
import com.github.corentinc.httpcodescats.model.HttpCode
4+
import com.github.corentinc.httpcodescats.unconfinedTestDispatcherProvider
5+
import com.github.corentinc.httpcodescats.usecase.IHttpCodesUseCase
6+
import io.mockk.coEvery
7+
import io.mockk.mockk
8+
import kotlinx.coroutines.test.runTest
9+
import org.assertj.core.api.Assertions
10+
import org.junit.jupiter.api.Test
11+
12+
class HttpCodeDetailViewModelTest {
13+
private val dispatcherProvider = unconfinedTestDispatcherProvider()
14+
private val httpCodesUseCase: IHttpCodesUseCase = mockk()
15+
16+
private val systemUnderTest = HttpCodeDetailViewModel(dispatcherProvider, httpCodesUseCase)
17+
18+
@Test
19+
fun `test getHttpCodeDetails should return the result from the useCase and set loading to false`() = runTest {
20+
// Given
21+
val httpCode = 404
22+
val expectedResult = mockk<HttpCode>()
23+
coEvery {
24+
httpCodesUseCase.getHttpCode(httpCode)
25+
} returns expectedResult
26+
27+
// When
28+
systemUnderTest.getHttpCodeDetails(httpCode)
29+
val result = systemUnderTest.uiState.value
30+
31+
// Then
32+
Assertions.assertThat(result.httpCode).isEqualTo(expectedResult)
33+
Assertions.assertThat(result.isLoading).isFalse()
34+
}
35+
}

0 commit comments

Comments
 (0)