mirror of
https://github.com/bitwarden/android.git
synced 2026-05-11 02:15:43 -05:00
Ensure hasPremium value is set on profile (#534)
This commit is contained in:
@@ -17,14 +17,16 @@ import com.x8bit.bitwarden.ui.platform.base.util.toHexColorRepresentation
|
||||
fun UserStateJson.toUpdatedUserStateJson(
|
||||
syncResponse: SyncResponseJson,
|
||||
): UserStateJson {
|
||||
val userId = syncResponse.profile.id
|
||||
val syncProfile = syncResponse.profile
|
||||
val userId = syncProfile.id
|
||||
val account = this.accounts[userId] ?: return this
|
||||
val profile = account.profile
|
||||
// TODO: Update additional missing UserStateJson properties (BIT-916)
|
||||
val updatedProfile = profile
|
||||
.copy(
|
||||
avatarColorHex = syncResponse.profile.avatarColor,
|
||||
stamp = syncResponse.profile.securityStamp,
|
||||
avatarColorHex = syncProfile.avatarColor,
|
||||
stamp = syncProfile.securityStamp,
|
||||
hasPremium = syncProfile.isPremium || syncProfile.isPremiumFromOrganization,
|
||||
)
|
||||
val updatedAccount = account.copy(profile = updatedProfile)
|
||||
return this
|
||||
|
||||
@@ -83,6 +83,8 @@ class UserStateJsonExtensionsTest {
|
||||
every { id } returns "activeUserId"
|
||||
every { avatarColor } returns "avatarColor"
|
||||
every { securityStamp } returns "securityStamp"
|
||||
every { isPremium } returns true
|
||||
every { isPremiumFromOrganization } returns true
|
||||
}
|
||||
},
|
||||
),
|
||||
|
||||
@@ -2121,7 +2121,7 @@ private val MOCK_PROFILE = AccountJson.Profile(
|
||||
stamp = null,
|
||||
organizationId = null,
|
||||
avatarColorHex = null,
|
||||
hasPremium = true,
|
||||
hasPremium = false,
|
||||
forcePasswordResetReason = null,
|
||||
kdfType = null,
|
||||
kdfIterations = null,
|
||||
|
||||
Reference in New Issue
Block a user