mirror of
https://github.com/aljazceru/Android-nRF-Toolbox.git
synced 2025-12-20 07:54:20 +01:00
Fix tests
This commit is contained in:
@@ -66,6 +66,10 @@ dependencies {
|
||||
implementation(libs.androidx.activity.compose)
|
||||
implementation(libs.androidx.lifecycle.service)
|
||||
|
||||
testImplementation(libs.hilt.android.testing)
|
||||
kaptTest(libs.hilt.compiler)
|
||||
testImplementation(libs.androidx.test.rules)
|
||||
|
||||
testImplementation(libs.junit4)
|
||||
testImplementation(libs.test.mockk)
|
||||
testImplementation(libs.androidx.test.ext)
|
||||
|
||||
@@ -9,6 +9,7 @@ import kotlinx.coroutines.flow.mapNotNull
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.launch
|
||||
import no.nordicsemi.android.common.core.DataByteArray
|
||||
import no.nordicsemi.android.common.logger.BleLogger
|
||||
import no.nordicsemi.android.gls.main.viewmodel.BATTERY_LEVEL_CHARACTERISTIC_UUID
|
||||
import no.nordicsemi.android.gls.main.viewmodel.BATTERY_SERVICE_UUID
|
||||
import no.nordicsemi.android.gls.main.viewmodel.GLS_SERVICE_UUID
|
||||
@@ -106,7 +107,8 @@ class GlsServer @Inject constructor(
|
||||
server = ServerBleGatt.create(
|
||||
context = context,
|
||||
config = arrayOf(serviceConfig, batteryService),
|
||||
mock = device
|
||||
mock = device,
|
||||
logger = { priority, log -> println(log) }
|
||||
)
|
||||
|
||||
val advertiser = BleAdvertiser.create(context)
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package no.nordicsemi.android.gls
|
||||
|
||||
import android.content.Context
|
||||
import dagger.hilt.android.testing.HiltAndroidTest
|
||||
import dagger.hilt.android.testing.HiltTestApplication
|
||||
import io.mockk.every
|
||||
import io.mockk.impl.annotations.MockK
|
||||
import io.mockk.impl.annotations.RelaxedMockK
|
||||
import io.mockk.junit4.MockKRule
|
||||
import io.mockk.justRun
|
||||
import io.mockk.mockk
|
||||
import io.mockk.mockkObject
|
||||
import io.mockk.mockkStatic
|
||||
import io.mockk.spyk
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
@@ -19,20 +19,19 @@ import kotlinx.coroutines.test.resetMain
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import kotlinx.coroutines.test.setMain
|
||||
import no.nordicsemi.android.analytics.AppAnalytics
|
||||
import no.nordicsemi.android.common.logger.NordicBlekLogger
|
||||
import no.nordicsemi.android.common.core.ApplicationScope
|
||||
import no.nordicsemi.android.common.logger.BleLoggerAndLauncher
|
||||
import no.nordicsemi.android.common.navigation.NavigationResult
|
||||
import no.nordicsemi.android.common.navigation.Navigator
|
||||
import no.nordicsemi.android.gls.data.WorkingMode
|
||||
import no.nordicsemi.android.gls.main.view.OnWorkingModeSelected
|
||||
import no.nordicsemi.android.gls.main.viewmodel.GLSViewModel
|
||||
import no.nordicsemi.android.kotlin.ble.client.main.ClientScope
|
||||
import no.nordicsemi.android.kotlin.ble.core.MockServerDevice
|
||||
import no.nordicsemi.android.kotlin.ble.core.data.BleGattConnectionStatus
|
||||
import no.nordicsemi.android.kotlin.ble.core.data.GattConnectionState
|
||||
import no.nordicsemi.android.kotlin.ble.core.data.GattConnectionStateWithStatus
|
||||
import no.nordicsemi.android.kotlin.ble.profile.gls.GlucoseMeasurementParser
|
||||
import no.nordicsemi.android.kotlin.ble.profile.gls.data.RequestStatus
|
||||
import no.nordicsemi.android.kotlin.ble.server.main.ServerScope
|
||||
import no.nordicsemi.android.ui.view.NordicLoggerFactory
|
||||
import no.nordicsemi.android.ui.view.StringConst
|
||||
import org.junit.After
|
||||
@@ -40,6 +39,9 @@ import org.junit.Assert.assertEquals
|
||||
import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.robolectric.RobolectricTestRunner
|
||||
import org.robolectric.annotation.Config
|
||||
import kotlin.test.assertContentEquals
|
||||
|
||||
/**
|
||||
@@ -47,6 +49,9 @@ import kotlin.test.assertContentEquals
|
||||
*
|
||||
* See [testing documentation](http://d.android.com/tools/testing).
|
||||
*/
|
||||
@HiltAndroidTest
|
||||
@Config(application = HiltTestApplication::class)
|
||||
@RunWith(RobolectricTestRunner::class)
|
||||
internal class GLSViewModelTest {
|
||||
|
||||
@get:Rule
|
||||
@@ -65,7 +70,7 @@ internal class GLSViewModelTest {
|
||||
lateinit var context: Context
|
||||
|
||||
@RelaxedMockK
|
||||
lateinit var logger: NordicBlekLogger
|
||||
lateinit var logger: BleLoggerAndLauncher
|
||||
|
||||
lateinit var viewModel: GLSViewModel
|
||||
|
||||
@@ -89,10 +94,8 @@ internal class GLSViewModelTest {
|
||||
@Before
|
||||
fun before() {
|
||||
runBlocking {
|
||||
mockkStatic("no.nordicsemi.android.kotlin.ble.client.main.ClientScopeKt")
|
||||
every { ClientScope } returns CoroutineScope(UnconfinedTestDispatcher())
|
||||
mockkStatic("no.nordicsemi.android.kotlin.ble.server.main.ServerScopeKt")
|
||||
every { ServerScope } returns CoroutineScope(UnconfinedTestDispatcher())
|
||||
mockkStatic("no.nordicsemi.android.common.core.ApplicationScopeKt")
|
||||
every { ApplicationScope } returns CoroutineScope(UnconfinedTestDispatcher())
|
||||
every { stringConst.APP_NAME } returns "Test"
|
||||
|
||||
viewModel = spyk(GLSViewModel(context, navigator, analytics, stringConst, object :
|
||||
@@ -102,7 +105,7 @@ internal class GLSViewModelTest {
|
||||
profile: String?,
|
||||
key: String,
|
||||
name: String?,
|
||||
): NordicBlekLogger {
|
||||
): BleLoggerAndLauncher {
|
||||
return logger
|
||||
}
|
||||
|
||||
@@ -114,12 +117,6 @@ internal class GLSViewModelTest {
|
||||
}
|
||||
}
|
||||
|
||||
@Before
|
||||
fun prepareLogger() {
|
||||
mockkObject(NordicBlekLogger.Companion)
|
||||
every { NordicBlekLogger.create(any(), any(), any(), any()) } returns mockk()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `when connection fails return disconnected`() = runTest {
|
||||
val disconnectedState = GattConnectionStateWithStatus(
|
||||
|
||||
Reference in New Issue
Block a user