diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTest.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTest.kt index fc84d3d0aa22..15c581c23be0 100644 --- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTest.kt +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTest.kt @@ -3,6 +3,7 @@ package net.mullvad.mullvadvpn.test.arch.compose import androidx.compose.runtime.Composable import com.lemonappdev.konsist.api.Konsist import com.lemonappdev.konsist.api.ext.list.withAllAnnotationsOf +import com.lemonappdev.konsist.api.verify.assertFalse import com.lemonappdev.konsist.api.verify.assertTrue import org.junit.jupiter.api.Test @@ -13,6 +14,16 @@ class ComposeTest { it.resideInPackage("net.mullvad.mullvadvpn.compose..") } + @Test + fun `ensure we don't use collectAsState`() = + Konsist.scopeFromProduction("app").imports.assertFalse { + it.name == "androidx.compose.runtime.collectAsState" + } + + @Test + fun `ensure all composables do not refer to state as uiState`() = + allAppComposeFunctions().assertFalse { it.hasParameter { it.name == "uiState" } } + private fun allAppComposeFunctions() = Konsist.scopeFromProduction("app").functions().withAllAnnotationsOf(Composable::class) }