diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultContent.kt b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultContent.kt index 85a7bbde7c..59ae366bdd 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultContent.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultContent.kt @@ -12,6 +12,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.semantics.testTag import androidx.compose.ui.unit.dp import com.x8bit.bitwarden.R import com.x8bit.bitwarden.ui.platform.components.BitwardenGroupItem @@ -36,7 +38,6 @@ fun VaultContent( modifier = modifier, ) { if (state.totpItemsCount > 0) { - item { BitwardenListHeaderTextWithSupportLabel( label = stringResource(id = R.string.totp), @@ -56,13 +57,13 @@ fun VaultContent( showDivider = true, modifier = Modifier .fillMaxWidth() + .semantics { testTag = "FolderFilter" } .padding(16.dp), ) } } if (state.favoriteItems.isNotEmpty()) { - item { BitwardenListHeaderTextWithSupportLabel( label = stringResource(id = R.string.favorites), @@ -99,6 +100,7 @@ fun VaultContent( }, modifier = Modifier .fillMaxWidth() + .semantics { testTag = "CipherCell" } .padding( start = 16.dp, // There is some built-in padding to the menu button that makes up @@ -142,6 +144,7 @@ fun VaultContent( showDivider = false, modifier = Modifier .fillMaxWidth() + .semantics { testTag = "LoginFilter" } .padding(horizontal = 16.dp), ) } @@ -155,6 +158,7 @@ fun VaultContent( showDivider = false, modifier = Modifier .fillMaxWidth() + .semantics { testTag = "CardFilter" } .padding(horizontal = 16.dp), ) } @@ -168,6 +172,7 @@ fun VaultContent( showDivider = false, modifier = Modifier .fillMaxWidth() + .semantics { testTag = "IdentityFilter" } .padding(horizontal = 16.dp), ) } @@ -181,6 +186,7 @@ fun VaultContent( showDivider = false, modifier = Modifier .fillMaxWidth() + .semantics { testTag = "SecureNoteFilter" } .padding(horizontal = 16.dp), ) } @@ -219,6 +225,7 @@ fun VaultContent( showDivider = false, modifier = Modifier .fillMaxWidth() + .semantics { testTag = "FolderFilter" } .padding(horizontal = 16.dp), ) } @@ -266,6 +273,7 @@ fun VaultContent( }, modifier = Modifier .fillMaxWidth() + .semantics { testTag = "CipherCell" } .padding(horizontal = 16.dp), ) } @@ -301,6 +309,7 @@ fun VaultContent( showDivider = false, modifier = Modifier .fillMaxWidth() + .semantics { testTag = "CollectionFilter" } .padding(horizontal = 16.dp), ) } @@ -339,6 +348,7 @@ fun VaultContent( showDivider = false, modifier = Modifier .fillMaxWidth() + .semantics { testTag = "TrashFilter" } .padding(horizontal = 16.dp), ) } diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultFilter.kt b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultFilter.kt index d9bb8cee47..98411bc81f 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultFilter.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultFilter.kt @@ -19,6 +19,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.semantics.testTag import androidx.compose.ui.unit.dp import com.x8bit.bitwarden.R import com.x8bit.bitwarden.ui.platform.base.util.bottomDivider @@ -73,6 +75,7 @@ fun VaultFilter( .scrolledContainerBackground(topAppBarScrollBehavior) .bottomDivider(color = MaterialTheme.colorScheme.outlineVariant) .padding(vertical = 8.dp) + .semantics { testTag = "ActiveFilterRow" } .then(modifier), verticalAlignment = Alignment.CenterVertically, ) { @@ -83,13 +86,16 @@ fun VaultFilter( ), style = MaterialTheme.typography.bodyLarge, color = MaterialTheme.colorScheme.onSurface, - modifier = Modifier.weight(1f), + modifier = Modifier + .semantics { testTag = "ActiveFilterLabel" } + .weight(1f), ) Spacer(modifier = Modifier.width(16.dp)) IconButton( onClick = { shouldShowSelectionDialog = true }, + modifier = Modifier.semantics { testTag = "OpenOrgFilter" }, ) { Icon( painter = painterResource(id = R.drawable.ic_more_horizontal), diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultScreen.kt b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultScreen.kt index 04c29e162c..0152102144 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultScreen.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/vault/VaultScreen.kt @@ -219,6 +219,7 @@ private fun VaultScreenScaffold( onClick = { updateAccountMenuVisibility(!accountMenuVisible) }, + actionTestTag = "AccountIconButton", ) BitwardenSearchActionItem( contentDescription = stringResource(id = R.string.search_vault),