From c6eaeeb13d1cbcef495b4ac24f5e26dbdfbd000e Mon Sep 17 00:00:00 2001 From: Mohamad Jaara Date: Thu, 5 Feb 2026 11:28:46 +0100 Subject: [PATCH] refactor: rename GetUpdatedSelfTeamUseCase to SyncSelfTeamInfoUseCase and update related references --- .../android/di/accountScoped/TeamModule.kt | 6 ++-- .../android/di/accountScoped/UserModule.kt | 6 ++++ .../GroupConversationDetailsViewModel.kt | 25 ++++++++--------- .../settings/account/MyAccountViewModel.kt | 27 +++++++++++------- .../self/SelfUserProfileViewModel.kt | 24 ++++++++++------ .../details/GroupDetailsViewModelTest.kt | 28 +++++++++++-------- .../account/MyAccountViewModelTest.kt | 8 +++--- .../SelfUserProfileViewModelArrangement.kt | 14 +++++++--- kalium | 2 +- 9 files changed, 84 insertions(+), 56 deletions(-) diff --git a/app/src/main/kotlin/com/wire/android/di/accountScoped/TeamModule.kt b/app/src/main/kotlin/com/wire/android/di/accountScoped/TeamModule.kt index 5c6ac21b484..af8ff4cf1db 100644 --- a/app/src/main/kotlin/com/wire/android/di/accountScoped/TeamModule.kt +++ b/app/src/main/kotlin/com/wire/android/di/accountScoped/TeamModule.kt @@ -21,7 +21,7 @@ import com.wire.android.di.CurrentAccount import com.wire.android.di.KaliumCoreLogic import com.wire.kalium.logic.CoreLogic import com.wire.kalium.logic.data.user.UserId -import com.wire.kalium.logic.feature.team.GetUpdatedSelfTeamUseCase +import com.wire.kalium.logic.feature.team.SyncSelfTeamInfoUseCase import com.wire.kalium.logic.feature.team.TeamScope import com.wire.kalium.logic.feature.user.IsSelfATeamMemberUseCase import dagger.Module @@ -43,8 +43,8 @@ class TeamModule { @ViewModelScoped @Provides - fun provideGetUpdatedSelfTeamUseCase(teamScope: TeamScope): GetUpdatedSelfTeamUseCase = - teamScope.getUpdatedSelfTeamUseCase + fun provideSyncSelfTeamInfoUseCase(teamScope: TeamScope): SyncSelfTeamInfoUseCase = + teamScope.syncSelfTeamInfoUseCase @ViewModelScoped @Provides diff --git a/app/src/main/kotlin/com/wire/android/di/accountScoped/UserModule.kt b/app/src/main/kotlin/com/wire/android/di/accountScoped/UserModule.kt index 530bc6b0014..30d55be61ce 100644 --- a/app/src/main/kotlin/com/wire/android/di/accountScoped/UserModule.kt +++ b/app/src/main/kotlin/com/wire/android/di/accountScoped/UserModule.kt @@ -43,6 +43,7 @@ import com.wire.kalium.logic.feature.user.GetUserInfoUseCase import com.wire.kalium.logic.feature.user.IsPasswordRequiredUseCase import com.wire.kalium.logic.feature.user.IsReadOnlyAccountUseCase import com.wire.kalium.logic.feature.user.ObserveSelfUserUseCase +import com.wire.kalium.logic.feature.user.ObserveSelfUserWithTeamUseCase import com.wire.kalium.logic.feature.user.ObserveUserInfoUseCase import com.wire.kalium.logic.feature.user.SelfServerConfigUseCase import com.wire.kalium.logic.feature.user.SetUserHandleUseCase @@ -206,6 +207,11 @@ class UserModule { fun provideObserveSelfUseCase(userScope: UserScope): ObserveSelfUserUseCase = userScope.observeSelfUser + @ViewModelScoped + @Provides + fun provideObserveSelfUserWithTeamUseCase(userScope: UserScope): ObserveSelfUserWithTeamUseCase = + userScope.observeSelfUserWithTeam + @ViewModelScoped @Provides fun provideGetAvatarAssetUseCase(userScope: UserScope): GetAvatarAssetUseCase = diff --git a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/GroupConversationDetailsViewModel.kt b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/GroupConversationDetailsViewModel.kt index 532bd601f31..c438f7b765a 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/GroupConversationDetailsViewModel.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/conversations/details/GroupConversationDetailsViewModel.kt @@ -46,8 +46,7 @@ import com.wire.kalium.logic.feature.conversation.ObserveConversationDetailsUseC import com.wire.kalium.logic.feature.conversation.UpdateConversationReceiptModeUseCase import com.wire.kalium.logic.feature.publicuser.RefreshUsersWithoutMetadataUseCase import com.wire.kalium.logic.feature.selfDeletingMessages.ObserveSelfDeletionTimerSettingsForConversationUseCase -import com.wire.kalium.logic.feature.team.GetUpdatedSelfTeamUseCase -import com.wire.kalium.logic.feature.user.GetSelfUserUseCase +import com.wire.kalium.logic.feature.user.ObserveSelfUserWithTeamUseCase import com.wire.kalium.logic.feature.user.IsMLSEnabledUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.Flow @@ -70,8 +69,7 @@ class GroupConversationDetailsViewModel @Inject constructor( private val dispatcher: DispatcherProvider, private val observeConversationDetails: ObserveConversationDetailsUseCase, observeConversationMembers: ObserveParticipantsForConversationUseCase, - private val getSelfTeam: GetUpdatedSelfTeamUseCase, - private val getSelfUser: GetSelfUserUseCase, + private val observeSelfUserWithTeam: ObserveSelfUserWithTeamUseCase, private val updateConversationReceiptMode: UpdateConversationReceiptModeUseCase, private val observeSelfDeletionTimerSettingsForConversation: ObserveSelfDeletionTimerSettingsForConversationUseCase, savedStateHandle: SavedStateHandle, @@ -110,27 +108,28 @@ class GroupConversationDetailsViewModel @Inject constructor( viewModelScope.launch { val groupDetailsFlow = groupDetailsFlow() .shareIn(this, SharingStarted.WhileSubscribed(), 1) - - val selfTeam = getSelfTeam() - val selfUser = getSelfUser() + val selfWithTeamFlow = observeSelfUserWithTeam() + .flowOn(dispatcher.io()) + .shareIn(this, SharingStarted.WhileSubscribed(), 1) combine( groupDetailsFlow, + selfWithTeamFlow, observeSelfDeletionTimerSettingsForConversation(conversationId, considerSelfUserSettings = false), - ) { groupDetails, selfDeletionTimer -> - val selfType = selfUser?.userType + ) { groupDetails, (selfUser, selfTeam), selfDeletionTimer -> + val selfType = selfUser.userType val isSelfInTeamThatOwnsConversation = selfTeam?.id != null && selfTeam.id == groupDetails.conversation.teamId?.value - val isSelfExternalMember = selfUser?.userType?.isExternal() == true - val isRegularTeamMember = selfType?.isRegularTeamMember() == true + val isSelfExternalMember = selfUser.userType.isExternal() + val isRegularTeamMember = selfType.isRegularTeamMember() val isChannel = groupDetails is ConversationDetails.Group.Channel - val isSelfTeamAdmin = selfUser?.userType?.isTeamAdmin() == true + val isSelfTeamAdmin = selfUser.userType.isTeamAdmin() val canPerformChannelAdminTasks = isChannel && isSelfInTeamThatOwnsConversation && isSelfTeamAdmin val isRegularGroupAdmin = groupDetails.selfRole == Conversation.Member.Role.Admin val canSelfPerformAdminTasks = (isRegularGroupAdmin) || (canPerformChannelAdminTasks) val channelPermissionType = groupDetails.getChannelPermissionType() val channelAccessType = groupDetails.getChannelAccessType() val isExternalOrFederated = - selfType?.isExternal() == true || selfType?.isFederated() == true + selfType.isExternal() || selfType.isFederated() val canSelfAddParticipants = when { !isChannel -> isRegularGroupAdmin && !isExternalOrFederated diff --git a/app/src/main/kotlin/com/wire/android/ui/home/settings/account/MyAccountViewModel.kt b/app/src/main/kotlin/com/wire/android/ui/home/settings/account/MyAccountViewModel.kt index fc809aaff75..d1fc5844776 100644 --- a/app/src/main/kotlin/com/wire/android/ui/home/settings/account/MyAccountViewModel.kt +++ b/app/src/main/kotlin/com/wire/android/ui/home/settings/account/MyAccountViewModel.kt @@ -28,16 +28,18 @@ import com.wire.android.BuildConfig import com.wire.android.appLogger import com.wire.android.ui.theme.Accent import com.wire.android.util.dispatchers.DispatcherProvider -import com.wire.kalium.logic.feature.team.GetUpdatedSelfTeamUseCase import com.wire.kalium.logic.feature.user.IsE2EIEnabledUseCase import com.wire.kalium.logic.feature.user.IsPasswordRequiredUseCase import com.wire.kalium.logic.feature.user.IsReadOnlyAccountUseCase import com.wire.kalium.logic.feature.user.IsSelfATeamMemberUseCase import com.wire.kalium.logic.feature.user.ObserveSelfUserUseCase +import com.wire.kalium.logic.feature.user.ObserveSelfUserWithTeamUseCase import com.wire.kalium.logic.feature.user.SelfServerConfigUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.shareIn import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking @@ -49,7 +51,7 @@ import kotlin.properties.Delegates @HiltViewModel class MyAccountViewModel @Inject constructor( private val getSelf: ObserveSelfUserUseCase, - private val getSelfTeam: GetUpdatedSelfTeamUseCase, + private val observeSelfUserWithTeam: ObserveSelfUserWithTeamUseCase, private val isSelfATeamMember: IsSelfATeamMemberUseCase, private val serverConfig: SelfServerConfigUseCase, private val isPasswordRequired: IsPasswordRequiredUseCase, @@ -105,9 +107,7 @@ class MyAccountViewModel @Inject constructor( viewModelScope.launch { fetchSelfUser() } - viewModelScope.launch { - fetchSelfUserTeam() - } + fetchSelfUserTeam() } private suspend fun loadChangePasswordUrl() { @@ -143,11 +143,18 @@ class MyAccountViewModel @Inject constructor( ) } - private suspend fun fetchSelfUserTeam() { - val selfTeam = getSelfTeam() - myAccountState = myAccountState.copy( - teamName = selfTeam?.name.orEmpty(), - ) + private fun fetchSelfUserTeam() { + viewModelScope.launch { + observeSelfUserWithTeam() + .flowOn(dispatchers.io()) + .map { (_, team) -> team?.name.orEmpty() } + .distinctUntilChanged() + .collect { teamName -> + myAccountState = myAccountState.copy( + teamName = teamName, + ) + } + } } companion object { diff --git a/app/src/main/kotlin/com/wire/android/ui/userprofile/self/SelfUserProfileViewModel.kt b/app/src/main/kotlin/com/wire/android/ui/userprofile/self/SelfUserProfileViewModel.kt index 18a6376ef9f..3ea0e4c18ae 100644 --- a/app/src/main/kotlin/com/wire/android/ui/userprofile/self/SelfUserProfileViewModel.kt +++ b/app/src/main/kotlin/com/wire/android/ui/userprofile/self/SelfUserProfileViewModel.kt @@ -43,8 +43,6 @@ import com.wire.kalium.logic.data.call.Call import com.wire.kalium.logic.data.id.QualifiedIdMapper import com.wire.kalium.logic.data.id.toQualifiedID import com.wire.kalium.logic.data.logout.LogoutReason -import com.wire.kalium.logic.data.team.Team -import com.wire.kalium.logic.data.user.SelfUser import com.wire.kalium.logic.data.user.UserAssetId import com.wire.kalium.logic.data.user.UserAvailabilityStatus import com.wire.kalium.logic.data.user.UserId @@ -57,9 +55,10 @@ import com.wire.kalium.logic.feature.legalhold.LegalHoldStateForSelfUser import com.wire.kalium.logic.feature.legalhold.ObserveLegalHoldStateForSelfUserUseCase import com.wire.kalium.logic.feature.personaltoteamaccount.CanMigrateFromPersonalToTeamUseCase import com.wire.kalium.logic.feature.server.GetTeamUrlUseCase -import com.wire.kalium.logic.feature.team.GetUpdatedSelfTeamUseCase +import com.wire.kalium.logic.feature.team.SyncSelfTeamInfoUseCase import com.wire.kalium.logic.feature.user.IsReadOnlyAccountUseCase import com.wire.kalium.logic.feature.user.ObserveSelfUserUseCase +import com.wire.kalium.logic.feature.user.ObserveSelfUserWithTeamUseCase import com.wire.kalium.logic.feature.user.ObserveValidAccountsUseCase import com.wire.kalium.logic.feature.user.UpdateSelfAvailabilityStatusUseCase import dagger.hilt.android.lifecycle.HiltViewModel @@ -85,7 +84,8 @@ class SelfUserProfileViewModel @Inject constructor( @CurrentAccount private val selfUserId: UserId, private val dataStore: UserDataStore, private val observeSelf: ObserveSelfUserUseCase, - private val getSelfTeam: GetUpdatedSelfTeamUseCase, + private val observeSelfUserWithTeam: ObserveSelfUserWithTeamUseCase, + private val syncSelfTeamInfo: SyncSelfTeamInfoUseCase, private val canMigrateFromPersonalToTeam: CanMigrateFromPersonalToTeamUseCase, private val observeValidAccounts: ObserveValidAccountsUseCase, private val updateStatus: UpdateSelfAvailabilityStatusUseCase, @@ -161,20 +161,26 @@ class SelfUserProfileViewModel @Inject constructor( private fun fetchSelfUser() { viewModelScope.launch { - val self = observeSelf().flowOn(dispatchers.io()).shareIn(this, SharingStarted.WhileSubscribed(1)) - val selfTeam = getSelfTeam() + viewModelScope.launch(dispatchers.io()) { + syncSelfTeamInfo() + } + + val selfWithTeam = observeSelfUserWithTeam() + .flowOn(dispatchers.io()) + .shareIn(this, SharingStarted.WhileSubscribed(1)) val validAccounts = observeValidAccounts().flowOn(dispatchers.io()).shareIn(this, SharingStarted.WhileSubscribed(1)) - combine(self, validAccounts) { selfUser: SelfUser, list: List> -> - Pair( + combine(selfWithTeam, validAccounts) { (selfUser, selfTeam), list -> + Triple( selfUser, + selfTeam, list.filter { it.first.id != selfUser.id } .map { (selfUser, _) -> otherAccountMapper.toOtherAccount(selfUser) } ) } .distinctUntilChanged() - .collect { (selfUser, otherAccounts) -> + .collect { (selfUser, selfTeam, otherAccounts) -> with(selfUser) { // Load user avatar raw image data completePicture?.let { updateUserAvatar(it) } diff --git a/app/src/test/kotlin/com/wire/android/ui/home/conversations/details/GroupDetailsViewModelTest.kt b/app/src/test/kotlin/com/wire/android/ui/home/conversations/details/GroupDetailsViewModelTest.kt index 16fd9fd37a7..5d2678312d7 100644 --- a/app/src/test/kotlin/com/wire/android/ui/home/conversations/details/GroupDetailsViewModelTest.kt +++ b/app/src/test/kotlin/com/wire/android/ui/home/conversations/details/GroupDetailsViewModelTest.kt @@ -23,6 +23,7 @@ import androidx.lifecycle.SavedStateHandle import com.wire.android.config.CoroutineTestExtension import com.wire.android.config.NavigationTestExtension import com.wire.android.config.TestDispatcherProvider +import com.wire.android.framework.TestTeam import com.wire.android.framework.TestUser import com.wire.android.mapper.testUIParticipant import com.wire.android.ui.home.conversations.details.options.GroupConversationOptionsState @@ -56,8 +57,7 @@ import com.wire.kalium.logic.feature.conversation.UpdateConversationReceiptModeU import com.wire.kalium.logic.feature.featureConfig.ObserveIsAppsAllowedForUsageUseCase import com.wire.kalium.logic.feature.publicuser.RefreshUsersWithoutMetadataUseCase import com.wire.kalium.logic.feature.selfDeletingMessages.ObserveSelfDeletionTimerSettingsForConversationUseCase -import com.wire.kalium.logic.feature.team.GetUpdatedSelfTeamUseCase -import com.wire.kalium.logic.feature.user.GetSelfUserUseCase +import com.wire.kalium.logic.feature.user.ObserveSelfUserWithTeamUseCase import com.wire.kalium.logic.feature.user.IsMLSEnabledUseCase import io.mockk.MockKAnnotations import io.mockk.coEvery @@ -703,14 +703,11 @@ internal class GroupConversationDetailsViewModelArrangement { lateinit var observeConversationDetails: ObserveConversationDetailsUseCase @MockK - lateinit var getSelfUser: GetSelfUserUseCase + lateinit var observeSelfUserWithTeam: ObserveSelfUserWithTeamUseCase @MockK lateinit var observeParticipantsForConversationUseCase: ObserveParticipantsForConversationUseCase - @MockK - lateinit var getSelfTeamUseCase: GetUpdatedSelfTeamUseCase - @MockK lateinit var updateConversationMutedStatus: UpdateConversationMutedStatusUseCase @@ -740,13 +737,15 @@ internal class GroupConversationDetailsViewModelArrangement { @MockK lateinit var isWireCellsEnabled: IsWireCellsEnabledUseCase + private var arrangedSelfUser: SelfUser = TestUser.SELF_USER + private var arrangedTeam: Team? = TestTeam.TEAM + private val viewModel by lazy { GroupConversationDetailsViewModel( dispatcher = TestDispatcherProvider(), - getSelfUser = getSelfUser, observeConversationDetails = observeConversationDetails, observeConversationMembers = observeParticipantsForConversationUseCase, - getSelfTeam = getSelfTeamUseCase, + observeSelfUserWithTeam = observeSelfUserWithTeam, savedStateHandle = savedStateHandle, updateConversationReceiptMode = updateConversationReceiptMode, isMLSEnabled = isMLSEnabledUseCase, @@ -773,9 +772,8 @@ internal class GroupConversationDetailsViewModelArrangement { // Default empty values coEvery { observeConversationDetails(any()) } returns flowOf() - coEvery { getSelfUser() } returns TestUser.SELF_USER + updateSelfUserWithTeamFlow() coEvery { observeParticipantsForConversationUseCase(any(), any()) } returns flowOf() - coEvery { getSelfTeamUseCase() } returns null coEvery { isMLSEnabledUseCase() } returns true coEvery { updateConversationMutedStatus(any(), any(), any()) } returns ConversationUpdateStatusResult.Success coEvery { observeSelfDeletionTimerSettingsForConversation(any(), any()) } returns flowOf(SelfDeletionTimer.Disabled) @@ -789,7 +787,8 @@ internal class GroupConversationDetailsViewModelArrangement { } suspend fun withGetSelfUserReturns(user: SelfUser) = apply { - coEvery { getSelfUser() } returns user + arrangedSelfUser = user + updateSelfUserWithTeamFlow() } suspend fun withConversationDetailUpdate(conversationDetails: ConversationDetails) = apply { @@ -804,7 +803,12 @@ internal class GroupConversationDetailsViewModelArrangement { } suspend fun withSelfTeamUseCaseReturns(result: Team?) = apply { - coEvery { getSelfTeamUseCase() } returns result + arrangedTeam = result + updateSelfUserWithTeamFlow() + } + + private fun updateSelfUserWithTeamFlow() { + coEvery { observeSelfUserWithTeam() } returns flowOf(arrangedSelfUser to arrangedTeam) } suspend fun withUpdateConversationReceiptModeReturningSuccess() = apply { diff --git a/app/src/test/kotlin/com/wire/android/ui/home/settings/account/MyAccountViewModelTest.kt b/app/src/test/kotlin/com/wire/android/ui/home/settings/account/MyAccountViewModelTest.kt index f47b230fb09..ac36d5030f6 100644 --- a/app/src/test/kotlin/com/wire/android/ui/home/settings/account/MyAccountViewModelTest.kt +++ b/app/src/test/kotlin/com/wire/android/ui/home/settings/account/MyAccountViewModelTest.kt @@ -25,13 +25,13 @@ import com.wire.android.framework.TestUser import com.wire.android.util.newServerConfig import com.wire.kalium.common.error.StorageFailure import com.wire.kalium.logic.data.id.TeamId -import com.wire.kalium.logic.feature.team.GetUpdatedSelfTeamUseCase import com.wire.kalium.logic.feature.user.IsE2EIEnabledUseCase import com.wire.kalium.logic.feature.user.IsPasswordRequiredUseCase import com.wire.kalium.logic.feature.user.IsPasswordRequiredUseCase.Result.Success import com.wire.kalium.logic.feature.user.IsReadOnlyAccountUseCase import com.wire.kalium.logic.feature.user.IsSelfATeamMemberUseCase import com.wire.kalium.logic.feature.user.ObserveSelfUserUseCase +import com.wire.kalium.logic.feature.user.ObserveSelfUserWithTeamUseCase import com.wire.kalium.logic.feature.user.SelfServerConfigUseCase import io.mockk.MockKAnnotations import io.mockk.coEvery @@ -204,7 +204,7 @@ class MyAccountViewModelTest { lateinit var observeSelfUserUseCase: ObserveSelfUserUseCase @MockK - lateinit var getSelfTeamUseCase: GetUpdatedSelfTeamUseCase + lateinit var observeSelfUserWithTeam: ObserveSelfUserWithTeamUseCase @MockK lateinit var selfServerConfigUseCase: SelfServerConfigUseCase @@ -224,7 +224,7 @@ class MyAccountViewModelTest { private val viewModel by lazy { MyAccountViewModel( observeSelfUserUseCase, - getSelfTeamUseCase, + observeSelfUserWithTeam, isSelfATeamMember, selfServerConfigUseCase, isPasswordRequiredUseCase, @@ -237,7 +237,7 @@ class MyAccountViewModelTest { init { MockKAnnotations.init(this, relaxUnitFun = true) coEvery { observeSelfUserUseCase() } returns flowOf(TestUser.SELF_USER.copy(teamId = TeamId(TestTeam.TEAM.id))) - coEvery { getSelfTeamUseCase() } returns TestTeam.TEAM + coEvery { observeSelfUserWithTeam() } returns flowOf(TestUser.SELF_USER to TestTeam.TEAM) coEvery { selfServerConfigUseCase() } returns SelfServerConfigUseCase.Result.Success(newServerConfig(1)) coEvery { isSelfATeamMember() } returns true } diff --git a/app/src/test/kotlin/com/wire/android/ui/userprofile/self/SelfUserProfileViewModelArrangement.kt b/app/src/test/kotlin/com/wire/android/ui/userprofile/self/SelfUserProfileViewModelArrangement.kt index 34b753c8ad2..a4ec3343f69 100644 --- a/app/src/test/kotlin/com/wire/android/ui/userprofile/self/SelfUserProfileViewModelArrangement.kt +++ b/app/src/test/kotlin/com/wire/android/ui/userprofile/self/SelfUserProfileViewModelArrangement.kt @@ -37,9 +37,10 @@ import com.wire.kalium.logic.feature.legalhold.LegalHoldStateForSelfUser import com.wire.kalium.logic.feature.legalhold.ObserveLegalHoldStateForSelfUserUseCase import com.wire.kalium.logic.feature.personaltoteamaccount.CanMigrateFromPersonalToTeamUseCase import com.wire.kalium.logic.feature.server.GetTeamUrlUseCase -import com.wire.kalium.logic.feature.team.GetUpdatedSelfTeamUseCase +import com.wire.kalium.logic.feature.team.SyncSelfTeamInfoUseCase import com.wire.kalium.logic.feature.user.IsReadOnlyAccountUseCase import com.wire.kalium.logic.feature.user.ObserveSelfUserUseCase +import com.wire.kalium.logic.feature.user.ObserveSelfUserWithTeamUseCase import com.wire.kalium.logic.feature.user.ObserveValidAccountsUseCase import com.wire.kalium.logic.feature.user.UpdateSelfAvailabilityStatusUseCase import io.mockk.MockKAnnotations @@ -55,7 +56,10 @@ class SelfUserProfileViewModelArrangement { lateinit var getSelf: ObserveSelfUserUseCase @MockK - lateinit var getSelfTeam: GetUpdatedSelfTeamUseCase + lateinit var observeSelfUserWithTeam: ObserveSelfUserWithTeamUseCase + + @MockK + lateinit var syncSelfTeamInfo: SyncSelfTeamInfoUseCase @MockK lateinit var observeValidAccounts: ObserveValidAccountsUseCase @@ -113,7 +117,8 @@ class SelfUserProfileViewModelArrangement { selfUserId = TestUser.SELF_USER.id, dataStore = userDataStore, observeSelf = getSelf, - getSelfTeam = getSelfTeam, + observeSelfUserWithTeam = observeSelfUserWithTeam, + syncSelfTeamInfo = syncSelfTeamInfo, observeValidAccounts = observeValidAccounts, updateStatus = updateStatus, logout = logout, @@ -139,7 +144,8 @@ class SelfUserProfileViewModelArrangement { mockUri() coEvery { getSelf.invoke() } returns flowOf(TestUser.SELF_USER) - coEvery { getSelfTeam.invoke() } returns TestTeam.TEAM + coEvery { observeSelfUserWithTeam.invoke() } returns flowOf(TestUser.SELF_USER to TestTeam.TEAM) + coEvery { syncSelfTeamInfo.invoke() } returns TestTeam.TEAM coEvery { observeValidAccounts.invoke() } returns flowOf(listOf(TestUser.SELF_USER to TestTeam.TEAM)) coEvery { isReadOnlyAccount.invoke() } returns false coEvery { observeEstablishedCalls.invoke() } returns flowOf(emptyList()) diff --git a/kalium b/kalium index ae71a9a75ae..a3136ccb29b 160000 --- a/kalium +++ b/kalium @@ -1 +1 @@ -Subproject commit ae71a9a75ae63027c8970905ef5bdeabc59fee8b +Subproject commit a3136ccb29b51fb670434ae230a92ed7b39a35b0