Successfully modified file: /home/Messier82/projects/service-book/app/src/testDebug/java/com/servicebook/data/billing/BillingManagerImplTest.kt (1 replacements). Here is the updated code: ... assertThat(billingManagerImpl.isPremium.value).isFalse() } @Test fun `FORCE_PENDING sets hasPendingPurchase to true and isPremium to false`() = testScope.runTest { preferences.setDebugBillingOverrideMode(DebugBillingOverrideMode.FORCE_PENDING) advanceUntilIdle() assertThat(billingManagerImpl.hasPendingPurchase.value).isTrue() assertThat(billingManagerImpl.isPremium.value).isFalse() val mockActivity = mockk(relaxed = true) val result = billingManagerImpl.launchPremiumPurchaseFlow(mockActivity) assertThat(result).isEqualTo(BillingLaunchResult.Success) // Ensure real BillingClient was NOT asked to launch flow or query details verify(exactly = 0) { mockBillingClient.launchBillingFlow(any(), any()) } } @Test fun `FORCE_PENDING makes restorePurchases return Success(hadPurchase=false)`() = testScope.runTest { preferences.setDebugBillingOverrideMode(DebugBillingOverrideMode.FORCE_PENDING) advanceUntilIdle() val result = billingManagerImpl.restorePurchases() assertThat(result).isEqualTo(RestoreResult.Success(hadPurchase = false)) verify(exactly = 0) { mockBillingClient.queryPurchasesAsync(any(), any()) } } @Test fun `FORCE_PREMIUM makes restorePurchases return Success(hadPurchase=true)`() = testScope.runTest { preferences.setDebugBillingOverrideMode(DebugBillingOverrideMode.FORCE_PREMIUM) advanceUntilIdle() ...