diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/BankTransferDetailsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/BankTransferDetailsFragment.kt index 7ff0845c37..9ebf02ea83 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/BankTransferDetailsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/BankTransferDetailsFragment.kt @@ -243,7 +243,9 @@ private fun BankTransferDetailsContent( item { TextField( value = state.iban, - onValueChange = onIBANChanged, + onValueChange = { value -> + onIBANChanged(value.replace(" ", "")) + }, label = { Text(text = stringResource(id = R.string.BankTransferDetailsFragment__iban)) }, diff --git a/app/src/test/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/IBANValidatorTest.kt b/app/src/test/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/IBANValidatorTest.kt index bf927277f0..af99c6e13a 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/IBANValidatorTest.kt +++ b/app/src/test/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/IBANValidatorTest.kt @@ -10,11 +10,19 @@ import org.junit.Test class IBANValidatorTest { companion object { + private const val FI_IBAN = "FI2112345600000785" private const val VALID_IBAN = "GB82WEST12345698765432" private const val INVALID_IBAN = "GB82WEST12335698765432" private const val INVALID_COUNTRY = "US82WEST12335698765432" } + @Test + fun `Given a finnish IBAN, when I validate, then I expect POTENTIALLY_VALID`() { + val actual = IBANValidator.validate(FI_IBAN, false) + + assertEquals(IBANValidator.Validity.COMPLETELY_VALID, actual) + } + @Test fun `Given a blank IBAN, when I validate, then I expect POTENTIALLY_VALID`() { val actual = IBANValidator.validate("", false)