diff options
| author | Albin <albin@mullvad.net> | 2024-06-07 18:51:56 +0200 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2024-06-10 10:36:18 +0200 |
| commit | f937ea54f41f947de8ddd606f6071f191fb1cdfb (patch) | |
| tree | ab5be555271de269a199dcfae85d6050610415b3 /android/app/src | |
| parent | 561c4d8262fde4d70c13fb1de0642bee521fbbe3 (diff) | |
| download | mullvadvpn-f937ea54f41f947de8ddd606f6071f191fb1cdfb.tar.xz mullvadvpn-f937ea54f41f947de8ddd606f6071f191fb1cdfb.zip | |
Unify account number naming
Use variations of "account number" rather than
"account token" throughout the kotlin code base.
Diffstat (limited to 'android/app/src')
14 files changed, 64 insertions, 64 deletions
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/WelcomeScreenTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/WelcomeScreenTest.kt index d60a7b100b..41c2c73d6a 100644 --- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/WelcomeScreenTest.kt +++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/WelcomeScreenTest.kt @@ -13,7 +13,7 @@ import net.mullvad.mullvadvpn.compose.setContentWithTheme import net.mullvad.mullvadvpn.compose.state.PaymentState import net.mullvad.mullvadvpn.compose.state.WelcomeUiState import net.mullvad.mullvadvpn.compose.test.PLAY_PAYMENT_INFO_ICON_TEST_TAG -import net.mullvad.mullvadvpn.lib.model.AccountToken +import net.mullvad.mullvadvpn.lib.model.AccountNumber import net.mullvad.mullvadvpn.lib.payment.model.PaymentProduct import net.mullvad.mullvadvpn.lib.payment.model.PaymentStatus import net.mullvad.mullvadvpn.lib.payment.model.ProductId @@ -83,7 +83,7 @@ class WelcomeScreenTest { fun testShowAccountNumber() = composeExtension.use { // Arrange - val rawAccountNumber = AccountToken("1111222233334444") + val rawAccountNumber = AccountNumber("1111222233334444") val expectedAccountNumber = "1111 2222 3333 4444" setContentWithTheme { WelcomeScreen( diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceListScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceListScreen.kt index e781c12de9..64414b38c0 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceListScreen.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceListScreen.kt @@ -54,7 +54,7 @@ import net.mullvad.mullvadvpn.compose.state.DeviceListUiState import net.mullvad.mullvadvpn.compose.transitions.DefaultTransition import net.mullvad.mullvadvpn.compose.util.CollectSideEffectWithLifecycle import net.mullvad.mullvadvpn.compose.util.showSnackbarImmediately -import net.mullvad.mullvadvpn.lib.model.AccountToken +import net.mullvad.mullvadvpn.lib.model.AccountNumber import net.mullvad.mullvadvpn.lib.model.Device import net.mullvad.mullvadvpn.lib.model.DeviceId import net.mullvad.mullvadvpn.lib.model.GetDeviceListError @@ -105,13 +105,13 @@ private fun PreviewDeviceListError() { @Composable fun DeviceList( navigator: DestinationsNavigator, - accountToken: String, + accountNumber: String, confirmRemoveResultRecipient: ResultRecipient<RemoveDeviceConfirmationDialogDestination, DeviceId> ) { val viewModel = koinViewModel<DeviceListViewModel>( - parameters = { parametersOf(AccountToken(accountToken)) } + parameters = { parametersOf(AccountNumber(accountNumber)) } ) val state by viewModel.uiState.collectAsStateWithLifecycle() @@ -148,7 +148,7 @@ fun DeviceList( snackbarHostState = snackbarHostState, onBackClick = navigator::navigateUp, onContinueWithLogin = { - navigator.navigate(LoginDestination(accountToken)) { + navigator.navigate(LoginDestination(accountNumber)) { launchSingleTop = true popUpTo(LoginDestination) { inclusive = true } } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt index f4f617ec93..9e5515649d 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt @@ -76,7 +76,7 @@ import net.mullvad.mullvadvpn.compose.test.LOGIN_TITLE_TEST_TAG import net.mullvad.mullvadvpn.compose.textfield.mullvadWhiteTextFieldColors import net.mullvad.mullvadvpn.compose.transitions.LoginTransition import net.mullvad.mullvadvpn.compose.util.CollectSideEffectWithLifecycle -import net.mullvad.mullvadvpn.compose.util.accountTokenVisualTransformation +import net.mullvad.mullvadvpn.compose.util.accountNumberVisualTransformation import net.mullvad.mullvadvpn.lib.theme.AppTheme import net.mullvad.mullvadvpn.lib.theme.Dimens import net.mullvad.mullvadvpn.lib.theme.color.AlphaTopBar @@ -118,16 +118,16 @@ private fun PreviewLoginSuccess() { @Composable fun Login( navigator: DestinationsNavigator, - accountToken: String? = null, + accountNumber: String? = null, vm: LoginViewModel = koinViewModel() ) { val state by vm.uiState.collectAsStateWithLifecycle() // Login with argument, e.g when user comes from Too Many Devices screen - LaunchedEffect(accountToken) { - if (accountToken != null) { - vm.onAccountNumberChange(accountToken) - vm.login(accountToken) + LaunchedEffect(accountNumber) { + if (accountNumber != null) { + vm.onAccountNumberChange(accountNumber) + vm.login(accountNumber) } } @@ -144,7 +144,7 @@ fun Login( popUpTo(NavGraphs.root) { inclusive = true } } is LoginUiSideEffect.TooManyDevices -> - navigator.navigate(DeviceListDestination(it.accountToken.value)) { + navigator.navigate(DeviceListDestination(it.accountNumber.value)) { launchSingleTop = true } LoginUiSideEffect.NavigateToOutOfTime -> @@ -291,7 +291,7 @@ private fun ColumnScope.LoginInput( onValueChange = onAccountNumberChange, singleLine = true, maxLines = 1, - visualTransformation = accountTokenVisualTransformation(), + visualTransformation = accountNumberVisualTransformation(), enabled = state.loginState is Idle, colors = mullvadWhiteTextFieldColors(), isError = state.loginState.isError(), @@ -299,13 +299,13 @@ private fun ColumnScope.LoginInput( AnimatedVisibility(visible = state.lastUsedAccount != null && expandedDropdown) { val token = state.lastUsedAccount?.value.orEmpty() - val accountTransformation = remember { accountTokenVisualTransformation() } + val accountTransformation = remember { accountNumberVisualTransformation() } val transformedText = remember(token) { accountTransformation.filter(AnnotatedString(token)).text } AccountDropDownItem( modifier = Modifier.onFocusChanged { ddFocusState = it }, - accountToken = transformedText.toString(), + accountNumber = transformedText.toString(), onClick = { state.lastUsedAccount?.let { onAccountNumberChange(it.value) @@ -379,7 +379,7 @@ private fun LoginState.supportingText(): String? { @Composable private fun AccountDropDownItem( modifier: Modifier = Modifier, - accountToken: String, + accountNumber: String, onClick: () -> Unit, onDeleteClick: () -> Unit ) { @@ -404,7 +404,7 @@ private fun AccountDropDownItem( .padding(horizontal = Dimens.mediumPadding, vertical = Dimens.smallPadding), contentAlignment = Alignment.CenterStart ) { - Text(text = accountToken, overflow = TextOverflow.Clip) + Text(text = accountNumber, overflow = TextOverflow.Clip) } IconButton(onClick = onDeleteClick) { Icon( diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/WelcomeScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/WelcomeScreen.kt index 29bc0c3306..342f115943 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/WelcomeScreen.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/WelcomeScreen.kt @@ -54,7 +54,7 @@ import net.mullvad.mullvadvpn.compose.transitions.HomeTransition import net.mullvad.mullvadvpn.compose.util.CollectSideEffectWithLifecycle import net.mullvad.mullvadvpn.compose.util.createCopyToClipboardHandle import net.mullvad.mullvadvpn.lib.common.util.groupWithSpaces -import net.mullvad.mullvadvpn.lib.model.AccountToken +import net.mullvad.mullvadvpn.lib.model.AccountNumber import net.mullvad.mullvadvpn.lib.payment.model.PaymentProduct import net.mullvad.mullvadvpn.lib.payment.model.ProductId import net.mullvad.mullvadvpn.lib.payment.model.ProductPrice @@ -72,7 +72,7 @@ private fun PreviewWelcomeScreen() { WelcomeScreen( state = WelcomeUiState( - accountNumber = AccountToken("4444555566667777"), + accountNumber = AccountNumber("4444555566667777"), deviceName = "Happy Mole", billingPaymentState = PaymentState.PaymentAvailable( diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/LoginUiState.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/LoginUiState.kt index 0babd243da..6b2f0e7d04 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/LoginUiState.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/LoginUiState.kt @@ -1,12 +1,12 @@ package net.mullvad.mullvadvpn.compose.state -import net.mullvad.mullvadvpn.lib.model.AccountToken +import net.mullvad.mullvadvpn.lib.model.AccountNumber const val MIN_ACCOUNT_LOGIN_LENGTH = 8 data class LoginUiState( val accountNumberInput: String = "", - val lastUsedAccount: AccountToken? = null, + val lastUsedAccount: AccountNumber? = null, val loginState: LoginState = LoginState.Idle(null) ) { val loginButtonEnabled = diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/WelcomeUiState.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/WelcomeUiState.kt index 02e8217172..dd9a57626c 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/WelcomeUiState.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/WelcomeUiState.kt @@ -1,11 +1,11 @@ package net.mullvad.mullvadvpn.compose.state -import net.mullvad.mullvadvpn.lib.model.AccountToken +import net.mullvad.mullvadvpn.lib.model.AccountNumber import net.mullvad.mullvadvpn.lib.model.TunnelState data class WelcomeUiState( val tunnelState: TunnelState = TunnelState.Disconnected(), - val accountNumber: AccountToken? = null, + val accountNumber: AccountNumber? = null, val deviceName: String? = null, val showSitePayment: Boolean = false, val billingPaymentState: PaymentState? = null, diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/AccountTokenVisualTransformation.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/AccountNumberVisualTransformation.kt index 3160ff9ac1..56426af6f4 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/AccountTokenVisualTransformation.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/AccountNumberVisualTransformation.kt @@ -5,22 +5,22 @@ import androidx.compose.ui.text.input.OffsetMapping import androidx.compose.ui.text.input.TransformedText import androidx.compose.ui.text.input.VisualTransformation -const val ACCOUNT_TOKEN_SEPARATOR = " " -const val ACCOUNT_TOKEN_CHUNK_SIZE = 4 +const val ACCOUNT_NUMBER_SEPARATOR = " " +const val ACCOUNT_NUMBER_CHUNK_SIZE = 4 -fun accountTokenVisualTransformation() = VisualTransformation { +fun accountNumberVisualTransformation() = VisualTransformation { val transformedString = - it.chunked(ACCOUNT_TOKEN_CHUNK_SIZE).joinToString(ACCOUNT_TOKEN_SEPARATOR) + it.chunked(ACCOUNT_NUMBER_CHUNK_SIZE).joinToString(ACCOUNT_NUMBER_SEPARATOR) val transformedAnnotatedString = AnnotatedString(transformedString) TransformedText( transformedAnnotatedString, object : OffsetMapping { override fun originalToTransformed(offset: Int): Int = - offset + (offset - 1) / ACCOUNT_TOKEN_CHUNK_SIZE + offset + (offset - 1) / ACCOUNT_NUMBER_CHUNK_SIZE override fun transformedToOriginal(offset: Int): Int = - offset - (offset - 1) / (ACCOUNT_TOKEN_CHUNK_SIZE + 1) + offset - (offset - 1) / (ACCOUNT_NUMBER_CHUNK_SIZE + 1) } ) } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/VoucherVisualTransformation.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/VoucherVisualTransformation.kt index c4d5eec0a1..2c97f20314 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/VoucherVisualTransformation.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/VoucherVisualTransformation.kt @@ -23,16 +23,16 @@ fun vouchersVisualTransformation() = VisualTransformation { text -> AnnotatedString(out), object : OffsetMapping { override fun originalToTransformed(offset: Int): Int { - val res = offset + offset / ACCOUNT_TOKEN_CHUNK_SIZE + val res = offset + offset / ACCOUNT_NUMBER_CHUNK_SIZE // Limit max input to 19 characters (16 voucher - 3 dividers) return min( res, - MAX_VOUCHER_LENGTH + MAX_VOUCHER_LENGTH / ACCOUNT_TOKEN_CHUNK_SIZE - 1 + MAX_VOUCHER_LENGTH + MAX_VOUCHER_LENGTH / ACCOUNT_NUMBER_CHUNK_SIZE - 1 ) } override fun transformedToOriginal(offset: Int): Int = - offset - offset / (ACCOUNT_TOKEN_CHUNK_SIZE + 1) + offset - offset / (ACCOUNT_NUMBER_CHUNK_SIZE + 1) } ) } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt index d2c8780606..b1c5736988 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt @@ -17,7 +17,7 @@ import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import net.mullvad.mullvadvpn.compose.state.DeviceItemUiState import net.mullvad.mullvadvpn.compose.state.DeviceListUiState -import net.mullvad.mullvadvpn.lib.model.AccountToken +import net.mullvad.mullvadvpn.lib.model.AccountNumber import net.mullvad.mullvadvpn.lib.model.Device import net.mullvad.mullvadvpn.lib.model.DeviceId import net.mullvad.mullvadvpn.lib.model.GetDeviceListError @@ -25,7 +25,7 @@ import net.mullvad.mullvadvpn.lib.shared.DeviceRepository class DeviceListViewModel( private val deviceRepository: DeviceRepository, - private val token: AccountToken, + private val token: AccountNumber, private val dispatcher: CoroutineDispatcher = Dispatchers.Default, ) : ViewModel() { private val loadingDevices = MutableStateFlow<Set<DeviceId>>(emptySet()) diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModel.kt index e568021177..fc2f5e86f9 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModel.kt @@ -24,7 +24,7 @@ import net.mullvad.mullvadvpn.compose.state.LoginState.Idle import net.mullvad.mullvadvpn.compose.state.LoginState.Loading import net.mullvad.mullvadvpn.compose.state.LoginState.Success import net.mullvad.mullvadvpn.compose.state.LoginUiState -import net.mullvad.mullvadvpn.lib.model.AccountToken +import net.mullvad.mullvadvpn.lib.model.AccountNumber import net.mullvad.mullvadvpn.lib.model.LoginAccountError import net.mullvad.mullvadvpn.lib.shared.AccountRepository import net.mullvad.mullvadvpn.usecase.ConnectivityUseCase @@ -40,7 +40,7 @@ sealed interface LoginUiSideEffect { data object NavigateToOutOfTime : LoginUiSideEffect - data class TooManyDevices(val accountToken: AccountToken) : LoginUiSideEffect + data class TooManyDevices(val accountNumber: AccountNumber) : LoginUiSideEffect } class LoginViewModel( @@ -55,15 +55,15 @@ class LoginViewModel( private val _uiSideEffect = Channel<LoginUiSideEffect>() val uiSideEffect = _uiSideEffect.receiveAsFlow() - private val _mutableAccountHistory: MutableStateFlow<AccountToken?> = MutableStateFlow(null) + private val _mutableAccountHistory: MutableStateFlow<AccountNumber?> = MutableStateFlow(null) private val _uiState = combine( _loginInput, _mutableAccountHistory, _loginState, - ) { loginInput, historyAccountToken, loginState -> - LoginUiState(loginInput, historyAccountToken, loginState) + ) { loginInput, historyAccountNumber, loginState -> + LoginUiState(loginInput, historyAccountNumber, loginState) } val uiState: StateFlow<LoginUiState> = @@ -94,7 +94,7 @@ class LoginViewModel( } } - fun login(accountToken: String) { + fun login(accountNumber: String) { if (!isInternetAvailable()) { _loginState.value = Idle(LoginError.NoInternetConnection) return @@ -103,7 +103,7 @@ class LoginViewModel( viewModelScope.launch(dispatcher) { // Ensure we always take at least MINIMUM_LOADING_SPINNER_TIME_MILLIS to show the // loading indicator - val result = async { accountRepository.login(AccountToken(accountToken)) } + val result = async { accountRepository.login(AccountNumber(accountNumber)) } delay(MINIMUM_LOADING_SPINNER_TIME_MILLIS) @@ -155,7 +155,7 @@ class LoginViewModel( when (this) { LoginAccountError.InvalidAccount -> Idle(LoginError.InvalidCredentials) is LoginAccountError.MaxDevicesReached -> - Idle().also { _uiSideEffect.send(LoginUiSideEffect.TooManyDevices(accountToken)) } + Idle().also { _uiSideEffect.send(LoginUiSideEffect.TooManyDevices(accountNumber)) } LoginAccountError.RpcError, is LoginAccountError.Unknown -> Idle(LoginError.Unknown(this.toString())) } diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/usecase/NewDeviceUseNotificationCaseTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/usecase/NewDeviceUseNotificationCaseTest.kt index b55da83f51..b139853471 100644 --- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/usecase/NewDeviceUseNotificationCaseTest.kt +++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/usecase/NewDeviceUseNotificationCaseTest.kt @@ -10,7 +10,7 @@ import kotlin.test.assertTrue import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.test.runTest import net.mullvad.mullvadvpn.lib.common.test.TestCoroutineRule -import net.mullvad.mullvadvpn.lib.model.AccountToken +import net.mullvad.mullvadvpn.lib.model.AccountNumber import net.mullvad.mullvadvpn.lib.model.Device import net.mullvad.mullvadvpn.lib.model.DeviceId import net.mullvad.mullvadvpn.lib.model.DeviceState @@ -29,7 +29,7 @@ class NewDeviceUseNotificationCaseTest { private val deviceState = MutableStateFlow<DeviceState?>( DeviceState.LoggedIn( - AccountToken("1234123412341234"), + AccountNumber("1234123412341234"), Device( id = DeviceId.fromString(UUID), name = deviceName, diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt index 362fc457f5..fd1a363e11 100644 --- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt +++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt @@ -15,7 +15,7 @@ import kotlinx.coroutines.test.runTest import net.mullvad.mullvadvpn.compose.state.PaymentState import net.mullvad.mullvadvpn.lib.common.test.TestCoroutineRule import net.mullvad.mullvadvpn.lib.common.test.assertLists -import net.mullvad.mullvadvpn.lib.model.AccountToken +import net.mullvad.mullvadvpn.lib.model.AccountNumber import net.mullvad.mullvadvpn.lib.model.Device import net.mullvad.mullvadvpn.lib.model.DeviceId import net.mullvad.mullvadvpn.lib.model.DeviceState @@ -46,8 +46,8 @@ class AccountViewModelTest { private val dummyDevice = Device(id = DeviceId.fromString(UUID), name = "fake_name", creationDate = DateTime.now()) - private val dummyAccountToken: AccountToken = - AccountToken( + private val dummyAccountNumber: AccountNumber = + AccountNumber( DUMMY_DEVICE_NAME, ) @@ -82,7 +82,7 @@ class AccountViewModelTest { viewModel.uiState.test { awaitItem() // Default state deviceState.value = - DeviceState.LoggedIn(accountToken = dummyAccountToken, device = dummyDevice) + DeviceState.LoggedIn(accountNumber = dummyAccountNumber, device = dummyDevice) val result = awaitItem() assertEquals(DUMMY_DEVICE_NAME, result.accountNumber) } diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModelTest.kt index d6eee6d941..1717ae6cc4 100644 --- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModelTest.kt +++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/LoginViewModelTest.kt @@ -24,7 +24,7 @@ import net.mullvad.mullvadvpn.compose.state.LoginState.Success import net.mullvad.mullvadvpn.compose.state.LoginUiState import net.mullvad.mullvadvpn.lib.common.test.TestCoroutineRule import net.mullvad.mullvadvpn.lib.model.AccountData -import net.mullvad.mullvadvpn.lib.model.AccountToken +import net.mullvad.mullvadvpn.lib.model.AccountNumber import net.mullvad.mullvadvpn.lib.model.LoginAccountError import net.mullvad.mullvadvpn.lib.shared.AccountRepository import net.mullvad.mullvadvpn.usecase.ConnectivityUseCase @@ -93,7 +93,7 @@ class LoginViewModelTest { // Arrange val uiStates = loginViewModel.uiState.testIn(backgroundScope) val sideEffects = loginViewModel.uiSideEffect.testIn(backgroundScope) - coEvery { mockedAccountRepository.createAccount() } returns DUMMY_ACCOUNT_TOKEN.right() + coEvery { mockedAccountRepository.createAccount() } returns DUMMY_ACCOUNT_NUMBER.right() // Act, Assert uiStates.skipDefaultItem() @@ -115,7 +115,7 @@ class LoginViewModelTest { // Act, Assert uiStates.skipDefaultItem() - loginViewModel.login(DUMMY_ACCOUNT_TOKEN.value) + loginViewModel.login(DUMMY_ACCOUNT_NUMBER.value) assertEquals(Loading.LoggingIn, uiStates.awaitItem().loginState) assertEquals(Success, uiStates.awaitItem().loginState) assertEquals(LoginUiSideEffect.NavigateToConnect, sideEffects.awaitItem()) @@ -131,7 +131,7 @@ class LoginViewModelTest { // Act, Assert skipDefaultItem() - loginViewModel.login(DUMMY_ACCOUNT_TOKEN.value) + loginViewModel.login(DUMMY_ACCOUNT_NUMBER.value) assertEquals(Loading.LoggingIn, awaitItem().loginState) assertEquals(Idle(loginError = LoginError.InvalidCredentials), awaitItem().loginState) } @@ -145,14 +145,14 @@ class LoginViewModelTest { val uiStates = loginViewModel.uiState.testIn(backgroundScope) val sideEffects = loginViewModel.uiSideEffect.testIn(backgroundScope) coEvery { mockedAccountRepository.login(any()) } returns - LoginAccountError.MaxDevicesReached(DUMMY_ACCOUNT_TOKEN).left() + LoginAccountError.MaxDevicesReached(DUMMY_ACCOUNT_NUMBER).left() // Act, Assert uiStates.skipDefaultItem() - loginViewModel.login(DUMMY_ACCOUNT_TOKEN.value) + loginViewModel.login(DUMMY_ACCOUNT_NUMBER.value) assertEquals(Loading.LoggingIn, uiStates.awaitItem().loginState) assertEquals( - LoginUiSideEffect.TooManyDevices(DUMMY_ACCOUNT_TOKEN), + LoginUiSideEffect.TooManyDevices(DUMMY_ACCOUNT_NUMBER), sideEffects.awaitItem() ) } @@ -167,7 +167,7 @@ class LoginViewModelTest { // Act, Assert skipDefaultItem() - loginViewModel.login(DUMMY_ACCOUNT_TOKEN.value) + loginViewModel.login(DUMMY_ACCOUNT_NUMBER.value) assertEquals(Loading.LoggingIn, awaitItem().loginState) assertEquals( Idle(LoginError.Unknown(EXPECTED_RPC_ERROR_MESSAGE)), @@ -185,7 +185,7 @@ class LoginViewModelTest { // Act, Assert skipDefaultItem() - loginViewModel.login(DUMMY_ACCOUNT_TOKEN.value) + loginViewModel.login(DUMMY_ACCOUNT_NUMBER.value) assertEquals(Loading.LoggingIn, awaitItem().loginState) val loginState = awaitItem().loginState assertIs<Idle>(loginState) @@ -197,12 +197,12 @@ class LoginViewModelTest { fun `on new accountHistory emission uiState should include lastUsedAccount matching accountHistory`() = runTest { // Arrange - coEvery { mockedAccountRepository.fetchAccountHistory() } returns DUMMY_ACCOUNT_TOKEN + coEvery { mockedAccountRepository.fetchAccountHistory() } returns DUMMY_ACCOUNT_NUMBER // Act, Assert loginViewModel.uiState.test { assertEquals( - LoginUiState.INITIAL.copy(lastUsedAccount = DUMMY_ACCOUNT_TOKEN), + LoginUiState.INITIAL.copy(lastUsedAccount = DUMMY_ACCOUNT_NUMBER), awaitItem() ) } @@ -220,7 +220,7 @@ class LoginViewModelTest { } companion object { - private val DUMMY_ACCOUNT_TOKEN = AccountToken("DUMMY") + private val DUMMY_ACCOUNT_NUMBER = AccountNumber("DUMMY") private const val EXPECTED_RPC_ERROR_MESSAGE = "RpcError" } } diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModelTest.kt index 3113450276..4aaa000047 100644 --- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModelTest.kt +++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModelTest.kt @@ -16,7 +16,7 @@ import net.mullvad.mullvadvpn.compose.state.PaymentState import net.mullvad.mullvadvpn.lib.common.test.TestCoroutineRule import net.mullvad.mullvadvpn.lib.common.test.assertLists import net.mullvad.mullvadvpn.lib.model.AccountData -import net.mullvad.mullvadvpn.lib.model.AccountToken +import net.mullvad.mullvadvpn.lib.model.AccountNumber import net.mullvad.mullvadvpn.lib.model.Device import net.mullvad.mullvadvpn.lib.model.DeviceState import net.mullvad.mullvadvpn.lib.model.TunnelState @@ -126,7 +126,7 @@ class WelcomeViewModelTest { fun `when DeviceRepository returns LoggedIn uiState should include new accountNumber`() = runTest { // Arrange - val expectedAccountNumber = AccountToken("4444555566667777") + val expectedAccountNumber = AccountNumber("4444555566667777") val device: Device = mockk() every { device.displayName() } returns "" @@ -136,7 +136,7 @@ class WelcomeViewModelTest { awaitItem() paymentAvailabilityFlow.value = null deviceStateFlow.value = - DeviceState.LoggedIn(accountToken = expectedAccountNumber, device = device) + DeviceState.LoggedIn(accountNumber = expectedAccountNumber, device = device) assertEquals(expectedAccountNumber, awaitItem().accountNumber) } } |
