Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b0668c13 authored by Andre Le's avatar Andre Le
Browse files

Clean up DeviceEntryUdfpsInteractorTest

Update this test suite with the usage of kosmos objects, rather than
creating its own objects in the test.

Bug: None
Flag: EXEMPT clean up
Test: DeviceEntryUdfpsInteractorTest
Change-Id: I0c5f12edb21c52e0021f3d87a5315e17cec58cd6
parent 792f3290
Loading
Loading
Loading
Loading
+20 −45
Original line number Diff line number Diff line
@@ -20,19 +20,13 @@ package com.android.systemui.deviceentry.domain.interactor
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.biometrics.data.repository.FakeFingerprintPropertyRepository
import com.android.systemui.biometrics.data.repository.fakeFingerprintPropertyRepository
import com.android.systemui.biometrics.domain.interactor.fingerprintPropertyInteractor
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.keyguard.data.repository.FakeBiometricSettingsRepository
import com.android.systemui.keyguard.data.repository.FakeDeviceEntryFingerprintAuthRepository
import com.android.systemui.keyguard.data.repository.fakeBiometricSettingsRepository
import com.android.systemui.keyguard.data.repository.fakeDeviceEntryFingerprintAuthRepository
import com.android.systemui.kosmos.testScope
import com.android.systemui.biometrics.data.repository.fingerprintPropertyRepository
import com.android.systemui.keyguard.data.repository.biometricSettingsRepository
import com.android.systemui.keyguard.data.repository.deviceEntryFingerprintAuthRepository
import com.android.systemui.kosmos.collectLastValue
import com.android.systemui.kosmos.runTest
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.test.runTest
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith

@@ -40,30 +34,11 @@ import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
class DeviceEntryUdfpsInteractorTest : SysuiTestCase() {
    private val kosmos = testKosmos()
    private val testScope = kosmos.testScope
    private lateinit var fingerprintPropertyRepository: FakeFingerprintPropertyRepository
    private lateinit var fingerprintAuthRepository: FakeDeviceEntryFingerprintAuthRepository
    private lateinit var biometricsRepository: FakeBiometricSettingsRepository

    private lateinit var underTest: DeviceEntryUdfpsInteractor

    @Before
    fun setUp() {
        fingerprintPropertyRepository = kosmos.fakeFingerprintPropertyRepository
        fingerprintAuthRepository = kosmos.fakeDeviceEntryFingerprintAuthRepository
        biometricsRepository = kosmos.fakeBiometricSettingsRepository

        underTest =
            DeviceEntryUdfpsInteractor(
                fingerprintPropertyInteractor = kosmos.fingerprintPropertyInteractor,
                fingerprintAuthRepository = fingerprintAuthRepository,
                biometricSettingsRepository = biometricsRepository,
            )
    }
    private val underTest: DeviceEntryUdfpsInteractor = kosmos.deviceEntryUdfpsInteractor

    @Test
    fun udfpsSupported_rearFp_false() =
        testScope.runTest {
        kosmos.runTest {
            val isUdfpsSupported by collectLastValue(underTest.isUdfpsSupported)
            fingerprintPropertyRepository.supportsRearFps()
            assertThat(isUdfpsSupported).isFalse()
@@ -71,7 +46,7 @@ class DeviceEntryUdfpsInteractorTest : SysuiTestCase() {

    @Test
    fun udfpsSupoprted() =
        testScope.runTest {
        kosmos.runTest {
            val isUdfpsSupported by collectLastValue(underTest.isUdfpsSupported)
            fingerprintPropertyRepository.supportsUdfps()
            assertThat(isUdfpsSupported).isTrue()
@@ -79,55 +54,55 @@ class DeviceEntryUdfpsInteractorTest : SysuiTestCase() {

    @Test
    fun udfpsEnrolledAndEnabled() =
        testScope.runTest {
        kosmos.runTest {
            val isUdfpsEnrolledAndEnabled by collectLastValue(underTest.isUdfpsEnrolledAndEnabled)
            fingerprintPropertyRepository.supportsUdfps()
            biometricsRepository.setIsFingerprintAuthEnrolledAndEnabled(true)
            biometricSettingsRepository.setIsFingerprintAuthEnrolledAndEnabled(true)
            assertThat(isUdfpsEnrolledAndEnabled).isTrue()
        }

    @Test
    fun udfpsEnrolledAndEnabled_rearFp_false() =
        testScope.runTest {
        kosmos.runTest {
            val isUdfpsEnrolledAndEnabled by collectLastValue(underTest.isUdfpsEnrolledAndEnabled)
            fingerprintPropertyRepository.supportsRearFps()
            biometricsRepository.setIsFingerprintAuthEnrolledAndEnabled(true)
            biometricSettingsRepository.setIsFingerprintAuthEnrolledAndEnabled(true)
            assertThat(isUdfpsEnrolledAndEnabled).isFalse()
        }

    @Test
    fun udfpsEnrolledAndEnabled_notEnrolledOrEnabled_false() =
        testScope.runTest {
        kosmos.runTest {
            val isUdfpsEnrolledAndEnabled by collectLastValue(underTest.isUdfpsEnrolledAndEnabled)
            fingerprintPropertyRepository.supportsUdfps()
            biometricsRepository.setIsFingerprintAuthEnrolledAndEnabled(false)
            biometricSettingsRepository.setIsFingerprintAuthEnrolledAndEnabled(false)
            assertThat(isUdfpsEnrolledAndEnabled).isFalse()
        }

    @Test
    fun isListeningForUdfps() =
        testScope.runTest {
        kosmos.runTest {
            val isListeningForUdfps by collectLastValue(underTest.isListeningForUdfps)
            fingerprintPropertyRepository.supportsUdfps()
            fingerprintAuthRepository.setIsRunning(true)
            deviceEntryFingerprintAuthRepository.setIsRunning(true)
            assertThat(isListeningForUdfps).isTrue()
        }

    @Test
    fun isListeningForUdfps_rearFp_false() =
        testScope.runTest {
        kosmos.runTest {
            val isListeningForUdfps by collectLastValue(underTest.isListeningForUdfps)
            fingerprintPropertyRepository.supportsRearFps()
            fingerprintAuthRepository.setIsRunning(true)
            deviceEntryFingerprintAuthRepository.setIsRunning(true)
            assertThat(isListeningForUdfps).isFalse()
        }

    @Test
    fun isListeningForUdfps_notRunning_false() =
        testScope.runTest {
        kosmos.runTest {
            val isListeningForUdfps by collectLastValue(underTest.isListeningForUdfps)
            fingerprintPropertyRepository.supportsUdfps()
            fingerprintAuthRepository.setIsRunning(false)
            deviceEntryFingerprintAuthRepository.setIsRunning(false)
            assertThat(isListeningForUdfps).isFalse()
        }
}