From b2850fe4a22f5a42ae48184a506c2f3696d34572 Mon Sep 17 00:00:00 2001 From: Cesar de la Vega Date: Wed, 4 Oct 2023 19:22:01 +0200 Subject: [PATCH] add icons validation --- .../revenuecatui/PaywallDataValidationTest.kt | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/ui/revenuecatui/src/test/kotlin/com/revenuecat/purchases/ui/revenuecatui/PaywallDataValidationTest.kt b/ui/revenuecatui/src/test/kotlin/com/revenuecat/purchases/ui/revenuecatui/PaywallDataValidationTest.kt index 799e47483a..408bcc5fd5 100644 --- a/ui/revenuecatui/src/test/kotlin/com/revenuecat/purchases/ui/revenuecatui/PaywallDataValidationTest.kt +++ b/ui/revenuecatui/src/test/kotlin/com/revenuecat/purchases/ui/revenuecatui/PaywallDataValidationTest.kt @@ -95,6 +95,32 @@ class PaywallDataValidationTest { ) } + @Test + fun `Unrecognized icons generate default paywall`() { + val originalOffering = TestData.offeringWithMultiPackagePaywall + + val paywall = originalOffering.paywall!!.let { originalPaywall -> + val (locale, originalLocalizedConfiguration) = originalPaywall.localizedConfiguration + val localizedConfiguration = originalLocalizedConfiguration.copy( + features = listOf( + PaywallData.LocalizedConfiguration.Feature( + title = "Feature Title", + iconID = "an_unrecognized_icon", + ), + ) + ) + originalPaywall.copy(localization = mapOf(locale.toString() to localizedConfiguration)) + } + + val offering = originalOffering.copy(paywall = paywall) + val paywallValidationResult = getPaywallValidationResult(offering) + verifyPackages(paywallValidationResult.displayablePaywall, originalOffering.paywall!!) + compareWithDefaultTemplate(paywallValidationResult.displayablePaywall) + assertThat(paywallValidationResult.error).isEqualTo( + PaywallValidationError.InvalidIcons(setOf("an_unrecognized_icon")) + ) + } + private fun getPaywallValidationResult(offering: Offering) = offering.validatedPaywall( currentColorScheme = TestData.Constants.currentColorScheme, )