summaryrefslogtreecommitdiffhomepage
path: root/android/app/src/test
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-06-30 10:47:50 +0200
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-06-30 14:47:24 +0200
commitb41caac4227c54a392973af54f0df22d56f47a02 (patch)
tree66444b4bfb8453b377aa627699bfebcda1e14c6a /android/app/src/test
parent31b184dc62f4ed3167721d79d10421fac9e30653 (diff)
downloadmullvadvpn-b41caac4227c54a392973af54f0df22d56f47a02.tar.xz
mullvadvpn-b41caac4227c54a392973af54f0df22d56f47a02.zip
Reset purchase state when closing the add time bottom sheet
Also immediately update the expiry date after a successful purchase
Diffstat (limited to 'android/app/src/test')
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt25
1 files changed, 8 insertions, 17 deletions
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt
index 3d4eb07905..6ee7bd2f81 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt
@@ -139,44 +139,35 @@ class AddTimeViewModelTest {
}
@Test
- fun `onClosePurchaseResultDialog with success should invoke fetchAccountExpiry on AccountRepository`() {
+ fun `purchaseState success should invoke getAccountData on AccountRepository`() {
// Arrange
+ val purchaseResultData = PurchaseResult.Completed.Success(ProductId("one_month"))
// Act
- viewModel.onClosePurchaseResultDialog(success = true)
+ purchaseResult.value = purchaseResultData
// Assert
coVerify { mockAccountRepository.getAccountData() }
}
@Test
- fun `onClosePurchaseResultDialog with success should invoke resetPurchaseResult on PaymentUseCase`() {
- // Arrange
-
- // Act
- viewModel.onClosePurchaseResultDialog(success = true)
-
- // Assert
- coVerify { mockPaymentUseCase.resetPurchaseResult() }
- }
-
- @Test
- fun `onClosePurchaseResultDialog with success false should invoke queryPaymentAvailability on PaymentUseCase`() {
+ fun `purchaseState error should invoke queryPaymentAvailability on PaymentUseCase`() {
// Arrange
+ val purchaseResultData = PurchaseResult.Error.VerificationError(Throwable())
// Act
- viewModel.onClosePurchaseResultDialog(success = false)
+ purchaseResult.value = purchaseResultData
// Assert
coVerify { mockPaymentUseCase.queryPaymentAvailability() }
}
@Test
- fun `onClosePurchaseResultDialog with success false should invoke resetPurchaseResult on PaymentUseCase`() {
+ fun `resetPurchaseResult with success should invoke resetPurchaseResult on PaymentUseCase`() {
// Arrange
// Act
- viewModel.onClosePurchaseResultDialog(success = false)
+ viewModel.resetPurchaseResult()
// Assert
coVerify { mockPaymentUseCase.resetPurchaseResult() }