mirror of
https://github.com/bitwarden/android.git
synced 2026-06-07 23:58:03 -05:00
Adding in tests for the custom type fields (#398)
This commit is contained in:
committed by
Álison Fernandes
parent
5235310de5
commit
6f85d80f9f
@@ -15,9 +15,9 @@ import com.x8bit.bitwarden.ui.platform.base.BaseViewModel
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.Text
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.asText
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.concat
|
||||
import com.x8bit.bitwarden.ui.vault.feature.additem.VaultAddItemAction.ItemType.SecureNotesType.TooltipClick.toCustomField
|
||||
import com.x8bit.bitwarden.ui.vault.feature.additem.model.CustomFieldType
|
||||
import com.x8bit.bitwarden.ui.vault.feature.additem.util.toViewState
|
||||
import com.x8bit.bitwarden.ui.vault.feature.additem.model.toCustomField
|
||||
import com.x8bit.bitwarden.ui.vault.feature.vault.util.toCipherView
|
||||
import com.x8bit.bitwarden.ui.vault.model.VaultAddEditType
|
||||
import com.x8bit.bitwarden.ui.vault.model.VaultLinkedFieldType
|
||||
@@ -29,7 +29,6 @@ import kotlinx.coroutines.flow.update
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.parcelize.IgnoredOnParcel
|
||||
import kotlinx.parcelize.Parcelize
|
||||
import java.util.UUID
|
||||
import javax.inject.Inject
|
||||
|
||||
private const val KEY_STATE = "state"
|
||||
@@ -1320,43 +1319,4 @@ sealed class VaultAddItemAction {
|
||||
val updateCipherResult: UpdateCipherResult,
|
||||
) : Internal()
|
||||
}
|
||||
|
||||
/**
|
||||
* An extension function for adding custom field types.
|
||||
*/
|
||||
fun CustomFieldType.toCustomField(name: String): VaultAddItemState.Custom {
|
||||
return when (this) {
|
||||
CustomFieldType.BOOLEAN -> {
|
||||
VaultAddItemState.Custom.BooleanField(
|
||||
itemId = UUID.randomUUID().toString(),
|
||||
name = name,
|
||||
value = false,
|
||||
)
|
||||
}
|
||||
|
||||
CustomFieldType.LINKED -> {
|
||||
VaultAddItemState.Custom.LinkedField(
|
||||
itemId = UUID.randomUUID().toString(),
|
||||
name = name,
|
||||
vaultLinkedFieldType = VaultLinkedFieldType.USERNAME,
|
||||
)
|
||||
}
|
||||
|
||||
CustomFieldType.HIDDEN -> {
|
||||
VaultAddItemState.Custom.HiddenField(
|
||||
itemId = UUID.randomUUID().toString(),
|
||||
name = name,
|
||||
value = "",
|
||||
)
|
||||
}
|
||||
|
||||
CustomFieldType.TEXT -> {
|
||||
VaultAddItemState.Custom.TextField(
|
||||
itemId = UUID.randomUUID().toString(),
|
||||
name = name,
|
||||
value = "",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,9 @@ package com.x8bit.bitwarden.ui.vault.feature.additem.model
|
||||
import com.x8bit.bitwarden.R
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.Text
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.asText
|
||||
import com.x8bit.bitwarden.ui.vault.feature.additem.VaultAddItemState
|
||||
import com.x8bit.bitwarden.ui.vault.model.VaultLinkedFieldType
|
||||
import java.util.UUID
|
||||
|
||||
/**
|
||||
* The Enum representing the Custom Field type that is being added by the user.
|
||||
@@ -13,3 +16,44 @@ enum class CustomFieldType(val typeText: Text) {
|
||||
BOOLEAN(R.string.field_type_boolean.asText()),
|
||||
TEXT(R.string.field_type_text.asText()),
|
||||
}
|
||||
|
||||
/**
|
||||
* A function that converts [CustomFieldType] and a string to [VaultAddItemState.Custom].
|
||||
*/
|
||||
fun CustomFieldType.toCustomField(
|
||||
name: String,
|
||||
): VaultAddItemState.Custom {
|
||||
return when (this) {
|
||||
CustomFieldType.BOOLEAN -> {
|
||||
VaultAddItemState.Custom.BooleanField(
|
||||
itemId = UUID.randomUUID().toString(),
|
||||
name = name,
|
||||
value = false,
|
||||
)
|
||||
}
|
||||
|
||||
CustomFieldType.LINKED -> {
|
||||
VaultAddItemState.Custom.LinkedField(
|
||||
itemId = UUID.randomUUID().toString(),
|
||||
name = name,
|
||||
vaultLinkedFieldType = VaultLinkedFieldType.USERNAME,
|
||||
)
|
||||
}
|
||||
|
||||
CustomFieldType.HIDDEN -> {
|
||||
VaultAddItemState.Custom.HiddenField(
|
||||
itemId = UUID.randomUUID().toString(),
|
||||
name = name,
|
||||
value = "",
|
||||
)
|
||||
}
|
||||
|
||||
CustomFieldType.TEXT -> {
|
||||
VaultAddItemState.Custom.TextField(
|
||||
itemId = UUID.randomUUID().toString(),
|
||||
name = name,
|
||||
value = "",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user