From 274aa620b18df6eec7c04da44dc4406e53b893f1 Mon Sep 17 00:00:00 2001 From: David Perez Date: Thu, 7 Mar 2024 09:37:18 -0600 Subject: [PATCH] Add needsMasterPassword field to userState (#1105) --- .../data/auth/repository/model/UserState.kt | 3 +++ .../repository/util/UserStateJsonExtensions.kt | 18 ++++++++++-------- .../util/UserStateJsonExtensionsTest.kt | 13 +++++++++++++ .../feature/landing/LandingViewModelTest.kt | 3 +++ .../auth/feature/login/LoginViewModelTest.kt | 1 + .../vaultunlock/VaultUnlockViewModelTest.kt | 3 +++ .../feature/rootnav/RootNavViewModelTest.kt | 8 ++++++++ .../feature/search/SearchViewModelTest.kt | 1 + .../LoginApprovalViewModelTest.kt | 1 + .../generator/GeneratorViewModelTest.kt | 1 + .../send/addsend/AddSendViewModelTest.kt | 1 + .../addedit/VaultAddEditViewModelTest.kt | 1 + .../addedit/util/CipherViewExtensionsTest.kt | 1 + .../attachments/AttachmentsViewModelTest.kt | 1 + .../feature/item/VaultItemViewModelTest.kt | 1 + .../VaultItemListingViewModelTest.kt | 1 + .../VaultMoveToOrganizationViewModelTest.kt | 1 + .../VaultMoveToOrganizationExtensionsTest.kt | 1 + .../vault/feature/vault/VaultViewModelTest.kt | 4 ++++ .../vault/util/UserStateExtensionsTest.kt | 10 ++++++++++ 20 files changed, 66 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/x8bit/bitwarden/data/auth/repository/model/UserState.kt b/app/src/main/java/com/x8bit/bitwarden/data/auth/repository/model/UserState.kt index de83dc9ef7..a447a47714 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/auth/repository/model/UserState.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/auth/repository/model/UserState.kt @@ -41,6 +41,8 @@ data class UserState( * authentication to view their vault. * @property isVaultUnlocked Whether or not the user's vault is currently unlocked. * @property needsPasswordReset If the user needs to reset their password. + * @property needsMasterPassword Indicates whether the user needs to create a password (e.g. + * they logged in using SSO and don't yet have one). * @property organizations List of [Organization]s the user is associated with, if any. * @property isBiometricsEnabled Indicates that the biometrics mechanism for unlocking the * user's vault is enabled. @@ -56,6 +58,7 @@ data class UserState( val isLoggedIn: Boolean, val isVaultUnlocked: Boolean, val needsPasswordReset: Boolean, + val needsMasterPassword: Boolean, val organizations: List, val isBiometricsEnabled: Boolean, val vaultUnlockType: VaultUnlockType = VaultUnlockType.MASTER_PASSWORD, diff --git a/app/src/main/java/com/x8bit/bitwarden/data/auth/repository/util/UserStateJsonExtensions.kt b/app/src/main/java/com/x8bit/bitwarden/data/auth/repository/util/UserStateJsonExtensions.kt index 5f78a72388..6abb5defc1 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/auth/repository/util/UserStateJsonExtensions.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/auth/repository/util/UserStateJsonExtensions.kt @@ -58,21 +58,22 @@ fun UserStateJson.toUserState( .accounts .values .map { accountJson -> - val userId = accountJson.profile.userId + val profile = accountJson.profile + val userId = profile.userId val vaultUnlocked = vaultState.statusFor(userId) == VaultUnlockData.Status.UNLOCKED - val needsPasswordReset = accountJson.profile.forcePasswordResetReason != null + val needsPasswordReset = profile.forcePasswordResetReason != null + val needsMasterPassword = profile.userDecryptionOptions?.hasMasterPassword == false UserState.Account( - userId = accountJson.profile.userId, - name = accountJson.profile.name, - email = accountJson.profile.email, - avatarColorHex = accountJson.profile.avatarColorHex - ?: accountJson.profile.userId.toHexColorRepresentation(), + userId = userId, + name = profile.name, + email = profile.email, + avatarColorHex = profile.avatarColorHex ?: userId.toHexColorRepresentation(), environment = accountJson .settings .environmentUrlData .toEnvironmentUrlsOrDefault(), - isPremium = accountJson.profile.hasPremium == true, + isPremium = profile.hasPremium == true, isLoggedIn = isLoggedInProvider(userId), isVaultUnlocked = vaultUnlocked && !needsPasswordReset, needsPasswordReset = needsPasswordReset, @@ -82,6 +83,7 @@ fun UserStateJson.toUserState( .orEmpty(), isBiometricsEnabled = isBiometricsEnabledProvider(userId), vaultUnlockType = vaultUnlockTypeProvider(userId), + needsMasterPassword = needsMasterPassword, ) }, hasPendingAccountAddition = hasPendingAccountAddition, diff --git a/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/UserStateJsonExtensionsTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/UserStateJsonExtensionsTest.kt index e444597b63..e13605b1a9 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/UserStateJsonExtensionsTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/UserStateJsonExtensionsTest.kt @@ -5,6 +5,7 @@ import com.x8bit.bitwarden.data.auth.datasource.disk.model.AccountTokensJson import com.x8bit.bitwarden.data.auth.datasource.disk.model.EnvironmentUrlDataJson import com.x8bit.bitwarden.data.auth.datasource.disk.model.UserStateJson import com.x8bit.bitwarden.data.auth.datasource.network.model.KdfTypeJson +import com.x8bit.bitwarden.data.auth.datasource.network.model.UserDecryptionOptionsJson import com.x8bit.bitwarden.data.auth.repository.model.Organization import com.x8bit.bitwarden.data.auth.repository.model.UserOrganizations import com.x8bit.bitwarden.data.auth.repository.model.UserState @@ -117,6 +118,7 @@ class UserStateJsonExtensionsTest { ), isBiometricsEnabled = false, vaultUnlockType = VaultUnlockType.PIN, + needsMasterPassword = false, ), ), ), @@ -131,6 +133,11 @@ class UserStateJsonExtensionsTest { every { avatarColorHex } returns "activeAvatarColorHex" every { hasPremium } returns null every { forcePasswordResetReason } returns null + every { userDecryptionOptions } returns UserDecryptionOptionsJson( + hasMasterPassword = true, + trustedDeviceUserDecryptionOptions = null, + keyConnectorUserDecryptionOptions = null, + ) }, tokens = AccountTokensJson( accessToken = "accessToken", @@ -193,6 +200,7 @@ class UserStateJsonExtensionsTest { ), isBiometricsEnabled = true, vaultUnlockType = VaultUnlockType.MASTER_PASSWORD, + needsMasterPassword = true, ), ), hasPendingAccountAddition = true, @@ -208,6 +216,11 @@ class UserStateJsonExtensionsTest { every { avatarColorHex } returns null every { hasPremium } returns true every { forcePasswordResetReason } returns null + every { userDecryptionOptions } returns UserDecryptionOptionsJson( + hasMasterPassword = false, + trustedDeviceUserDecryptionOptions = null, + keyConnectorUserDecryptionOptions = null, + ) }, tokens = AccountTokensJson( accessToken = null, diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/landing/LandingViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/landing/LandingViewModelTest.kt index 36311ec440..3c5e217905 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/landing/LandingViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/landing/LandingViewModelTest.kt @@ -74,6 +74,7 @@ class LandingViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ) @@ -206,6 +207,7 @@ class LandingViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ) val userState = UserState( activeUserId = "activeUserId", @@ -257,6 +259,7 @@ class LandingViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ) val userState = UserState( activeUserId = "activeUserId", diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/login/LoginViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/login/LoginViewModelTest.kt index e35ad90534..951d5c62db 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/login/LoginViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/login/LoginViewModelTest.kt @@ -130,6 +130,7 @@ class LoginViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ) diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/vaultunlock/VaultUnlockViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/vaultunlock/VaultUnlockViewModelTest.kt index 2d87e3c6e6..5e1ff68d49 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/vaultunlock/VaultUnlockViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/vaultunlock/VaultUnlockViewModelTest.kt @@ -118,6 +118,7 @@ class VaultUnlockViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ) @@ -152,6 +153,7 @@ class VaultUnlockViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = true, organizations = emptyList(), + needsMasterPassword = false, ), ), ) @@ -728,6 +730,7 @@ private val DEFAULT_ACCOUNT = UserState.Account( needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ) private val DEFAULT_USER_STATE = UserState( diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModelTest.kt index c60e38d6f5..97e7fc2066 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModelTest.kt @@ -50,6 +50,7 @@ class RootNavViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ), @@ -76,6 +77,7 @@ class RootNavViewModelTest : BaseViewModelTest() { needsPasswordReset = true, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ), @@ -103,6 +105,7 @@ class RootNavViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), hasPendingAccountAddition = true, @@ -130,6 +133,7 @@ class RootNavViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ), @@ -165,6 +169,7 @@ class RootNavViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ), @@ -200,6 +205,7 @@ class RootNavViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ), @@ -241,6 +247,7 @@ class RootNavViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ), @@ -273,6 +280,7 @@ class RootNavViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ), diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/search/SearchViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/search/SearchViewModelTest.kt index 6983a5c135..6dfce38512 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/search/SearchViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/search/SearchViewModelTest.kt @@ -1365,6 +1365,7 @@ private val DEFAULT_USER_STATE = UserState( needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ) diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/loginapproval/LoginApprovalViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/loginapproval/LoginApprovalViewModelTest.kt index 58accc4f66..f87ab6eac3 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/loginapproval/LoginApprovalViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/loginapproval/LoginApprovalViewModelTest.kt @@ -297,6 +297,7 @@ private val DEFAULT_USER_STATE = UserState( isVaultUnlocked = true, needsPasswordReset = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ) diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/generator/GeneratorViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/generator/GeneratorViewModelTest.kt index d1b9b19c83..24eb0ddba5 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/generator/GeneratorViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/generator/GeneratorViewModelTest.kt @@ -2175,6 +2175,7 @@ private val DEFAULT_USER_STATE = UserState( needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ) diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/addsend/AddSendViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/addsend/AddSendViewModelTest.kt index 9a5cd54e79..43d8ce96d8 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/addsend/AddSendViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/addsend/AddSendViewModelTest.kt @@ -1097,6 +1097,7 @@ class AddSendViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ) private val DEFAULT_USER_STATE = UserState( diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt index 7435839a9d..f3b1ee4361 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt @@ -2454,6 +2454,7 @@ class VaultAddEditViewModelTest : BaseViewModelTest() { ), isBiometricsEnabled = true, vaultUnlockType = VaultUnlockType.MASTER_PASSWORD, + needsMasterPassword = false, ), ), hasPendingAccountAddition = false, diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/util/CipherViewExtensionsTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/util/CipherViewExtensionsTest.kt index 7ee17644e9..c826cc67cf 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/util/CipherViewExtensionsTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/util/CipherViewExtensionsTest.kt @@ -418,6 +418,7 @@ class CipherViewExtensionsTest { ), isBiometricsEnabled = true, vaultUnlockType = VaultUnlockType.MASTER_PASSWORD, + needsMasterPassword = false, ) } diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/attachments/AttachmentsViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/attachments/AttachmentsViewModelTest.kt index 2818b78bba..9f08587c33 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/attachments/AttachmentsViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/attachments/AttachmentsViewModelTest.kt @@ -556,6 +556,7 @@ private val DEFAULT_USER_STATE = UserState( needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ) diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt index 3c9f6edc14..1e4b093650 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt @@ -1916,6 +1916,7 @@ class VaultItemViewModelTest : BaseViewModelTest() { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ) diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt index a7e72c7fe5..0013766add 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt @@ -1436,6 +1436,7 @@ private val DEFAULT_ACCOUNT = UserState.Account( needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ) private val DEFAULT_USER_STATE = UserState( diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/movetoorganization/VaultMoveToOrganizationViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/movetoorganization/VaultMoveToOrganizationViewModelTest.kt index f4081f351f..4518b36f24 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/movetoorganization/VaultMoveToOrganizationViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/movetoorganization/VaultMoveToOrganizationViewModelTest.kt @@ -476,6 +476,7 @@ private val DEFAULT_USER_STATE = UserState( isVaultUnlocked = true, needsPasswordReset = false, isBiometricsEnabled = false, + needsMasterPassword = false, organizations = listOf( Organization( id = "mockOrganizationId-1", diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/movetoorganization/util/VaultMoveToOrganizationExtensionsTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/movetoorganization/util/VaultMoveToOrganizationExtensionsTest.kt index 295d223506..056d1a850b 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/movetoorganization/util/VaultMoveToOrganizationExtensionsTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/movetoorganization/util/VaultMoveToOrganizationExtensionsTest.kt @@ -96,6 +96,7 @@ private fun createMockUserState(hasOrganizations: Boolean = true): UserState = isVaultUnlocked = true, needsPasswordReset = false, isBiometricsEnabled = false, + needsMasterPassword = false, organizations = if (hasOrganizations) { listOf( Organization( diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModelTest.kt index 971a247545..a4fcb3dfa9 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModelTest.kt @@ -176,6 +176,7 @@ class VaultViewModelTest : BaseViewModelTest() { isVaultUnlocked = true, needsPasswordReset = false, isBiometricsEnabled = false, + needsMasterPassword = false, organizations = listOf( Organization( id = "organiationId", @@ -253,6 +254,7 @@ class VaultViewModelTest : BaseViewModelTest() { isVaultUnlocked = true, needsPasswordReset = false, isBiometricsEnabled = false, + needsMasterPassword = false, organizations = listOf( Organization( id = "organizationId", @@ -1470,6 +1472,7 @@ private val DEFAULT_USER_STATE = UserState( needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), UserState.Account( userId = "lockedUserId", @@ -1483,6 +1486,7 @@ private val DEFAULT_USER_STATE = UserState( needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ), ), ) diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/vault/util/UserStateExtensionsTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/vault/util/UserStateExtensionsTest.kt index bd928a8385..ead0f6dd01 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/vault/util/UserStateExtensionsTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/vault/util/UserStateExtensionsTest.kt @@ -71,6 +71,7 @@ class UserStateExtensionsTest { isVaultUnlocked = true, needsPasswordReset = false, isBiometricsEnabled = false, + needsMasterPassword = false, organizations = listOf( Organization( id = "organizationId", @@ -89,6 +90,7 @@ class UserStateExtensionsTest { isVaultUnlocked = false, needsPasswordReset = false, isBiometricsEnabled = false, + needsMasterPassword = false, organizations = listOf( Organization( id = "organizationId", @@ -111,6 +113,7 @@ class UserStateExtensionsTest { isVaultUnlocked = true, needsPasswordReset = false, isBiometricsEnabled = false, + needsMasterPassword = false, organizations = listOf( Organization( id = "organizationId", @@ -133,6 +136,7 @@ class UserStateExtensionsTest { isVaultUnlocked = false, needsPasswordReset = false, isBiometricsEnabled = false, + needsMasterPassword = false, organizations = listOf( Organization( id = "organizationId", @@ -170,6 +174,7 @@ class UserStateExtensionsTest { isVaultUnlocked = true, needsPasswordReset = false, isBiometricsEnabled = false, + needsMasterPassword = false, organizations = listOf( Organization( id = "organizationId", @@ -205,6 +210,7 @@ class UserStateExtensionsTest { isVaultUnlocked = false, needsPasswordReset = false, isBiometricsEnabled = false, + needsMasterPassword = false, organizations = listOf( Organization( id = "organizationId", @@ -244,6 +250,7 @@ class UserStateExtensionsTest { isVaultUnlocked = true, needsPasswordReset = false, isBiometricsEnabled = false, + needsMasterPassword = false, organizations = listOf( Organization( id = "organizationId", @@ -272,6 +279,7 @@ class UserStateExtensionsTest { needsPasswordReset = false, isBiometricsEnabled = false, organizations = emptyList(), + needsMasterPassword = false, ) .toVaultFilterData(isIndividualVaultDisabled = false), ) @@ -307,6 +315,7 @@ class UserStateExtensionsTest { isVaultUnlocked = true, needsPasswordReset = false, isBiometricsEnabled = false, + needsMasterPassword = false, organizations = listOf( Organization( id = "organizationId-B", @@ -353,6 +362,7 @@ class UserStateExtensionsTest { isVaultUnlocked = true, needsPasswordReset = false, isBiometricsEnabled = false, + needsMasterPassword = false, organizations = listOf( Organization( id = "organizationId-B",