summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2025-07-09 15:27:03 +0200
committerDavid Göransson <david.goransson@mullvad.net>2025-07-09 16:14:00 +0200
commit3dc372d8de2a6af3b571c54675fb666c031ed9f7 (patch)
tree7d7b2407a79ff0a9f28497d8af549d35533e4ea1 /android
parent92f6e03753f465d21d1577de2a297b6455429772 (diff)
downloadmullvadvpn-3dc372d8de2a6af3b571c54675fb666c031ed9f7.tar.xz
mullvadvpn-3dc372d8de2a6af3b571c54675fb666c031ed9f7.zip
Fix more flakiness
Diffstat (limited to 'android')
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt11
1 files changed, 7 insertions, 4 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 a40d1f02a2..7093df2e2f 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
@@ -79,12 +79,14 @@ class AddTimeViewModelTest {
@Test
fun `when paymentAvailability emits ErrorOther uiState should be null`() = runTest {
- // Arrange
- paymentAvailability.emit(PaymentAvailability.Error.Other(mockk()))
// Act, Assert
viewModel.uiState.test {
awaitItem() // Default state
+
+ // Emit an error with a mock exception
+ paymentAvailability.emit(PaymentAvailability.Error.Other(mockk()))
+
val result = awaitItem()
assertIs<Lc.Content<AddTimeUiState>>(result)
assertIs<PaymentState.Error.Generic>(result.value.billingPaymentState)
@@ -123,7 +125,7 @@ class AddTimeViewModelTest {
}
@Test
- fun `startBillingPayment should invoke purchaseProduct on PaymentUseCase`() {
+ fun `startBillingPayment should invoke purchaseProduct on PaymentUseCase`() = runTest {
// Arrange
val mockProductId = ProductId("MOCK")
val mockActivityProvider = mockk<() -> Activity>()
@@ -180,11 +182,12 @@ class AddTimeViewModelTest {
PaymentProduct(productId = productId, price = ProductPrice("€5.00"), status = null)
val result = PurchaseState.Success(productId)
val purchaseResultData = PurchaseResult.Completed.Success(ProductId("one_month"))
- paymentAvailability.emit(PaymentAvailability.ProductsAvailable(listOf(paymentProduct)))
// Act, Assert
viewModel.uiState.test {
awaitItem() // Default state
+ paymentAvailability.emit(PaymentAvailability.ProductsAvailable(listOf(paymentProduct)))
+ awaitItem()
purchaseResult.emit(purchaseResultData)
val item = awaitItem()
assertIs<Lc.Content<AddTimeUiState>>(item)