summaryrefslogtreecommitdiffhomepage
path: root/android/lib/model/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'android/lib/model/src/test')
-rw-r--r--android/lib/model/src/test/kotlin/net/mullvad/mullvadvpn/lib/model/VoucherCodeTest.kt34
1 files changed, 34 insertions, 0 deletions
diff --git a/android/lib/model/src/test/kotlin/net/mullvad/mullvadvpn/lib/model/VoucherCodeTest.kt b/android/lib/model/src/test/kotlin/net/mullvad/mullvadvpn/lib/model/VoucherCodeTest.kt
new file mode 100644
index 0000000000..270e8b2503
--- /dev/null
+++ b/android/lib/model/src/test/kotlin/net/mullvad/mullvadvpn/lib/model/VoucherCodeTest.kt
@@ -0,0 +1,34 @@
+package net.mullvad.mullvadvpn.lib.model
+
+import kotlin.test.assertEquals
+import kotlin.test.assertTrue
+import org.junit.jupiter.api.Test
+
+class VoucherCodeTest {
+ @Test
+ fun `parsing a too short voucher code should return TooShort`() {
+ val input = "mycode"
+ val result = VoucherCode.fromString(input)
+
+ assertTrue(result.isLeft())
+ assertEquals(ParseVoucherCodeError.TooShort(input), result.leftOrNull())
+ }
+
+ @Test
+ fun `numbers only should not be allowed`() {
+ val input = "1234123412341234"
+ val result = VoucherCode.fromString(input)
+
+ assertTrue(result.isLeft())
+ assertEquals(ParseVoucherCodeError.AllDigit(input), result.leftOrNull())
+ }
+
+ @Test
+ fun `number only input when too short should return TooShort`() {
+ val input = "123412341234"
+ val result = VoucherCode.fromString(input)
+
+ assertTrue(result.isLeft())
+ assertEquals(ParseVoucherCodeError.TooShort(input), result.leftOrNull())
+ }
+}