BIT-1592: Adding element IDs for search and search sends (#906)

This commit is contained in:
Joshua Queen 2024-01-31 14:42:43 -05:00 committed by Álison Fernandes
parent 608779ba68
commit 9adbc181fd
4 changed files with 24 additions and 4 deletions

View file

@ -13,6 +13,8 @@ import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
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.BitwardenBasicDialogRow
@ -138,6 +140,7 @@ fun SearchContent(
}
.toPersistentList(),
modifier = Modifier
.semantics { testTag = "CipherCell" }
.fillMaxWidth()
.padding(
start = 16.dp,

View file

@ -12,11 +12,15 @@ import androidx.compose.material3.rememberTopAppBarState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.platform.LocalContext
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.semantics.testTagsAsResourceId
import androidx.compose.ui.unit.dp
import androidx.core.net.toUri
import androidx.hilt.navigation.compose.hiltViewModel
@ -43,7 +47,7 @@ import kotlinx.collections.immutable.toImmutableList
* The search UI for vault items or send items.
*/
@Suppress("LongMethod")
@OptIn(ExperimentalMaterial3Api::class)
@OptIn(ExperimentalMaterial3Api::class, ExperimentalComposeUiApi::class)
@Composable
fun SearchScreen(
onNavigateBack: () -> Unit,
@ -90,10 +94,14 @@ fun SearchScreen(
navigationIconContentDescription = stringResource(id = R.string.back),
onNavigationIconClick = searchHandlers.onBackClick,
),
modifier = Modifier.bottomDivider(),
modifier = Modifier
.semantics { testTag = "SearchFieldEntry" }
.bottomDivider(),
)
},
modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
modifier = Modifier
.semantics { testTagsAsResourceId = true }
.nestedScroll(scrollBehavior.nestedScrollConnection),
) { innerPadding ->
Column(
modifier = Modifier

View file

@ -11,6 +11,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
@ -91,6 +93,7 @@ fun SendContent(
null
},
modifier = Modifier
.semantics { testTag = "SendCell" }
.padding(
start = 16.dp,
// There is some built-in padding to the menu button that makes up

View file

@ -13,8 +13,12 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.testTag
import androidx.compose.ui.semantics.testTagsAsResourceId
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import com.x8bit.bitwarden.R
@ -22,19 +26,21 @@ import com.x8bit.bitwarden.R
/**
* Content for the empty state of the [SendScreen].
*/
@OptIn(ExperimentalComposeUiApi::class)
@Composable
fun SendEmpty(
onAddItemClick: () -> Unit,
modifier: Modifier = Modifier,
) {
Column(
modifier = modifier,
modifier = modifier.semantics { testTagsAsResourceId = true },
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally,
) {
Text(
textAlign = TextAlign.Center,
modifier = Modifier
.semantics { testTag = "NoSearchResultsLabel" }
.fillMaxWidth()
.padding(horizontal = 16.dp),
text = stringResource(id = R.string.no_sends),