Skip to content

Commit 4b937cb

Browse files
committed
test(paywalls): cover state_updates in component deserialization fixtures
1 parent 3b5fb28 commit 4b937cb

3 files changed

Lines changed: 33 additions & 5 deletions

File tree

purchases/src/test/java/com/revenuecat/purchases/paywalls/components/ButtonComponentTests.kt

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package com.revenuecat.purchases.paywalls.components
33
import com.revenuecat.purchases.ColorAlias
44
import com.revenuecat.purchases.JsonTools
55
import com.revenuecat.purchases.paywalls.components.common.LocalizationKey
6+
import com.revenuecat.purchases.paywalls.components.common.StateUpdate
7+
import com.revenuecat.purchases.paywalls.components.common.StateUpdateValue
68
import com.revenuecat.purchases.paywalls.components.properties.ColorInfo
79
import com.revenuecat.purchases.paywalls.components.properties.ColorScheme
810
import com.revenuecat.purchases.paywalls.components.properties.Size
@@ -12,6 +14,7 @@ import org.junit.Test
1214
import org.junit.experimental.runners.Enclosed
1315
import org.junit.runner.RunWith
1416
import org.junit.runners.Parameterized
17+
import kotlinx.serialization.json.JsonPrimitive
1518

1619
@RunWith(Enclosed::class)
1720
internal class ButtonComponentTests {
@@ -57,7 +60,10 @@ internal class ButtonComponentTests {
5760
"type": "text"
5861
}
5962
]
60-
}
63+
},
64+
"state_updates": [
65+
{ "set": "planComparisonOpen", "to": true }
66+
]
6167
}
6268
""".trimIndent(),
6369
expected = ButtonComponent(
@@ -70,7 +76,13 @@ internal class ButtonComponentTests {
7076
name = "Text",
7177
)
7278
),
73-
)
79+
),
80+
stateUpdates = listOf(
81+
StateUpdate.Set(
82+
key = "planComparisonOpen",
83+
value = StateUpdateValue.Literal(JsonPrimitive(true)),
84+
),
85+
),
7486
)
7587
),
7688
),

purchases/src/test/java/com/revenuecat/purchases/paywalls/components/CarouselComponentTests.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package com.revenuecat.purchases.paywalls.components
33
import com.revenuecat.purchases.ColorAlias
44
import com.revenuecat.purchases.JsonTools
55
import com.revenuecat.purchases.paywalls.components.common.Background
6+
import com.revenuecat.purchases.paywalls.components.common.StateUpdate
7+
import com.revenuecat.purchases.paywalls.components.common.StateUpdateValue
68
import com.revenuecat.purchases.paywalls.components.properties.Border
79
import com.revenuecat.purchases.paywalls.components.properties.ColorInfo
810
import com.revenuecat.purchases.paywalls.components.properties.ColorScheme
@@ -195,7 +197,10 @@ internal class CarouselComponentTests {
195197
"components": []
196198
}
197199
],
198-
"visible": false
200+
"visible": false,
201+
"state_updates": [
202+
{ "set": "activeSlide", "to": "${'$'}value" }
203+
]
199204
}
200205
""".trimIndent(),
201206
expected = CarouselComponent(
@@ -291,7 +296,10 @@ internal class CarouselComponentTests {
291296
msTimePerPage = 1000,
292297
msTransitionTime = 500,
293298
transitionType = CarouselComponent.AutoAdvancePages.TransitionType.FADE,
294-
)
299+
),
300+
stateUpdates = listOf(
301+
StateUpdate.Set(key = "activeSlide", value = StateUpdateValue.PayloadReference),
302+
),
295303
)
296304
),
297305
),

purchases/src/test/java/com/revenuecat/purchases/paywalls/components/TabsComponentTests.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import com.revenuecat.purchases.ColorAlias
44
import com.revenuecat.purchases.JsonTools
55
import com.revenuecat.purchases.paywalls.components.common.Background
66
import com.revenuecat.purchases.paywalls.components.common.LocalizationKey
7+
import com.revenuecat.purchases.paywalls.components.common.StateUpdate
8+
import com.revenuecat.purchases.paywalls.components.common.StateUpdateValue
79
import com.revenuecat.purchases.paywalls.components.properties.Border
810
import com.revenuecat.purchases.paywalls.components.properties.ColorInfo
911
import com.revenuecat.purchases.paywalls.components.properties.ColorScheme
@@ -270,7 +272,10 @@ internal class TabsComponentTests {
270272
"x": 23.6,
271273
"y": 45.2
272274
},
273-
"visible": false
275+
"visible": false,
276+
"state_updates": [
277+
{ "set": "selectedFeatureTab", "to": "${'$'}value" }
278+
]
274279
}
275280
""".trimIndent(),
276281
expected = TabsComponent(
@@ -321,6 +326,9 @@ internal class TabsComponentTests {
321326
y = 45.2
322327
),
323328
name = "Tabs",
329+
stateUpdates = listOf(
330+
StateUpdate.Set(key = "selectedFeatureTab", value = StateUpdateValue.PayloadReference),
331+
),
324332
)
325333
),
326334
),

0 commit comments

Comments
 (0)