[flexiglass] Introduces SceneTestUtils.
Helps increase code reuse in tests. Bug: 279501596 Test: N/A Change-Id: Icb51a009da0e4fcdb6bae6f9a38663f7f843d08b
This commit is contained in:
@@ -19,9 +19,9 @@ package com.android.systemui.authentication.domain.interactor
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.authentication.data.repository.AuthenticationRepository
|
||||
import com.android.systemui.authentication.data.repository.AuthenticationRepositoryImpl
|
||||
import com.android.systemui.authentication.shared.model.AuthenticationMethodModel
|
||||
import com.android.systemui.coroutines.collectLastValue
|
||||
import com.android.systemui.scene.SceneTestUtils
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.test.TestScope
|
||||
@@ -37,10 +37,10 @@ import org.junit.runners.JUnit4
|
||||
class AuthenticationInteractorTest : SysuiTestCase() {
|
||||
|
||||
private val testScope = TestScope()
|
||||
private val repository: AuthenticationRepository = AuthenticationRepositoryImpl()
|
||||
private val utils = SceneTestUtils(this, testScope)
|
||||
private val repository: AuthenticationRepository = utils.authenticationRepository()
|
||||
private val underTest =
|
||||
AuthenticationInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
utils.authenticationInteractor(
|
||||
repository = repository,
|
||||
)
|
||||
|
||||
|
||||
@@ -19,13 +19,9 @@ package com.android.systemui.bouncer.domain.interactor
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.authentication.data.repository.AuthenticationRepositoryImpl
|
||||
import com.android.systemui.authentication.domain.interactor.AuthenticationInteractor
|
||||
import com.android.systemui.authentication.shared.model.AuthenticationMethodModel
|
||||
import com.android.systemui.bouncer.data.repo.BouncerRepository
|
||||
import com.android.systemui.coroutines.collectLastValue
|
||||
import com.android.systemui.scene.data.repository.fakeSceneContainerRepository
|
||||
import com.android.systemui.scene.domain.interactor.SceneInteractor
|
||||
import com.android.systemui.scene.SceneTestUtils
|
||||
import com.android.systemui.scene.shared.model.SceneKey
|
||||
import com.android.systemui.scene.shared.model.SceneModel
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
@@ -44,23 +40,16 @@ import org.junit.runners.JUnit4
|
||||
class BouncerInteractorTest : SysuiTestCase() {
|
||||
|
||||
private val testScope = TestScope()
|
||||
private val utils = SceneTestUtils(this, testScope)
|
||||
private val authenticationInteractor =
|
||||
AuthenticationInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
repository = AuthenticationRepositoryImpl(),
|
||||
)
|
||||
private val sceneInteractor =
|
||||
SceneInteractor(
|
||||
repository = fakeSceneContainerRepository(),
|
||||
utils.authenticationInteractor(
|
||||
repository = utils.authenticationRepository(),
|
||||
)
|
||||
private val sceneInteractor = utils.sceneInteractor()
|
||||
private val underTest =
|
||||
BouncerInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
applicationContext = context,
|
||||
repository = BouncerRepository(),
|
||||
utils.bouncerInteractor(
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = "container1",
|
||||
)
|
||||
|
||||
@Before
|
||||
|
||||
@@ -18,14 +18,9 @@ package com.android.systemui.bouncer.ui.viewmodel
|
||||
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.authentication.data.repository.AuthenticationRepositoryImpl
|
||||
import com.android.systemui.authentication.domain.interactor.AuthenticationInteractor
|
||||
import com.android.systemui.authentication.shared.model.AuthenticationMethodModel
|
||||
import com.android.systemui.bouncer.data.repo.BouncerRepository
|
||||
import com.android.systemui.bouncer.domain.interactor.BouncerInteractor
|
||||
import com.android.systemui.coroutines.collectLastValue
|
||||
import com.android.systemui.scene.data.repository.fakeSceneContainerRepository
|
||||
import com.android.systemui.scene.domain.interactor.SceneInteractor
|
||||
import com.android.systemui.scene.SceneTestUtils
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.test.TestScope
|
||||
@@ -40,33 +35,17 @@ import org.junit.runners.JUnit4
|
||||
class BouncerViewModelTest : SysuiTestCase() {
|
||||
|
||||
private val testScope = TestScope()
|
||||
private val sceneInteractor =
|
||||
SceneInteractor(
|
||||
repository = fakeSceneContainerRepository(),
|
||||
)
|
||||
private val mAuthenticationInteractor =
|
||||
AuthenticationInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
repository = AuthenticationRepositoryImpl(),
|
||||
private val utils = SceneTestUtils(this, testScope)
|
||||
private val authenticationInteractor =
|
||||
utils.authenticationInteractor(
|
||||
repository = utils.authenticationRepository(),
|
||||
)
|
||||
private val underTest =
|
||||
BouncerViewModel(
|
||||
applicationContext = context,
|
||||
applicationScope = testScope.backgroundScope,
|
||||
interactorFactory =
|
||||
object : BouncerInteractor.Factory {
|
||||
override fun create(containerName: String): BouncerInteractor {
|
||||
return BouncerInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
applicationContext = context,
|
||||
repository = BouncerRepository(),
|
||||
authenticationInteractor = mAuthenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = CONTAINER_NAME,
|
||||
)
|
||||
}
|
||||
},
|
||||
containerName = CONTAINER_NAME,
|
||||
utils.bouncerViewModel(
|
||||
utils.bouncerInteractor(
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = utils.sceneInteractor(),
|
||||
)
|
||||
)
|
||||
|
||||
@Test
|
||||
@@ -75,7 +54,7 @@ class BouncerViewModelTest : SysuiTestCase() {
|
||||
val authMethodViewModel: AuthMethodBouncerViewModel? by
|
||||
collectLastValue(underTest.authMethod)
|
||||
authMethodsToTest().forEach { authMethod ->
|
||||
mAuthenticationInteractor.setAuthenticationMethod(authMethod)
|
||||
authenticationInteractor.setAuthenticationMethod(authMethod)
|
||||
|
||||
if (authMethod.isSecure) {
|
||||
assertThat(authMethodViewModel).isNotNull()
|
||||
@@ -93,13 +72,13 @@ class BouncerViewModelTest : SysuiTestCase() {
|
||||
collectLastValue(underTest.authMethod)
|
||||
// First pass, populate our "seen" map:
|
||||
authMethodsToTest().forEach { authMethod ->
|
||||
mAuthenticationInteractor.setAuthenticationMethod(authMethod)
|
||||
authenticationInteractor.setAuthenticationMethod(authMethod)
|
||||
authMethodViewModel?.let { seen[authMethod] = it }
|
||||
}
|
||||
|
||||
// Second pass, assert same instances are reused:
|
||||
authMethodsToTest().forEach { authMethod ->
|
||||
mAuthenticationInteractor.setAuthenticationMethod(authMethod)
|
||||
authenticationInteractor.setAuthenticationMethod(authMethod)
|
||||
authMethodViewModel?.let { assertThat(it).isSameInstanceAs(seen[authMethod]) }
|
||||
}
|
||||
}
|
||||
@@ -121,8 +100,4 @@ class BouncerViewModelTest : SysuiTestCase() {
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val CONTAINER_NAME = "container1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,14 +19,9 @@ package com.android.systemui.bouncer.ui.viewmodel
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.authentication.data.repository.AuthenticationRepositoryImpl
|
||||
import com.android.systemui.authentication.domain.interactor.AuthenticationInteractor
|
||||
import com.android.systemui.authentication.shared.model.AuthenticationMethodModel
|
||||
import com.android.systemui.bouncer.data.repo.BouncerRepository
|
||||
import com.android.systemui.bouncer.domain.interactor.BouncerInteractor
|
||||
import com.android.systemui.coroutines.collectLastValue
|
||||
import com.android.systemui.scene.data.repository.fakeSceneContainerRepository
|
||||
import com.android.systemui.scene.domain.interactor.SceneInteractor
|
||||
import com.android.systemui.scene.SceneTestUtils
|
||||
import com.android.systemui.scene.shared.model.SceneKey
|
||||
import com.android.systemui.scene.shared.model.SceneModel
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
@@ -44,35 +39,20 @@ import org.junit.runners.JUnit4
|
||||
class PasswordBouncerViewModelTest : SysuiTestCase() {
|
||||
|
||||
private val testScope = TestScope()
|
||||
private val sceneInteractor =
|
||||
SceneInteractor(
|
||||
repository = fakeSceneContainerRepository(),
|
||||
)
|
||||
private val mAuthenticationInteractor =
|
||||
AuthenticationInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
repository = AuthenticationRepositoryImpl(),
|
||||
private val utils = SceneTestUtils(this, testScope)
|
||||
private val authenticationInteractor =
|
||||
utils.authenticationInteractor(
|
||||
repository = utils.authenticationRepository(),
|
||||
)
|
||||
private val sceneInteractor = utils.sceneInteractor()
|
||||
private val bouncerInteractor =
|
||||
BouncerInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
applicationContext = context,
|
||||
repository = BouncerRepository(),
|
||||
authenticationInteractor = mAuthenticationInteractor,
|
||||
utils.bouncerInteractor(
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = CONTAINER_NAME,
|
||||
)
|
||||
private val bouncerViewModel =
|
||||
BouncerViewModel(
|
||||
applicationContext = context,
|
||||
applicationScope = testScope.backgroundScope,
|
||||
interactorFactory =
|
||||
object : BouncerInteractor.Factory {
|
||||
override fun create(containerName: String): BouncerInteractor {
|
||||
return bouncerInteractor
|
||||
}
|
||||
},
|
||||
containerName = CONTAINER_NAME,
|
||||
utils.bouncerViewModel(
|
||||
bouncerInteractor = bouncerInteractor,
|
||||
)
|
||||
private val underTest =
|
||||
PasswordBouncerViewModel(
|
||||
@@ -88,14 +68,14 @@ class PasswordBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onShown() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val password by collectLastValue(underTest.password)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(
|
||||
authenticationInteractor.setAuthenticationMethod(
|
||||
AuthenticationMethodModel.Password("password")
|
||||
)
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -111,14 +91,14 @@ class PasswordBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onPasswordInputChanged() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val password by collectLastValue(underTest.password)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(
|
||||
authenticationInteractor.setAuthenticationMethod(
|
||||
AuthenticationMethodModel.Password("password")
|
||||
)
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -135,12 +115,12 @@ class PasswordBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onAuthenticateKeyPressed_whenCorrect() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(
|
||||
authenticationInteractor.setAuthenticationMethod(
|
||||
AuthenticationMethodModel.Password("password")
|
||||
)
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -156,14 +136,14 @@ class PasswordBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onAuthenticateKeyPressed_whenWrong() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val password by collectLastValue(underTest.password)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(
|
||||
authenticationInteractor.setAuthenticationMethod(
|
||||
AuthenticationMethodModel.Password("password")
|
||||
)
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -181,14 +161,14 @@ class PasswordBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onAuthenticateKeyPressed_correctAfterWrong() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val password by collectLastValue(underTest.password)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(
|
||||
authenticationInteractor.setAuthenticationMethod(
|
||||
AuthenticationMethodModel.Password("password")
|
||||
)
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
|
||||
@@ -19,14 +19,9 @@ package com.android.systemui.bouncer.ui.viewmodel
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.authentication.data.repository.AuthenticationRepositoryImpl
|
||||
import com.android.systemui.authentication.domain.interactor.AuthenticationInteractor
|
||||
import com.android.systemui.authentication.shared.model.AuthenticationMethodModel
|
||||
import com.android.systemui.bouncer.data.repo.BouncerRepository
|
||||
import com.android.systemui.bouncer.domain.interactor.BouncerInteractor
|
||||
import com.android.systemui.coroutines.collectLastValue
|
||||
import com.android.systemui.scene.data.repository.fakeSceneContainerRepository
|
||||
import com.android.systemui.scene.domain.interactor.SceneInteractor
|
||||
import com.android.systemui.scene.SceneTestUtils
|
||||
import com.android.systemui.scene.shared.model.SceneKey
|
||||
import com.android.systemui.scene.shared.model.SceneModel
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
@@ -45,35 +40,20 @@ import org.junit.runners.JUnit4
|
||||
class PatternBouncerViewModelTest : SysuiTestCase() {
|
||||
|
||||
private val testScope = TestScope()
|
||||
private val sceneInteractor =
|
||||
SceneInteractor(
|
||||
repository = fakeSceneContainerRepository(),
|
||||
)
|
||||
private val mAuthenticationInteractor =
|
||||
AuthenticationInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
repository = AuthenticationRepositoryImpl(),
|
||||
private val utils = SceneTestUtils(this, testScope)
|
||||
private val authenticationInteractor =
|
||||
utils.authenticationInteractor(
|
||||
repository = utils.authenticationRepository(),
|
||||
)
|
||||
private val sceneInteractor = utils.sceneInteractor()
|
||||
private val bouncerInteractor =
|
||||
BouncerInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
applicationContext = context,
|
||||
repository = BouncerRepository(),
|
||||
authenticationInteractor = mAuthenticationInteractor,
|
||||
utils.bouncerInteractor(
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = CONTAINER_NAME,
|
||||
)
|
||||
private val bouncerViewModel =
|
||||
BouncerViewModel(
|
||||
applicationContext = context,
|
||||
applicationScope = testScope.backgroundScope,
|
||||
interactorFactory =
|
||||
object : BouncerInteractor.Factory {
|
||||
override fun create(containerName: String): BouncerInteractor {
|
||||
return bouncerInteractor
|
||||
}
|
||||
},
|
||||
containerName = CONTAINER_NAME,
|
||||
utils.bouncerViewModel(
|
||||
bouncerInteractor = bouncerInteractor,
|
||||
)
|
||||
private val underTest =
|
||||
PatternBouncerViewModel(
|
||||
@@ -91,15 +71,15 @@ class PatternBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onShown() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val selectedDots by collectLastValue(underTest.selectedDots)
|
||||
val currentDot by collectLastValue(underTest.currentDot)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(
|
||||
authenticationInteractor.setAuthenticationMethod(
|
||||
AuthenticationMethodModel.Pattern(CORRECT_PATTERN)
|
||||
)
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -116,15 +96,15 @@ class PatternBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onDragStart() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val selectedDots by collectLastValue(underTest.selectedDots)
|
||||
val currentDot by collectLastValue(underTest.currentDot)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(
|
||||
authenticationInteractor.setAuthenticationMethod(
|
||||
AuthenticationMethodModel.Pattern(CORRECT_PATTERN)
|
||||
)
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -142,14 +122,14 @@ class PatternBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onDragEnd_whenCorrect() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val selectedDots by collectLastValue(underTest.selectedDots)
|
||||
val currentDot by collectLastValue(underTest.currentDot)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(
|
||||
authenticationInteractor.setAuthenticationMethod(
|
||||
AuthenticationMethodModel.Pattern(CORRECT_PATTERN)
|
||||
)
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -192,15 +172,15 @@ class PatternBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onDragEnd_whenWrong() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val selectedDots by collectLastValue(underTest.selectedDots)
|
||||
val currentDot by collectLastValue(underTest.currentDot)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(
|
||||
authenticationInteractor.setAuthenticationMethod(
|
||||
AuthenticationMethodModel.Pattern(CORRECT_PATTERN)
|
||||
)
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -227,15 +207,15 @@ class PatternBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onDragEnd_correctAfterWrong() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val selectedDots by collectLastValue(underTest.selectedDots)
|
||||
val currentDot by collectLastValue(underTest.currentDot)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(
|
||||
authenticationInteractor.setAuthenticationMethod(
|
||||
AuthenticationMethodModel.Pattern(CORRECT_PATTERN)
|
||||
)
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
|
||||
@@ -19,14 +19,10 @@ package com.android.systemui.bouncer.ui.viewmodel
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.authentication.data.repository.AuthenticationRepositoryImpl
|
||||
import com.android.systemui.authentication.domain.interactor.AuthenticationInteractor
|
||||
import com.android.systemui.authentication.shared.model.AuthenticationMethodModel
|
||||
import com.android.systemui.bouncer.data.repo.BouncerRepository
|
||||
import com.android.systemui.bouncer.domain.interactor.BouncerInteractor
|
||||
import com.android.systemui.coroutines.collectLastValue
|
||||
import com.android.systemui.scene.data.repository.fakeSceneContainerRepository
|
||||
import com.android.systemui.scene.domain.interactor.SceneInteractor
|
||||
import com.android.systemui.scene.SceneTestUtils
|
||||
import com.android.systemui.scene.shared.model.SceneKey
|
||||
import com.android.systemui.scene.shared.model.SceneModel
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
@@ -45,23 +41,16 @@ import org.junit.runners.JUnit4
|
||||
class PinBouncerViewModelTest : SysuiTestCase() {
|
||||
|
||||
private val testScope = TestScope()
|
||||
private val sceneInteractor =
|
||||
SceneInteractor(
|
||||
repository = fakeSceneContainerRepository(),
|
||||
)
|
||||
private val mAuthenticationInteractor =
|
||||
AuthenticationInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
repository = AuthenticationRepositoryImpl(),
|
||||
private val utils = SceneTestUtils(this, testScope)
|
||||
private val sceneInteractor = utils.sceneInteractor()
|
||||
private val authenticationInteractor =
|
||||
utils.authenticationInteractor(
|
||||
repository = utils.authenticationRepository(),
|
||||
)
|
||||
private val bouncerInteractor =
|
||||
BouncerInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
applicationContext = context,
|
||||
repository = BouncerRepository(),
|
||||
authenticationInteractor = mAuthenticationInteractor,
|
||||
utils.bouncerInteractor(
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = CONTAINER_NAME,
|
||||
)
|
||||
private val bouncerViewModel =
|
||||
BouncerViewModel(
|
||||
@@ -90,12 +79,12 @@ class PinBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onShown() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val pinLengths by collectLastValue(underTest.pinLengths)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -111,12 +100,12 @@ class PinBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onPinButtonClicked() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val pinLengths by collectLastValue(underTest.pinLengths)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -133,12 +122,12 @@ class PinBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onBackspaceButtonClicked() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val pinLengths by collectLastValue(underTest.pinLengths)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -157,12 +146,12 @@ class PinBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onBackspaceButtonLongPressed() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val pinLengths by collectLastValue(underTest.pinLengths)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -187,10 +176,10 @@ class PinBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onAuthenticateButtonClicked_whenCorrect() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -209,12 +198,12 @@ class PinBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onAuthenticateButtonClicked_whenWrong() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val pinLengths by collectLastValue(underTest.pinLengths)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
@@ -236,12 +225,12 @@ class PinBouncerViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onAuthenticateButtonClicked_correctAfterWrong() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val message by collectLastValue(bouncerViewModel.message)
|
||||
val pinLengths by collectLastValue(underTest.pinLengths)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Bouncer))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
|
||||
@@ -18,14 +18,10 @@ package com.android.systemui.keyguard.domain.interactor
|
||||
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.authentication.data.repository.AuthenticationRepositoryImpl
|
||||
import com.android.systemui.authentication.domain.interactor.AuthenticationInteractor
|
||||
import com.android.systemui.authentication.shared.model.AuthenticationMethodModel
|
||||
import com.android.systemui.bouncer.data.repo.BouncerRepository
|
||||
import com.android.systemui.bouncer.domain.interactor.BouncerInteractor
|
||||
import com.android.systemui.coroutines.collectLastValue
|
||||
import com.android.systemui.scene.data.repository.fakeSceneContainerRepository
|
||||
import com.android.systemui.scene.domain.interactor.SceneInteractor
|
||||
import com.android.systemui.scene.SceneTestUtils
|
||||
import com.android.systemui.scene.SceneTestUtils.Companion.CONTAINER_1
|
||||
import com.android.systemui.scene.shared.model.SceneKey
|
||||
import com.android.systemui.scene.shared.model.SceneModel
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
@@ -43,34 +39,21 @@ import org.junit.runners.JUnit4
|
||||
class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
|
||||
private val testScope = TestScope()
|
||||
private val sceneInteractor =
|
||||
SceneInteractor(
|
||||
repository = fakeSceneContainerRepository(),
|
||||
)
|
||||
private val mAuthenticationInteractor =
|
||||
AuthenticationInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
repository = AuthenticationRepositoryImpl(),
|
||||
private val utils = SceneTestUtils(this, testScope)
|
||||
private val sceneInteractor = utils.sceneInteractor()
|
||||
private val authenticationInteractor =
|
||||
utils.authenticationInteractor(
|
||||
repository = utils.authenticationRepository(),
|
||||
)
|
||||
private val underTest =
|
||||
LockScreenSceneInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
authenticationInteractor = mAuthenticationInteractor,
|
||||
bouncerInteractorFactory =
|
||||
object : BouncerInteractor.Factory {
|
||||
override fun create(containerName: String): BouncerInteractor {
|
||||
return BouncerInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
applicationContext = context,
|
||||
repository = BouncerRepository(),
|
||||
authenticationInteractor = mAuthenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = containerName,
|
||||
)
|
||||
}
|
||||
},
|
||||
utils.lockScreenSceneInteractor(
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = CONTAINER_NAME,
|
||||
bouncerInteractor =
|
||||
utils.bouncerInteractor(
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
),
|
||||
)
|
||||
|
||||
@Test
|
||||
@@ -78,10 +61,10 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
testScope.runTest {
|
||||
val isDeviceLocked by collectLastValue(underTest.isDeviceLocked)
|
||||
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.lockDevice()
|
||||
assertThat(isDeviceLocked).isTrue()
|
||||
|
||||
mAuthenticationInteractor.unlockDevice()
|
||||
authenticationInteractor.unlockDevice()
|
||||
assertThat(isDeviceLocked).isFalse()
|
||||
}
|
||||
|
||||
@@ -90,8 +73,8 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
testScope.runTest {
|
||||
val isSwipeToDismissEnabled by collectLastValue(underTest.isSwipeToDismissEnabled)
|
||||
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
authenticationInteractor.lockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
|
||||
assertThat(isSwipeToDismissEnabled).isTrue()
|
||||
}
|
||||
@@ -101,8 +84,8 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
testScope.runTest {
|
||||
val isSwipeToDismissEnabled by collectLastValue(underTest.isSwipeToDismissEnabled)
|
||||
|
||||
mAuthenticationInteractor.unlockDevice()
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
authenticationInteractor.unlockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
|
||||
assertThat(isSwipeToDismissEnabled).isFalse()
|
||||
}
|
||||
@@ -110,9 +93,9 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun dismissLockScreen_deviceLockedWithSecureAuthMethod_switchesToBouncer() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.lockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.LockScreen))
|
||||
|
||||
underTest.dismissLockScreen()
|
||||
@@ -123,9 +106,9 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun dismissLockScreen_deviceUnlocked_switchesToGone() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.unlockDevice()
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.unlockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.LockScreen))
|
||||
|
||||
underTest.dismissLockScreen()
|
||||
@@ -136,9 +119,9 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun dismissLockScreen_deviceLockedWithInsecureAuthMethod_switchesToGone() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.lockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.LockScreen))
|
||||
|
||||
underTest.dismissLockScreen()
|
||||
@@ -149,15 +132,15 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun deviceLockedInNonLockScreenScene_switchesToLockScreenScene() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
runCurrent()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Gone))
|
||||
sceneInteractor.setCurrentScene(CONTAINER_1, SceneModel(SceneKey.Gone))
|
||||
runCurrent()
|
||||
mAuthenticationInteractor.unlockDevice()
|
||||
authenticationInteractor.unlockDevice()
|
||||
runCurrent()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Gone))
|
||||
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.lockDevice()
|
||||
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.LockScreen))
|
||||
}
|
||||
@@ -165,15 +148,15 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun deviceBiometricUnlockedInLockScreen_bypassEnabled_switchesToGone() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.LockScreen))
|
||||
if (!mAuthenticationInteractor.isBypassEnabled.value) {
|
||||
mAuthenticationInteractor.toggleBypassEnabled()
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_1, SceneModel(SceneKey.LockScreen))
|
||||
if (!authenticationInteractor.isBypassEnabled.value) {
|
||||
authenticationInteractor.toggleBypassEnabled()
|
||||
}
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.LockScreen))
|
||||
|
||||
mAuthenticationInteractor.biometricUnlock()
|
||||
authenticationInteractor.biometricUnlock()
|
||||
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Gone))
|
||||
}
|
||||
@@ -181,15 +164,15 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun deviceBiometricUnlockedInLockScreen_bypassNotEnabled_doesNotSwitch() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.LockScreen))
|
||||
if (mAuthenticationInteractor.isBypassEnabled.value) {
|
||||
mAuthenticationInteractor.toggleBypassEnabled()
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.lockDevice()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_1, SceneModel(SceneKey.LockScreen))
|
||||
if (authenticationInteractor.isBypassEnabled.value) {
|
||||
authenticationInteractor.toggleBypassEnabled()
|
||||
}
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.LockScreen))
|
||||
|
||||
mAuthenticationInteractor.biometricUnlock()
|
||||
authenticationInteractor.biometricUnlock()
|
||||
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.LockScreen))
|
||||
}
|
||||
@@ -197,12 +180,12 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun switchFromLockScreenToGone_authMethodSwipe_unlocksDevice() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.LockScreen))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
sceneInteractor.setCurrentScene(CONTAINER_1, SceneModel(SceneKey.LockScreen))
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
assertThat(isUnlocked).isFalse()
|
||||
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Gone))
|
||||
sceneInteractor.setCurrentScene(CONTAINER_1, SceneModel(SceneKey.Gone))
|
||||
|
||||
assertThat(isUnlocked).isTrue()
|
||||
}
|
||||
@@ -210,12 +193,12 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun switchFromLockScreenToGone_authMethodNotSwipe_doesNotUnlockDevice() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.LockScreen))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
sceneInteractor.setCurrentScene(CONTAINER_1, SceneModel(SceneKey.LockScreen))
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
assertThat(isUnlocked).isFalse()
|
||||
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Gone))
|
||||
sceneInteractor.setCurrentScene(CONTAINER_1, SceneModel(SceneKey.Gone))
|
||||
|
||||
assertThat(isUnlocked).isFalse()
|
||||
}
|
||||
@@ -223,15 +206,15 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun switchFromNonLockScreenToGone_authMethodSwipe_doesNotUnlockDevice() =
|
||||
testScope.runTest {
|
||||
val isUnlocked by collectLastValue(mAuthenticationInteractor.isUnlocked)
|
||||
val isUnlocked by collectLastValue(authenticationInteractor.isUnlocked)
|
||||
runCurrent()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Shade))
|
||||
sceneInteractor.setCurrentScene(CONTAINER_1, SceneModel(SceneKey.Shade))
|
||||
runCurrent()
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
runCurrent()
|
||||
assertThat(isUnlocked).isFalse()
|
||||
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.Gone))
|
||||
sceneInteractor.setCurrentScene(CONTAINER_1, SceneModel(SceneKey.Gone))
|
||||
|
||||
assertThat(isUnlocked).isFalse()
|
||||
}
|
||||
@@ -239,12 +222,12 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun authMethodChangedToNone_onLockScreenScene_dismissesLockScreen() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.LockScreen))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
sceneInteractor.setCurrentScene(CONTAINER_1, SceneModel(SceneKey.LockScreen))
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.LockScreen))
|
||||
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.None)
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.None)
|
||||
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Gone))
|
||||
}
|
||||
@@ -252,19 +235,15 @@ class LockScreenSceneInteractorTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun authMethodChangedToNone_notOnLockScreenScene_doesNotDismissLockScreen() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
runCurrent()
|
||||
sceneInteractor.setCurrentScene(CONTAINER_NAME, SceneModel(SceneKey.QuickSettings))
|
||||
sceneInteractor.setCurrentScene(CONTAINER_1, SceneModel(SceneKey.QuickSettings))
|
||||
runCurrent()
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.QuickSettings))
|
||||
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.None)
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.None)
|
||||
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.QuickSettings))
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val CONTAINER_NAME = "container1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,16 +19,12 @@ package com.android.systemui.keyguard.ui.viewmodel
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.authentication.data.repository.AuthenticationRepositoryImpl
|
||||
import com.android.systemui.authentication.domain.interactor.AuthenticationInteractor
|
||||
import com.android.systemui.authentication.shared.model.AuthenticationMethodModel
|
||||
import com.android.systemui.bouncer.data.repo.BouncerRepository
|
||||
import com.android.systemui.bouncer.domain.interactor.BouncerInteractor
|
||||
import com.android.systemui.common.shared.model.Icon
|
||||
import com.android.systemui.coroutines.collectLastValue
|
||||
import com.android.systemui.keyguard.domain.interactor.LockScreenSceneInteractor
|
||||
import com.android.systemui.scene.data.repository.fakeSceneContainerRepository
|
||||
import com.android.systemui.scene.domain.interactor.SceneInteractor
|
||||
import com.android.systemui.scene.SceneTestUtils
|
||||
import com.android.systemui.scene.SceneTestUtils.Companion.CONTAINER_1
|
||||
import com.android.systemui.scene.shared.model.SceneKey
|
||||
import com.android.systemui.scene.shared.model.SceneModel
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
@@ -46,14 +42,11 @@ import org.junit.runners.JUnit4
|
||||
class LockScreenSceneViewModelTest : SysuiTestCase() {
|
||||
|
||||
private val testScope = TestScope()
|
||||
private val sceneInteractor =
|
||||
SceneInteractor(
|
||||
repository = fakeSceneContainerRepository(),
|
||||
)
|
||||
private val mAuthenticationInteractor =
|
||||
AuthenticationInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
repository = AuthenticationRepositoryImpl(),
|
||||
private val utils = SceneTestUtils(this, testScope)
|
||||
private val sceneInteractor = utils.sceneInteractor()
|
||||
private val authenticationInteractor =
|
||||
utils.authenticationInteractor(
|
||||
repository = utils.authenticationRepository(),
|
||||
)
|
||||
|
||||
private val underTest =
|
||||
@@ -62,38 +55,28 @@ class LockScreenSceneViewModelTest : SysuiTestCase() {
|
||||
interactorFactory =
|
||||
object : LockScreenSceneInteractor.Factory {
|
||||
override fun create(containerName: String): LockScreenSceneInteractor {
|
||||
return LockScreenSceneInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
authenticationInteractor = mAuthenticationInteractor,
|
||||
bouncerInteractorFactory =
|
||||
object : BouncerInteractor.Factory {
|
||||
override fun create(containerName: String): BouncerInteractor {
|
||||
return BouncerInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
applicationContext = context,
|
||||
repository = BouncerRepository(),
|
||||
authenticationInteractor = mAuthenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = containerName,
|
||||
)
|
||||
}
|
||||
},
|
||||
return utils.lockScreenSceneInteractor(
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = CONTAINER_NAME,
|
||||
bouncerInteractor =
|
||||
utils.bouncerInteractor(
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
),
|
||||
)
|
||||
}
|
||||
},
|
||||
containerName = CONTAINER_NAME
|
||||
containerName = CONTAINER_1
|
||||
)
|
||||
|
||||
@Test
|
||||
fun lockButtonIcon_whenLocked() =
|
||||
testScope.runTest {
|
||||
val lockButtonIcon by collectLastValue(underTest.lockButtonIcon)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(
|
||||
authenticationInteractor.setAuthenticationMethod(
|
||||
AuthenticationMethodModel.Password("password")
|
||||
)
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.lockDevice()
|
||||
|
||||
assertThat((lockButtonIcon as? Icon.Resource)?.res)
|
||||
.isEqualTo(R.drawable.ic_device_lock_on)
|
||||
@@ -103,10 +86,10 @@ class LockScreenSceneViewModelTest : SysuiTestCase() {
|
||||
fun lockButtonIcon_whenUnlocked() =
|
||||
testScope.runTest {
|
||||
val lockButtonIcon by collectLastValue(underTest.lockButtonIcon)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(
|
||||
authenticationInteractor.setAuthenticationMethod(
|
||||
AuthenticationMethodModel.Password("password")
|
||||
)
|
||||
mAuthenticationInteractor.unlockDevice()
|
||||
authenticationInteractor.unlockDevice()
|
||||
|
||||
assertThat((lockButtonIcon as? Icon.Resource)?.res)
|
||||
.isEqualTo(R.drawable.ic_device_lock_off)
|
||||
@@ -116,8 +99,8 @@ class LockScreenSceneViewModelTest : SysuiTestCase() {
|
||||
fun upTransitionSceneKey_swipeToUnlockedEnabled_gone() =
|
||||
testScope.runTest {
|
||||
val upTransitionSceneKey by collectLastValue(underTest.upDestinationSceneKey)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.Swipe)
|
||||
authenticationInteractor.lockDevice()
|
||||
|
||||
assertThat(upTransitionSceneKey).isEqualTo(SceneKey.Gone)
|
||||
}
|
||||
@@ -126,8 +109,8 @@ class LockScreenSceneViewModelTest : SysuiTestCase() {
|
||||
fun upTransitionSceneKey_swipeToUnlockedNotEnabled_bouncer() =
|
||||
testScope.runTest {
|
||||
val upTransitionSceneKey by collectLastValue(underTest.upDestinationSceneKey)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.lockDevice()
|
||||
|
||||
assertThat(upTransitionSceneKey).isEqualTo(SceneKey.Bouncer)
|
||||
}
|
||||
@@ -135,9 +118,9 @@ class LockScreenSceneViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onLockButtonClicked_deviceLockedSecurely_switchesToBouncer() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.lockDevice()
|
||||
runCurrent()
|
||||
|
||||
underTest.onLockButtonClicked()
|
||||
@@ -148,9 +131,9 @@ class LockScreenSceneViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onContentClicked_deviceUnlocked_switchesToGone() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.unlockDevice()
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.unlockDevice()
|
||||
runCurrent()
|
||||
|
||||
underTest.onContentClicked()
|
||||
@@ -161,9 +144,9 @@ class LockScreenSceneViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onContentClicked_deviceLockedSecurely_switchesToBouncer() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.lockDevice()
|
||||
runCurrent()
|
||||
|
||||
underTest.onContentClicked()
|
||||
@@ -174,17 +157,13 @@ class LockScreenSceneViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onLockButtonClicked_deviceUnlocked_switchesToGone() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.unlockDevice()
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.unlockDevice()
|
||||
runCurrent()
|
||||
|
||||
underTest.onLockButtonClicked()
|
||||
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Gone))
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val CONTAINER_NAME = "container1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,15 +18,11 @@ package com.android.systemui.qs.ui.viewmodel
|
||||
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.authentication.data.repository.AuthenticationRepositoryImpl
|
||||
import com.android.systemui.authentication.domain.interactor.AuthenticationInteractor
|
||||
import com.android.systemui.authentication.shared.model.AuthenticationMethodModel
|
||||
import com.android.systemui.bouncer.data.repo.BouncerRepository
|
||||
import com.android.systemui.bouncer.domain.interactor.BouncerInteractor
|
||||
import com.android.systemui.coroutines.collectLastValue
|
||||
import com.android.systemui.keyguard.domain.interactor.LockScreenSceneInteractor
|
||||
import com.android.systemui.scene.data.repository.fakeSceneContainerRepository
|
||||
import com.android.systemui.scene.domain.interactor.SceneInteractor
|
||||
import com.android.systemui.scene.SceneTestUtils
|
||||
import com.android.systemui.scene.SceneTestUtils.Companion.CONTAINER_1
|
||||
import com.android.systemui.scene.shared.model.SceneKey
|
||||
import com.android.systemui.scene.shared.model.SceneModel
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
@@ -44,14 +40,11 @@ import org.junit.runners.JUnit4
|
||||
class QuickSettingsSceneViewModelTest : SysuiTestCase() {
|
||||
|
||||
private val testScope = TestScope()
|
||||
private val sceneInteractor =
|
||||
SceneInteractor(
|
||||
repository = fakeSceneContainerRepository(),
|
||||
)
|
||||
private val mAuthenticationInteractor =
|
||||
AuthenticationInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
repository = AuthenticationRepositoryImpl(),
|
||||
private val utils = SceneTestUtils(this, testScope)
|
||||
private val sceneInteractor = utils.sceneInteractor()
|
||||
private val authenticationInteractor =
|
||||
utils.authenticationInteractor(
|
||||
repository = utils.authenticationRepository(),
|
||||
)
|
||||
|
||||
private val underTest =
|
||||
@@ -59,36 +52,26 @@ class QuickSettingsSceneViewModelTest : SysuiTestCase() {
|
||||
lockScreenSceneInteractorFactory =
|
||||
object : LockScreenSceneInteractor.Factory {
|
||||
override fun create(containerName: String): LockScreenSceneInteractor {
|
||||
return LockScreenSceneInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
authenticationInteractor = mAuthenticationInteractor,
|
||||
bouncerInteractorFactory =
|
||||
object : BouncerInteractor.Factory {
|
||||
override fun create(containerName: String): BouncerInteractor {
|
||||
return BouncerInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
applicationContext = context,
|
||||
repository = BouncerRepository(),
|
||||
authenticationInteractor = mAuthenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = containerName,
|
||||
)
|
||||
}
|
||||
},
|
||||
return utils.lockScreenSceneInteractor(
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = CONTAINER_NAME,
|
||||
bouncerInteractor =
|
||||
utils.bouncerInteractor(
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
),
|
||||
)
|
||||
}
|
||||
},
|
||||
containerName = CONTAINER_NAME
|
||||
containerName = CONTAINER_1
|
||||
)
|
||||
|
||||
@Test
|
||||
fun onContentClicked_deviceUnlocked_switchesToGone() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.unlockDevice()
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.unlockDevice()
|
||||
runCurrent()
|
||||
|
||||
underTest.onContentClicked()
|
||||
@@ -99,17 +82,13 @@ class QuickSettingsSceneViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onContentClicked_deviceLockedSecurely_switchesToBouncer() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.lockDevice()
|
||||
runCurrent()
|
||||
|
||||
underTest.onContentClicked()
|
||||
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val CONTAINER_NAME = "container1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.systemui.scene.data.repository
|
||||
|
||||
import com.android.systemui.scene.data.model.SceneContainerConfig
|
||||
import com.android.systemui.scene.shared.model.SceneKey
|
||||
|
||||
fun fakeSceneContainerRepository(
|
||||
containerConfigurations: Set<SceneContainerConfig> =
|
||||
setOf(
|
||||
fakeSceneContainerConfig("container1"),
|
||||
fakeSceneContainerConfig("container2"),
|
||||
)
|
||||
): SceneContainerRepository {
|
||||
return SceneContainerRepository(containerConfigurations)
|
||||
}
|
||||
|
||||
fun fakeSceneKeys(): List<SceneKey> {
|
||||
return listOf(
|
||||
SceneKey.QuickSettings,
|
||||
SceneKey.Shade,
|
||||
SceneKey.LockScreen,
|
||||
SceneKey.Bouncer,
|
||||
SceneKey.Gone,
|
||||
)
|
||||
}
|
||||
|
||||
fun fakeSceneContainerConfig(
|
||||
name: String,
|
||||
sceneKeys: List<SceneKey> = fakeSceneKeys(),
|
||||
): SceneContainerConfig {
|
||||
return SceneContainerConfig(
|
||||
name = name,
|
||||
sceneKeys = sceneKeys,
|
||||
initialSceneKey = SceneKey.LockScreen,
|
||||
)
|
||||
}
|
||||
@@ -21,6 +21,7 @@ package com.android.systemui.scene.data.repository
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.coroutines.collectLastValue
|
||||
import com.android.systemui.scene.SceneTestUtils
|
||||
import com.android.systemui.scene.shared.model.SceneKey
|
||||
import com.android.systemui.scene.shared.model.SceneModel
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
@@ -34,9 +35,11 @@ import org.junit.runners.JUnit4
|
||||
@RunWith(JUnit4::class)
|
||||
class SceneContainerRepositoryTest : SysuiTestCase() {
|
||||
|
||||
private val utils = SceneTestUtils(this)
|
||||
|
||||
@Test
|
||||
fun allSceneKeys() {
|
||||
val underTest = fakeSceneContainerRepository()
|
||||
val underTest = utils.fakeSceneContainerRepository()
|
||||
assertThat(underTest.allSceneKeys("container1"))
|
||||
.isEqualTo(
|
||||
listOf(
|
||||
@@ -51,13 +54,13 @@ class SceneContainerRepositoryTest : SysuiTestCase() {
|
||||
|
||||
@Test(expected = IllegalStateException::class)
|
||||
fun allSceneKeys_noSuchContainer_throws() {
|
||||
val underTest = fakeSceneContainerRepository()
|
||||
val underTest = utils.fakeSceneContainerRepository()
|
||||
underTest.allSceneKeys("nonExistingContainer")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun currentScene() = runTest {
|
||||
val underTest = fakeSceneContainerRepository()
|
||||
val underTest = utils.fakeSceneContainerRepository()
|
||||
val currentScene by collectLastValue(underTest.currentScene("container1"))
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.LockScreen))
|
||||
|
||||
@@ -67,23 +70,23 @@ class SceneContainerRepositoryTest : SysuiTestCase() {
|
||||
|
||||
@Test(expected = IllegalStateException::class)
|
||||
fun currentScene_noSuchContainer_throws() {
|
||||
val underTest = fakeSceneContainerRepository()
|
||||
val underTest = utils.fakeSceneContainerRepository()
|
||||
underTest.currentScene("nonExistingContainer")
|
||||
}
|
||||
|
||||
@Test(expected = IllegalStateException::class)
|
||||
fun setCurrentScene_noSuchContainer_throws() {
|
||||
val underTest = fakeSceneContainerRepository()
|
||||
val underTest = utils.fakeSceneContainerRepository()
|
||||
underTest.setCurrentScene("nonExistingContainer", SceneModel(SceneKey.Shade))
|
||||
}
|
||||
|
||||
@Test(expected = IllegalStateException::class)
|
||||
fun setCurrentScene_noSuchSceneInContainer_throws() {
|
||||
val underTest =
|
||||
fakeSceneContainerRepository(
|
||||
utils.fakeSceneContainerRepository(
|
||||
setOf(
|
||||
fakeSceneContainerConfig("container1"),
|
||||
fakeSceneContainerConfig(
|
||||
utils.fakeSceneContainerConfig("container1"),
|
||||
utils.fakeSceneContainerConfig(
|
||||
"container2",
|
||||
listOf(SceneKey.QuickSettings, SceneKey.LockScreen)
|
||||
),
|
||||
@@ -94,7 +97,7 @@ class SceneContainerRepositoryTest : SysuiTestCase() {
|
||||
|
||||
@Test
|
||||
fun isVisible() = runTest {
|
||||
val underTest = fakeSceneContainerRepository()
|
||||
val underTest = utils.fakeSceneContainerRepository()
|
||||
val isVisible by collectLastValue(underTest.isVisible("container1"))
|
||||
assertThat(isVisible).isTrue()
|
||||
|
||||
@@ -107,19 +110,19 @@ class SceneContainerRepositoryTest : SysuiTestCase() {
|
||||
|
||||
@Test(expected = IllegalStateException::class)
|
||||
fun isVisible_noSuchContainer_throws() {
|
||||
val underTest = fakeSceneContainerRepository()
|
||||
val underTest = utils.fakeSceneContainerRepository()
|
||||
underTest.isVisible("nonExistingContainer")
|
||||
}
|
||||
|
||||
@Test(expected = IllegalStateException::class)
|
||||
fun setVisible_noSuchContainer_throws() {
|
||||
val underTest = fakeSceneContainerRepository()
|
||||
val underTest = utils.fakeSceneContainerRepository()
|
||||
underTest.setVisible("nonExistingContainer", false)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun sceneTransitionProgress() = runTest {
|
||||
val underTest = fakeSceneContainerRepository()
|
||||
val underTest = utils.fakeSceneContainerRepository()
|
||||
val sceneTransitionProgress by
|
||||
collectLastValue(underTest.sceneTransitionProgress("container1"))
|
||||
assertThat(sceneTransitionProgress).isEqualTo(1f)
|
||||
@@ -133,7 +136,7 @@ class SceneContainerRepositoryTest : SysuiTestCase() {
|
||||
|
||||
@Test(expected = IllegalStateException::class)
|
||||
fun sceneTransitionProgress_noSuchContainer_throws() {
|
||||
val underTest = fakeSceneContainerRepository()
|
||||
val underTest = utils.fakeSceneContainerRepository()
|
||||
underTest.sceneTransitionProgress("nonExistingContainer")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,7 @@ package com.android.systemui.scene.domain.interactor
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.coroutines.collectLastValue
|
||||
import com.android.systemui.scene.data.repository.fakeSceneContainerRepository
|
||||
import com.android.systemui.scene.data.repository.fakeSceneKeys
|
||||
import com.android.systemui.scene.SceneTestUtils
|
||||
import com.android.systemui.scene.shared.model.SceneKey
|
||||
import com.android.systemui.scene.shared.model.SceneModel
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
@@ -36,14 +35,12 @@ import org.junit.runners.JUnit4
|
||||
@RunWith(JUnit4::class)
|
||||
class SceneInteractorTest : SysuiTestCase() {
|
||||
|
||||
private val underTest =
|
||||
SceneInteractor(
|
||||
repository = fakeSceneContainerRepository(),
|
||||
)
|
||||
private val utils = SceneTestUtils(this)
|
||||
private val underTest = utils.sceneInteractor()
|
||||
|
||||
@Test
|
||||
fun allSceneKeys() {
|
||||
assertThat(underTest.allSceneKeys("container1")).isEqualTo(fakeSceneKeys())
|
||||
assertThat(underTest.allSceneKeys("container1")).isEqualTo(utils.fakeSceneKeys())
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -21,9 +21,7 @@ package com.android.systemui.scene.ui.viewmodel
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.coroutines.collectLastValue
|
||||
import com.android.systemui.scene.data.repository.fakeSceneContainerRepository
|
||||
import com.android.systemui.scene.data.repository.fakeSceneKeys
|
||||
import com.android.systemui.scene.domain.interactor.SceneInteractor
|
||||
import com.android.systemui.scene.SceneTestUtils
|
||||
import com.android.systemui.scene.shared.model.SceneKey
|
||||
import com.android.systemui.scene.shared.model.SceneModel
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
@@ -36,10 +34,9 @@ import org.junit.runners.JUnit4
|
||||
@SmallTest
|
||||
@RunWith(JUnit4::class)
|
||||
class SceneContainerViewModelTest : SysuiTestCase() {
|
||||
private val interactor =
|
||||
SceneInteractor(
|
||||
repository = fakeSceneContainerRepository(),
|
||||
)
|
||||
|
||||
private val utils = SceneTestUtils(this)
|
||||
private val interactor = utils.sceneInteractor()
|
||||
private val underTest =
|
||||
SceneContainerViewModel(
|
||||
interactor = interactor,
|
||||
@@ -60,7 +57,7 @@ class SceneContainerViewModelTest : SysuiTestCase() {
|
||||
|
||||
@Test
|
||||
fun allSceneKeys() {
|
||||
assertThat(underTest.allSceneKeys).isEqualTo(fakeSceneKeys())
|
||||
assertThat(underTest.allSceneKeys).isEqualTo(utils.fakeSceneKeys())
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -18,15 +18,11 @@ package com.android.systemui.shade.ui.viewmodel
|
||||
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.authentication.data.repository.AuthenticationRepositoryImpl
|
||||
import com.android.systemui.authentication.domain.interactor.AuthenticationInteractor
|
||||
import com.android.systemui.authentication.shared.model.AuthenticationMethodModel
|
||||
import com.android.systemui.bouncer.data.repo.BouncerRepository
|
||||
import com.android.systemui.bouncer.domain.interactor.BouncerInteractor
|
||||
import com.android.systemui.coroutines.collectLastValue
|
||||
import com.android.systemui.keyguard.domain.interactor.LockScreenSceneInteractor
|
||||
import com.android.systemui.scene.data.repository.fakeSceneContainerRepository
|
||||
import com.android.systemui.scene.domain.interactor.SceneInteractor
|
||||
import com.android.systemui.scene.SceneTestUtils
|
||||
import com.android.systemui.scene.SceneTestUtils.Companion.CONTAINER_1
|
||||
import com.android.systemui.scene.shared.model.SceneKey
|
||||
import com.android.systemui.scene.shared.model.SceneModel
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
@@ -44,14 +40,11 @@ import org.junit.runners.JUnit4
|
||||
class ShadeSceneViewModelTest : SysuiTestCase() {
|
||||
|
||||
private val testScope = TestScope()
|
||||
private val sceneInteractor =
|
||||
SceneInteractor(
|
||||
repository = fakeSceneContainerRepository(),
|
||||
)
|
||||
private val mAuthenticationInteractor =
|
||||
AuthenticationInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
repository = AuthenticationRepositoryImpl(),
|
||||
private val utils = SceneTestUtils(this, testScope)
|
||||
private val sceneInteractor = utils.sceneInteractor()
|
||||
private val authenticationInteractor =
|
||||
utils.authenticationInteractor(
|
||||
repository = utils.authenticationRepository(),
|
||||
)
|
||||
|
||||
private val underTest =
|
||||
@@ -60,36 +53,26 @@ class ShadeSceneViewModelTest : SysuiTestCase() {
|
||||
lockScreenSceneInteractorFactory =
|
||||
object : LockScreenSceneInteractor.Factory {
|
||||
override fun create(containerName: String): LockScreenSceneInteractor {
|
||||
return LockScreenSceneInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
authenticationInteractor = mAuthenticationInteractor,
|
||||
bouncerInteractorFactory =
|
||||
object : BouncerInteractor.Factory {
|
||||
override fun create(containerName: String): BouncerInteractor {
|
||||
return BouncerInteractor(
|
||||
applicationScope = testScope.backgroundScope,
|
||||
applicationContext = context,
|
||||
repository = BouncerRepository(),
|
||||
authenticationInteractor = mAuthenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = containerName,
|
||||
)
|
||||
}
|
||||
},
|
||||
return utils.lockScreenSceneInteractor(
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = CONTAINER_NAME,
|
||||
bouncerInteractor =
|
||||
utils.bouncerInteractor(
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
),
|
||||
)
|
||||
}
|
||||
},
|
||||
containerName = CONTAINER_NAME
|
||||
containerName = SceneTestUtils.CONTAINER_1
|
||||
)
|
||||
|
||||
@Test
|
||||
fun upTransitionSceneKey_deviceLocked_lockScreen() =
|
||||
testScope.runTest {
|
||||
val upTransitionSceneKey by collectLastValue(underTest.upDestinationSceneKey)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.lockDevice()
|
||||
|
||||
assertThat(upTransitionSceneKey).isEqualTo(SceneKey.LockScreen)
|
||||
}
|
||||
@@ -98,8 +81,8 @@ class ShadeSceneViewModelTest : SysuiTestCase() {
|
||||
fun upTransitionSceneKey_deviceUnlocked_gone() =
|
||||
testScope.runTest {
|
||||
val upTransitionSceneKey by collectLastValue(underTest.upDestinationSceneKey)
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.unlockDevice()
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.unlockDevice()
|
||||
|
||||
assertThat(upTransitionSceneKey).isEqualTo(SceneKey.Gone)
|
||||
}
|
||||
@@ -107,9 +90,9 @@ class ShadeSceneViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onContentClicked_deviceUnlocked_switchesToGone() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.unlockDevice()
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.unlockDevice()
|
||||
runCurrent()
|
||||
|
||||
underTest.onContentClicked()
|
||||
@@ -120,17 +103,13 @@ class ShadeSceneViewModelTest : SysuiTestCase() {
|
||||
@Test
|
||||
fun onContentClicked_deviceLockedSecurely_switchesToBouncer() =
|
||||
testScope.runTest {
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_NAME))
|
||||
mAuthenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
mAuthenticationInteractor.lockDevice()
|
||||
val currentScene by collectLastValue(sceneInteractor.currentScene(CONTAINER_1))
|
||||
authenticationInteractor.setAuthenticationMethod(AuthenticationMethodModel.PIN(1234))
|
||||
authenticationInteractor.lockDevice()
|
||||
runCurrent()
|
||||
|
||||
underTest.onContentClicked()
|
||||
|
||||
assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val CONTAINER_NAME = "container1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,161 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.systemui.scene
|
||||
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.authentication.data.repository.AuthenticationRepository
|
||||
import com.android.systemui.authentication.data.repository.AuthenticationRepositoryImpl
|
||||
import com.android.systemui.authentication.domain.interactor.AuthenticationInteractor
|
||||
import com.android.systemui.bouncer.data.repo.BouncerRepository
|
||||
import com.android.systemui.bouncer.domain.interactor.BouncerInteractor
|
||||
import com.android.systemui.bouncer.ui.viewmodel.BouncerViewModel
|
||||
import com.android.systemui.keyguard.domain.interactor.LockScreenSceneInteractor
|
||||
import com.android.systemui.scene.data.model.SceneContainerConfig
|
||||
import com.android.systemui.scene.data.repository.SceneContainerRepository
|
||||
import com.android.systemui.scene.domain.interactor.SceneInteractor
|
||||
import com.android.systemui.scene.shared.model.SceneKey
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.test.TestScope
|
||||
|
||||
/**
|
||||
* Utilities for creating scene container framework related repositories, interactors, and
|
||||
* view-models for tests.
|
||||
*/
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
class SceneTestUtils(
|
||||
test: SysuiTestCase,
|
||||
private val testScope: TestScope? = null,
|
||||
) {
|
||||
|
||||
private val context = test.context
|
||||
|
||||
fun fakeSceneContainerRepository(
|
||||
containerConfigurations: Set<SceneContainerConfig> =
|
||||
setOf(
|
||||
fakeSceneContainerConfig(CONTAINER_1),
|
||||
fakeSceneContainerConfig(CONTAINER_2),
|
||||
)
|
||||
): SceneContainerRepository {
|
||||
return SceneContainerRepository(containerConfigurations)
|
||||
}
|
||||
|
||||
fun fakeSceneKeys(): List<SceneKey> {
|
||||
return listOf(
|
||||
SceneKey.QuickSettings,
|
||||
SceneKey.Shade,
|
||||
SceneKey.LockScreen,
|
||||
SceneKey.Bouncer,
|
||||
SceneKey.Gone,
|
||||
)
|
||||
}
|
||||
|
||||
fun fakeSceneContainerConfig(
|
||||
name: String,
|
||||
sceneKeys: List<SceneKey> = fakeSceneKeys(),
|
||||
): SceneContainerConfig {
|
||||
return SceneContainerConfig(
|
||||
name = name,
|
||||
sceneKeys = sceneKeys,
|
||||
initialSceneKey = SceneKey.LockScreen,
|
||||
)
|
||||
}
|
||||
|
||||
fun sceneInteractor(): SceneInteractor {
|
||||
return SceneInteractor(
|
||||
repository = fakeSceneContainerRepository(),
|
||||
)
|
||||
}
|
||||
|
||||
fun authenticationRepository(): AuthenticationRepository {
|
||||
return AuthenticationRepositoryImpl()
|
||||
}
|
||||
|
||||
fun authenticationInteractor(
|
||||
repository: AuthenticationRepository,
|
||||
): AuthenticationInteractor {
|
||||
return AuthenticationInteractor(
|
||||
applicationScope = applicationScope(),
|
||||
repository = repository,
|
||||
)
|
||||
}
|
||||
|
||||
private fun applicationScope(): CoroutineScope {
|
||||
return checkNotNull(testScope) {
|
||||
"""
|
||||
TestScope not initialized, please create a TestScope and inject it into
|
||||
SceneTestUtils.
|
||||
"""
|
||||
.trimIndent()
|
||||
}
|
||||
.backgroundScope
|
||||
}
|
||||
|
||||
fun bouncerInteractor(
|
||||
authenticationInteractor: AuthenticationInteractor,
|
||||
sceneInteractor: SceneInteractor,
|
||||
): BouncerInteractor {
|
||||
return BouncerInteractor(
|
||||
applicationScope = applicationScope(),
|
||||
applicationContext = context,
|
||||
repository = BouncerRepository(),
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = CONTAINER_1,
|
||||
)
|
||||
}
|
||||
|
||||
fun bouncerViewModel(
|
||||
bouncerInteractor: BouncerInteractor,
|
||||
): BouncerViewModel {
|
||||
return BouncerViewModel(
|
||||
applicationContext = context,
|
||||
applicationScope = applicationScope(),
|
||||
interactorFactory =
|
||||
object : BouncerInteractor.Factory {
|
||||
override fun create(containerName: String): BouncerInteractor {
|
||||
return bouncerInteractor
|
||||
}
|
||||
},
|
||||
containerName = CONTAINER_1,
|
||||
)
|
||||
}
|
||||
|
||||
fun lockScreenSceneInteractor(
|
||||
authenticationInteractor: AuthenticationInteractor,
|
||||
sceneInteractor: SceneInteractor,
|
||||
bouncerInteractor: BouncerInteractor,
|
||||
): LockScreenSceneInteractor {
|
||||
return LockScreenSceneInteractor(
|
||||
applicationScope = applicationScope(),
|
||||
authenticationInteractor = authenticationInteractor,
|
||||
bouncerInteractorFactory =
|
||||
object : BouncerInteractor.Factory {
|
||||
override fun create(containerName: String): BouncerInteractor {
|
||||
return bouncerInteractor
|
||||
}
|
||||
},
|
||||
sceneInteractor = sceneInteractor,
|
||||
containerName = CONTAINER_1,
|
||||
)
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val CONTAINER_1 = "container1"
|
||||
const val CONTAINER_2 = "container2"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user