Skip to content

Commit e12c64a

Browse files
committed
Fix voucher dialog view model tests
1 parent d1e3348 commit e12c64a

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/VoucherDialogViewModelTest.kt

+13-8
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import net.mullvad.mullvadvpn.compose.state.VoucherDialogState
1616
import net.mullvad.mullvadvpn.lib.common.test.TestCoroutineRule
1717
import net.mullvad.mullvadvpn.lib.model.RedeemVoucherError
1818
import net.mullvad.mullvadvpn.lib.model.RedeemVoucherSuccess
19+
import net.mullvad.mullvadvpn.lib.model.VoucherCode
1920
import net.mullvad.mullvadvpn.lib.shared.VoucherRepository
2021
import org.joda.time.DateTime
2122
import org.junit.jupiter.api.AfterEach
@@ -45,19 +46,20 @@ class VoucherDialogViewModelTest {
4546
@Test
4647
fun `ensure onRedeem invokes submit on VoucherRedeemer with same voucher code`() = runTest {
4748
val voucher = DUMMY_INVALID_VOUCHER
49+
val parsedVoucher = VoucherCode.fromString(voucher).getOrNull()!!
4850

4951
// Arrange
5052
val timeAdded = 0L
5153
val newExpiry = DateTime()
52-
coEvery { mockVoucherRepository.submitVoucher(voucher) } returns
54+
coEvery { mockVoucherRepository.submitVoucher(parsedVoucher) } returns
5355
RedeemVoucherSuccess(timeAdded, newExpiry).right()
5456

5557
// Act
5658
assertIs<VoucherDialogState.Default>(viewModel.uiState.value.voucherState)
5759
viewModel.onRedeem(voucher)
5860

5961
// Assert
60-
coVerify(exactly = 1) { mockVoucherRepository.submitVoucher(voucher) }
62+
coVerify(exactly = 1) { mockVoucherRepository.submitVoucher(parsedVoucher) }
6163
}
6264

6365
@Test
@@ -66,8 +68,9 @@ class VoucherDialogViewModelTest {
6668

6769
// Arrange
6870
every { mockVoucherSubmission.timeAdded } returns 0
69-
coEvery { mockVoucherRepository.submitVoucher(voucher) } returns
70-
RedeemVoucherError.InvalidVoucher.left()
71+
coEvery {
72+
mockVoucherRepository.submitVoucher(VoucherCode.fromString(voucher).getOrNull()!!)
73+
} returns RedeemVoucherError.InvalidVoucher.left()
7174

7275
// Act, Assert
7376
viewModel.uiState.test {
@@ -84,8 +87,9 @@ class VoucherDialogViewModelTest {
8487

8588
// Arrange
8689
every { mockVoucherSubmission.timeAdded } returns 0
87-
coEvery { mockVoucherRepository.submitVoucher(voucher) } returns
88-
RedeemVoucherSuccess(0, DateTime()).right()
90+
coEvery {
91+
mockVoucherRepository.submitVoucher(VoucherCode.fromString(voucher).getOrNull()!!)
92+
} returns RedeemVoucherSuccess(0, DateTime()).right()
8993

9094
// Act, Assert
9195
viewModel.uiState.test {
@@ -102,8 +106,9 @@ class VoucherDialogViewModelTest {
102106

103107
// Arrange
104108
every { mockVoucherSubmission.timeAdded } returns 0
105-
coEvery { mockVoucherRepository.submitVoucher(voucher) } returns
106-
RedeemVoucherError.VoucherAlreadyUsed.left()
109+
coEvery {
110+
mockVoucherRepository.submitVoucher(VoucherCode.fromString(voucher).getOrNull()!!)
111+
} returns RedeemVoucherError.VoucherAlreadyUsed.left()
107112

108113
// Act, Assert
109114
viewModel.uiState.test {

0 commit comments

Comments
 (0)