Skip to content

Commit

Permalink
Fixed tests
Browse files Browse the repository at this point in the history
  • Loading branch information
NachoSoto committed Oct 19, 2023
1 parent 18f4c3c commit b17fde0
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ internal object TestData {
Packages.weekly,
Packages.monthly,
Packages.annual,
Packages.lifetime,
),
metadata = mapOf(),
paywall = template2,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import com.revenuecat.purchases.Offerings
import com.revenuecat.purchases.Package
import com.revenuecat.purchases.PurchaseResult
import com.revenuecat.purchases.models.StoreTransaction
import com.revenuecat.purchases.models.Transaction
import com.revenuecat.purchases.paywalls.PaywallData
import com.revenuecat.purchases.ui.revenuecatui.PaywallListener
import com.revenuecat.purchases.ui.revenuecatui.PaywallMode
Expand All @@ -35,6 +36,8 @@ import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import java.util.Date
import java.util.UUID

@RunWith(AndroidJUnit4::class)
class PaywallViewModelTest {
Expand Down Expand Up @@ -111,7 +114,10 @@ class PaywallViewModelTest {

@Test
fun `Should load default offering`() {
val model = create(activeSubscriptions = arrayOf(TestData.Packages.monthly.product.id))
val model = create(
activeSubscriptions = setOf(TestData.Packages.monthly.product.id),
nonSubscriptionTransactionProductIdentifiers = setOf(TestData.Packages.lifetime.product.id),
)

coVerify { purchases.awaitOfferings() }

Expand All @@ -128,6 +134,8 @@ class PaywallViewModelTest {
.isTrue
assertThat(state.templateConfiguration.packages.packageIsCurrentlySubscribed(TestData.Packages.annual))
.isFalse
assertThat(state.templateConfiguration.packages.packageIsCurrentlySubscribed(TestData.Packages.lifetime))
.isTrue
}

@Test
Expand Down Expand Up @@ -226,9 +234,11 @@ class PaywallViewModelTest {

private fun create(
offering: Offering? = null,
vararg activeSubscriptions: String,
activeSubscriptions: Set<String> = setOf(),
nonSubscriptionTransactionProductIdentifiers: Set<String> = setOf(),
): PaywallViewModelImpl {
mockActiveSubscriptions(*activeSubscriptions)
mockActiveSubscriptions(activeSubscriptions)
mockNonSubscriptionTransactions(nonSubscriptionTransactionProductIdentifiers)

return PaywallViewModelImpl(
MockApplicationContext(),
Expand All @@ -241,8 +251,21 @@ class PaywallViewModelTest {
)
}

private fun mockActiveSubscriptions(vararg subscriptions: String) {
every { customerInfo.activeSubscriptions } returns setOf(*subscriptions)
private fun mockActiveSubscriptions(subscriptions: Set<String>) {
every { customerInfo.activeSubscriptions } returns subscriptions
}

private fun mockNonSubscriptionTransactions(productIdentifiers: Set<String>) {
every { customerInfo.nonSubscriptionTransactions } returns productIdentifiers
.map {
Transaction(
UUID.randomUUID().toString(),
UUID.randomUUID().toString(),
it,
it,
Date()
)
}
}

/**
Expand Down
3 changes: 2 additions & 1 deletion ui/revenuecatui/src/test/resources/default_template.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@
},
"packages" : [
"$rc_annual",
"$rc_monthly"
"$rc_monthly",
"$rc_lifetime"
],
"privacy_url" : null,
"tos_url" : null
Expand Down

0 comments on commit b17fde0

Please sign in to comment.