diff options
| author | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2023-07-11 16:07:50 +0200 |
|---|---|---|
| committer | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2023-07-14 11:11:19 +0200 |
| commit | b82f65d4b19f4e534cdd69e8ead7f79aa176c6b2 (patch) | |
| tree | 4d3b43e32de8277d3f2eb3ae43e2cf8a4be4a041 /android/app/src/main | |
| parent | c3f986e4ca32c345ae02715302a5f3c7279509b0 (diff) | |
| download | mullvadvpn-b82f65d4b19f4e534cdd69e8ead7f79aa176c6b2.tar.xz mullvadvpn-b82f65d4b19f4e534cdd69e8ead7f79aa176c6b2.zip | |
Add ConnectScreen instrumental tests
Diffstat (limited to 'android/app/src/main')
3 files changed, 40 insertions, 11 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/button/ConnectionButton.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/button/ConnectionButton.kt index 7722ef0533..ca92eb290c 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/button/ConnectionButton.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/button/ConnectionButton.kt @@ -15,6 +15,7 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight @@ -31,6 +32,7 @@ import net.mullvad.talpid.tunnel.ActionAfterDisconnect @Composable fun ConnectionButton( modifier: Modifier = Modifier, + reconnectButtonTestTag: String = "", state: TunnelState, disconnectClick: () -> Unit, reconnectClick: () -> Unit, @@ -48,14 +50,16 @@ fun ConnectionButton( modifier = modifier, text = stringResource(id = R.string.disconnect), mainClick = connectClick, - reconnectClick = reconnectClick + reconnectClick = reconnectClick, + reconnectButtonTestTag = reconnectButtonTestTag ) ActionAfterDisconnect.Reconnect -> DisconnectButton( modifier = modifier, text = stringResource(id = R.string.disconnect), mainClick = connectClick, - reconnectClick = reconnectClick + reconnectClick = reconnectClick, + reconnectButtonTestTag = reconnectButtonTestTag ) } } @@ -64,14 +68,16 @@ fun ConnectionButton( modifier = modifier, text = stringResource(id = R.string.cancel), mainClick = cancelClick, - reconnectClick = reconnectClick + reconnectClick = reconnectClick, + reconnectButtonTestTag = reconnectButtonTestTag ) is TunnelState.Connected -> DisconnectButton( modifier = modifier, text = stringResource(id = R.string.disconnect), mainClick = disconnectClick, - reconnectClick = reconnectClick + reconnectClick = reconnectClick, + reconnectButtonTestTag = reconnectButtonTestTag ) is TunnelState.Error -> { if (state.errorState.isBlocking) { @@ -79,14 +85,16 @@ fun ConnectionButton( modifier = modifier, text = stringResource(id = R.string.disconnect), mainClick = disconnectClick, - reconnectClick = reconnectClick + reconnectClick = reconnectClick, + reconnectButtonTestTag = reconnectButtonTestTag ) } else { DisconnectButton( modifier = modifier, text = stringResource(id = R.string.dismiss), mainClick = cancelClick, - reconnectClick = reconnectClick + reconnectClick = reconnectClick, + reconnectButtonTestTag = reconnectButtonTestTag ) } } @@ -124,6 +132,7 @@ private fun DisconnectButton( text: String, modifier: Modifier = Modifier, height: Dp = Dimens.connectButtonHeight, + reconnectButtonTestTag: String = "", mainClick: () -> Unit, reconnectClick: () -> Unit ) { @@ -163,7 +172,7 @@ private fun DisconnectButton( contentColor = MaterialTheme.colorScheme.onError ), onClick = reconnectClick, - modifier = Modifier.height(height).aspectRatio(1f, true) + modifier = Modifier.height(height).aspectRatio(1f, true).testTag(reconnectButtonTestTag) ) { Icon(painter = painterResource(id = R.drawable.icon_reload), contentDescription = null) } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ConnectScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ConnectScreen.kt index cfc7dab08f..b6b31b7f3b 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ConnectScreen.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ConnectScreen.kt @@ -18,6 +18,7 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import net.mullvad.mullvadvpn.R @@ -26,6 +27,11 @@ import net.mullvad.mullvadvpn.compose.button.SwitchLocationButton import net.mullvad.mullvadvpn.compose.component.ConnectionStatusText import net.mullvad.mullvadvpn.compose.component.LocationInfo import net.mullvad.mullvadvpn.compose.state.ConnectUiState +import net.mullvad.mullvadvpn.compose.test.CIRCULAR_PROGRESS_INDICATOR +import net.mullvad.mullvadvpn.compose.test.CONNECT_BUTTON_TEST_TAG +import net.mullvad.mullvadvpn.compose.test.LOCATION_INFO_TEST_TAG +import net.mullvad.mullvadvpn.compose.test.RECONNECT_BUTTON_TEST_TAG +import net.mullvad.mullvadvpn.compose.test.SELECT_LOCATION_BUTTON_TEST_TAG import net.mullvad.mullvadvpn.compose.theme.AppTheme import net.mullvad.mullvadvpn.compose.theme.Dimens import net.mullvad.mullvadvpn.model.TunnelState @@ -72,6 +78,7 @@ fun ConnectScreen( height = Dimens.progressIndicatorSize ) .align(Alignment.CenterHorizontally) + .testTag(CIRCULAR_PROGRESS_INDICATOR) ) } Spacer(modifier = Modifier.height(Dimens.smallPadding)) @@ -93,11 +100,14 @@ fun ConnectScreen( location = uiState.location, inAddress = uiState.inAddress, outAddress = uiState.outAddress, - modifier = Modifier.fillMaxWidth() + modifier = Modifier.fillMaxWidth().testTag(LOCATION_INFO_TEST_TAG) ) Spacer(modifier = Modifier.height(Dimens.buttonSeparation)) SwitchLocationButton( - modifier = Modifier.fillMaxWidth().height(Dimens.selectLocationButtonHeight), + modifier = + Modifier.fillMaxWidth() + .height(Dimens.selectLocationButtonHeight) + .testTag(SELECT_LOCATION_BUTTON_TEST_TAG), onClick = onSwitchLocationClick, showChevron = uiState.showLocation, text = @@ -110,11 +120,15 @@ fun ConnectScreen( Spacer(modifier = Modifier.height(Dimens.buttonSeparation)) ConnectionButton( state = uiState.tunnelUiState, - modifier = Modifier.fillMaxWidth().height(Dimens.connectButtonHeight), + modifier = + Modifier.fillMaxWidth() + .height(Dimens.connectButtonHeight) + .testTag(CONNECT_BUTTON_TEST_TAG), disconnectClick = onDisconnectClick, reconnectClick = onReconnectClick, cancelClick = onCancelClick, connectClick = onConnectClick, + reconnectButtonTestTag = RECONNECT_BUTTON_TEST_TAG ) } } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/test/ComposeTestTagConstants.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/test/ComposeTestTagConstants.kt index 536a343594..f896183bcb 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/test/ComposeTestTagConstants.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/test/ComposeTestTagConstants.kt @@ -11,5 +11,11 @@ const val LAZY_LIST_WIREGUARD_CUSTOM_PORT_TEXT_TEST_TAG = const val LAZY_LIST_WIREGUARD_CUSTOM_PORT_NUMBER_TEST_TAG = "lazy_list_wireguard_custom_port_number_test_tag" -// SelectLocationScreen +// SelectLocationScreen, ConnectScreen const val CIRCULAR_PROGRESS_INDICATOR = "circular_progress_indicator" + +// ConnectScreen +const val SELECT_LOCATION_BUTTON_TEST_TAG = "select_location_button_test_tag" +const val CONNECT_BUTTON_TEST_TAG = "connect_button_test_tag" +const val RECONNECT_BUTTON_TEST_TAG = "reconnect_button_test_tag" +const val LOCATION_INFO_TEST_TAG = "location_info_test_tag" |
