@@ -33,12 +33,12 @@ import androidx.compose.ui.focus.focusRequester
3333import androidx.compose.ui.graphics.ColorFilter
3434import androidx.compose.ui.platform.LocalFocusManager
3535import androidx.compose.ui.platform.LocalSoftwareKeyboardController
36+ import androidx.compose.ui.platform.testTag
3637import androidx.compose.ui.res.painterResource
3738import androidx.compose.ui.res.stringResource
3839import androidx.compose.ui.text.font.FontWeight
3940import androidx.compose.ui.text.input.KeyboardType
4041import androidx.compose.ui.text.input.VisualTransformation
41- import androidx.compose.ui.text.style.TextAlign
4242import androidx.compose.ui.unit.dp
4343import androidx.compose.ui.unit.sp
4444import cafe.adriel.voyager.core.registry.ScreenRegistry
@@ -52,8 +52,11 @@ import com.getcode.navigation.core.CodeNavigator
5252import com.getcode.navigation.core.LocalCodeNavigator
5353import com.getcode.theme.CodeTheme
5454import com.getcode.theme.inputColors
55+ import com.getcode.ui.core.MaskWithSpacesTransformation
5556import com.getcode.ui.core.rememberAnimationScale
5657import com.getcode.ui.core.scaled
58+ import com.getcode.ui.core.textFieldTestTag
59+ import com.getcode.ui.testing.LocalUiTesting
5760import com.getcode.ui.theme.ButtonState
5861import com.getcode.ui.theme.CodeButton
5962import com.getcode.ui.theme.CodeScaffold
@@ -146,9 +149,15 @@ private fun SeedInputContent(
146149 .padding(top = CodeTheme .dimens.grid.x3)
147150 .fillMaxWidth()
148151 .height(120 .dp)
149- .focusRequester(focusRequester),
152+ .focusRequester(focusRequester)
153+ .textFieldTestTag(" seed_input_field" ),
150154 keyboardOptions = KeyboardOptions (keyboardType = KeyboardType .Password ),
151- visualTransformation = VisualTransformation .None ,
155+ visualTransformation = if (LocalUiTesting .current) {
156+ // mask words if running in UI testing to not leak recovery phrase
157+ MaskWithSpacesTransformation ()
158+ } else {
159+ VisualTransformation .None
160+ },
152161 value = state.wordsString,
153162 onValueChange = { onTextChange(it) },
154163 textStyle = CodeTheme .typography.textLarge.copy(
@@ -189,7 +198,8 @@ private fun SeedInputContent(
189198 CodeButton (
190199 modifier = Modifier
191200 .fillMaxWidth()
192- .padding(bottom = CodeTheme .dimens.grid.x4),
201+ .padding(bottom = CodeTheme .dimens.grid.x4)
202+ .testTag(" login_confirm_button" ),
193203 onClick = {
194204 focusManager.clearFocus()
195205 onLogin()
0 commit comments