diff --git a/app/src/test/java/org/thoughtcrime/securesms/jobs/InAppPaymentRecurringContextJobTest.kt b/app/src/test/java/org/thoughtcrime/securesms/jobs/InAppPaymentRecurringContextJobTest.kt index d9d9fdac8c..747b5db685 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/jobs/InAppPaymentRecurringContextJobTest.kt +++ b/app/src/test/java/org/thoughtcrime/securesms/jobs/InAppPaymentRecurringContextJobTest.kt @@ -29,6 +29,7 @@ import org.thoughtcrime.securesms.database.model.databaseprotos.BadgeList import org.thoughtcrime.securesms.database.model.databaseprotos.InAppPaymentData import org.thoughtcrime.securesms.dependencies.AppDependencies import org.thoughtcrime.securesms.testutil.MockAppDependenciesRule +import org.thoughtcrime.securesms.testutil.MockSignalStoreRule import org.thoughtcrime.securesms.testutil.SystemOutLogger import org.whispersystems.signalservice.api.subscriptions.ActiveSubscription import org.whispersystems.signalservice.api.subscriptions.ActiveSubscription.ChargeFailure @@ -41,6 +42,9 @@ import kotlin.time.Duration.Companion.milliseconds @Config(manifest = Config.NONE, application = Application::class) class InAppPaymentRecurringContextJobTest { + @get:Rule + val mockSignalStore = MockSignalStoreRule() + @get:Rule val appDependencies = MockAppDependenciesRule() @@ -51,6 +55,9 @@ class InAppPaymentRecurringContextJobTest { fun setUp() { Log.initialize(SystemOutLogger()) + every { mockSignalStore.account.isRegistered } returns true + every { mockSignalStore.inAppPayments.setLastEndOfPeriod(any()) } returns Unit + mockkObject(InAppPaymentsRepository) every { InAppPaymentsRepository.generateRequestCredential() } returns mockk { every { serialize() } returns byteArrayOf() diff --git a/app/src/test/java/org/thoughtcrime/securesms/testutil/MockSignalStoreRule.kt b/app/src/test/java/org/thoughtcrime/securesms/testutil/MockSignalStoreRule.kt index d1ceb6e444..f3736f367e 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/testutil/MockSignalStoreRule.kt +++ b/app/src/test/java/org/thoughtcrime/securesms/testutil/MockSignalStoreRule.kt @@ -11,7 +11,9 @@ import io.mockk.mockkObject import io.mockk.unmockkObject import org.junit.rules.ExternalResource import org.thoughtcrime.securesms.keyvalue.AccountValues +import org.thoughtcrime.securesms.keyvalue.BackupValues import org.thoughtcrime.securesms.keyvalue.EmojiValues +import org.thoughtcrime.securesms.keyvalue.InAppPaymentValues import org.thoughtcrime.securesms.keyvalue.PhoneNumberPrivacyValues import org.thoughtcrime.securesms.keyvalue.RegistrationValues import org.thoughtcrime.securesms.keyvalue.SignalStore @@ -45,12 +47,20 @@ class MockSignalStoreRule(private val relaxed: Set> = emptySet()) : Ex lateinit var emoji: EmojiValues private set + lateinit var inAppPayments: InAppPaymentValues + private set + + lateinit var backup: BackupValues + private set + override fun before() { account = mockk(relaxed = relaxed.contains(AccountValues::class), relaxUnitFun = true) phoneNumberPrivacy = mockk(relaxed = relaxed.contains(PhoneNumberPrivacyValues::class), relaxUnitFun = true) registration = mockk(relaxed = relaxed.contains(RegistrationValues::class), relaxUnitFun = true) svr = mockk(relaxed = relaxed.contains(SvrValues::class), relaxUnitFun = true) emoji = mockk(relaxed = relaxed.contains(EmojiValues::class), relaxUnitFun = true) + inAppPayments = mockk(relaxed = relaxed.contains(InAppPaymentValues::class), relaxUnitFun = true) + backup = mockk(relaxed = relaxed.contains(BackupValues::class), relaxUnitFun = true) mockkObject(SignalStore) every { SignalStore.account } returns account @@ -58,6 +68,8 @@ class MockSignalStoreRule(private val relaxed: Set> = emptySet()) : Ex every { SignalStore.registration } returns registration every { SignalStore.svr } returns svr every { SignalStore.emoji } returns emoji + every { SignalStore.inAppPayments } returns inAppPayments + every { SignalStore.backup } returns backup } override fun after() {