summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/shared/src/com/android/intentresolver/v2/data/repository/FakeUserRepository.kt8
-rw-r--r--tests/unit/src/com/android/intentresolver/v2/data/repository/FakeUserRepositoryTest.kt12
-rw-r--r--tests/unit/src/com/android/intentresolver/v2/domain/interactor/UserInteractorTest.kt22
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)