diff options
3 files changed, 24 insertions, 18 deletions
diff --git a/tests/shared/src/com/android/intentresolver/v2/data/repository/FakeUserRepository.kt b/tests/shared/src/com/android/intentresolver/v2/data/repository/FakeUserRepository.kt index 5ed6f506..73d9a084 100644 --- a/tests/shared/src/com/android/intentresolver/v2/data/repository/FakeUserRepository.kt +++ b/tests/shared/src/com/android/intentresolver/v2/data/repository/FakeUserRepository.kt @@ -22,7 +22,7 @@ import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.update /** A simple repository which can be initialized from a list and updated. */ -class FakeUserRepository(vararg userList: User) : UserRepository { +class FakeUserRepository(userList: List<User>) : UserRepository { internal data class UserState(val user: User, val available: Boolean) private val userState = MutableStateFlow(userList.map { UserState(it, available = true) }) @@ -47,7 +47,7 @@ class FakeUserRepository(vararg userList: User) : UserRepository { override val availability = userState.map { userStateList -> userStateList.associate { it.user to it.available } } - override suspend fun requestState(user: User, available: Boolean) { + fun updateState(user: User, available: Boolean) { userState.update { userStateList -> userStateList.map { userState -> if (userState.user.id == user.id) { @@ -58,4 +58,8 @@ class FakeUserRepository(vararg userList: User) : UserRepository { } } } + + override suspend fun requestState(user: User, available: Boolean) { + updateState(user, available) + } } diff --git a/tests/unit/src/com/android/intentresolver/v2/data/repository/FakeUserRepositoryTest.kt b/tests/unit/src/com/android/intentresolver/v2/data/repository/FakeUserRepositoryTest.kt index 334f31ad..d10ea8d0 100644 --- a/tests/unit/src/com/android/intentresolver/v2/data/repository/FakeUserRepositoryTest.kt +++ b/tests/unit/src/com/android/intentresolver/v2/data/repository/FakeUserRepositoryTest.kt @@ -33,7 +33,7 @@ class FakeUserRepositoryTest { @Test fun init() = runTest { - val repo = FakeUserRepository(personalUser, workUser, privateUser) + val repo = FakeUserRepository(listOf(personalUser, workUser, privateUser)) val users by collectLastValue(repo.users) assertThat(users).containsExactly(personalUser, workUser, privateUser) @@ -41,7 +41,7 @@ class FakeUserRepositoryTest { @Test fun addUser() = runTest { - val repo = FakeUserRepository() + val repo = FakeUserRepository(emptyList()) val users by collectLastValue(repo.users) assertThat(users).isEmpty() @@ -55,7 +55,7 @@ class FakeUserRepositoryTest { @Test fun removeUser() = runTest { - val repo = FakeUserRepository(personalUser, workUser) + val repo = FakeUserRepository(listOf(personalUser, workUser)) val users by collectLastValue(repo.users) repo.removeUser(workUser) @@ -67,7 +67,7 @@ class FakeUserRepositoryTest { @Test fun isAvailable_defaultValue() = runTest { - val repo = FakeUserRepository(personalUser, workUser) + val repo = FakeUserRepository(listOf(personalUser, workUser)) val available by collectLastValue(repo.availability) @@ -80,7 +80,7 @@ class FakeUserRepositoryTest { @Test fun isAvailable() = runTest { - val repo = FakeUserRepository(personalUser, workUser) + val repo = FakeUserRepository(listOf(personalUser, workUser)) val available by collectLastValue(repo.availability) assertThat(available!![workUser]).isTrue() @@ -94,7 +94,7 @@ class FakeUserRepositoryTest { @Test fun isAvailable_addRemove() = runTest { - val repo = FakeUserRepository(personalUser, workUser) + val repo = FakeUserRepository(listOf(personalUser, workUser)) val available by collectLastValue(repo.availability) assertThat(available!![workUser]).isTrue() diff --git a/tests/unit/src/com/android/intentresolver/v2/domain/interactor/UserInteractorTest.kt b/tests/unit/src/com/android/intentresolver/v2/domain/interactor/UserInteractorTest.kt index 4d246b9a..b2c65867 100644 --- a/tests/unit/src/com/android/intentresolver/v2/domain/interactor/UserInteractorTest.kt +++ b/tests/unit/src/com/android/intentresolver/v2/domain/interactor/UserInteractorTest.kt @@ -45,7 +45,7 @@ class UserInteractorTest { fun launchedByProfile(): Unit = runTest { val profileInteractor = UserInteractor( - userRepository = FakeUserRepository(personalUser, cloneUser), + userRepository = FakeUserRepository(listOf(personalUser, cloneUser)), launchedAs = personalUser.handle ) @@ -58,7 +58,7 @@ class UserInteractorTest { fun launchedByProfile_asClone(): Unit = runTest { val profileInteractor = UserInteractor( - userRepository = FakeUserRepository(personalUser, cloneUser), + userRepository = FakeUserRepository(listOf(personalUser, cloneUser)), launchedAs = cloneUser.handle ) val profiles by collectLastValue(profileInteractor.launchedAsProfile) @@ -70,7 +70,7 @@ class UserInteractorTest { fun profiles_withPersonal(): Unit = runTest { val profileInteractor = UserInteractor( - userRepository = FakeUserRepository(personalUser), + userRepository = FakeUserRepository(listOf(personalUser)), launchedAs = personalUser.handle ) @@ -81,7 +81,7 @@ class UserInteractorTest { @Test fun profiles_addClone(): Unit = runTest { - val fakeUserRepo = FakeUserRepository(personalUser) + val fakeUserRepo = FakeUserRepository(listOf(personalUser)) val profileInteractor = UserInteractor(userRepository = fakeUserRepo, launchedAs = personalUser.handle) @@ -96,7 +96,7 @@ class UserInteractorTest { fun profiles_withPersonalAndClone(): Unit = runTest { val profileInteractor = UserInteractor( - userRepository = FakeUserRepository(personalUser, cloneUser), + userRepository = FakeUserRepository(listOf(personalUser, cloneUser)), launchedAs = personalUser.handle ) val profiles by collectLastValue(profileInteractor.profiles) @@ -108,7 +108,8 @@ class UserInteractorTest { fun profiles_withAllSupportedTypes(): Unit = runTest { val profileInteractor = UserInteractor( - userRepository = FakeUserRepository(personalUser, cloneUser, workUser, privateUser), + userRepository = + FakeUserRepository(listOf(personalUser, cloneUser, workUser, privateUser)), launchedAs = personalUser.handle ) val profiles by collectLastValue(profileInteractor.profiles) @@ -125,7 +126,8 @@ class UserInteractorTest { fun profiles_preservesIterationOrder(): Unit = runTest { val profileInteractor = UserInteractor( - userRepository = FakeUserRepository(workUser, cloneUser, privateUser, personalUser), + userRepository = + FakeUserRepository(listOf(workUser, cloneUser, privateUser, personalUser)), launchedAs = personalUser.handle ) @@ -141,7 +143,7 @@ class UserInteractorTest { @Test fun isAvailable_defaultValue() = runTest { - val userRepo = FakeUserRepository(personalUser) + val userRepo = FakeUserRepository(listOf(personalUser)) userRepo.addUser(workUser, false) val profileInteractor = @@ -156,7 +158,7 @@ class UserInteractorTest { @Test fun isAvailable() = runTest { - val userRepo = FakeUserRepository(workUser, personalUser) + val userRepo = FakeUserRepository(listOf(workUser, personalUser)) val profileInteractor = UserInteractor(userRepository = userRepo, launchedAs = personalUser.handle) val workAvailable by collectLastValue(profileInteractor.isAvailable(WORK)) @@ -183,7 +185,7 @@ class UserInteractorTest { */ @Test fun updateState() = runTest { - val userRepo = FakeUserRepository(workUser, personalUser) + val userRepo = FakeUserRepository(listOf(workUser, personalUser)) val userInteractor = UserInteractor(userRepository = userRepo, launchedAs = personalUser.handle) val workProfile = Profile(Profile.Type.WORK, workUser) |