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

Commit a5a53920 authored by Andre Le's avatar Andre Le Committed by Android (Google) Code Review
Browse files

Merge "Clean up DeviceEntryUdfpsInteractorTest" into main

parents 18ea4433 b0668c13
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()
        }
}