add unit test

This commit is contained in:
Pritimay Sarkar
2024-02-04 13:55:25 +05:30
parent 205c7f1f53
commit c166bab804
6 changed files with 144 additions and 12 deletions

View File

@@ -0,0 +1,49 @@
package com.example.hpostesting
import android.content.Context
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
import com.example.hpostesting.data.dao.HemoCubeDao
import com.example.hpostesting.data.repository.Repository
import com.example.hpostesting.presentation.deviceinfo.DeviceViewModel
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.junit.MockitoJUnitRunner
@RunWith(MockitoJUnitRunner::class)
class DeviceViewModelTest {
@get:Rule
val rule = InstantTaskExecutorRule()
@Mock
private lateinit var hemoCubeDao: HemoCubeDao
@Mock
private lateinit var repository: Repository
@Mock
private lateinit var context: Context
private lateinit var viewModel: DeviceViewModel
@Before
fun setup() {
viewModel = DeviceViewModel(hemoCubeDao, repository)
}
@Test
fun `test initial state`() {
assert(!viewModel.isServiceConnected)
assert(!viewModel.progressBar.value!!)
assert(viewModel.messages.value == null)
// assert(viewModel.allUserData == hemoCubeDao.getAll())
// assert(viewModel.deviceData.value == null)
// assert(viewModel.networkStatusLiveData.value == false)
assert(viewModel.fireBaseUpload.value == null)
}
// Add more tests for other functions and interactions as needed
}