diff options
| author | David Göransson <david.goransson90@gmail.com> | 2023-09-29 20:10:05 +0200 |
|---|---|---|
| committer | David Göransson <david.goransson90@gmail.com> | 2023-10-02 16:06:03 +0200 |
| commit | 469e0efbec57ce256973d1329f5a616e2234e742 (patch) | |
| tree | 719c5caa56eef54ef5b49d55322098f4d0f9905a /android | |
| parent | 5052cdea50ce6d00a444dfd4c3811cf1dadaeb25 (diff) | |
| download | mullvadvpn-469e0efbec57ce256973d1329f5a616e2234e742.tar.xz mullvadvpn-469e0efbec57ce256973d1329f5a616e2234e742.zip | |
Add test ensure all composables are in compose package
Diffstat (limited to 'android')
2 files changed, 34 insertions, 0 deletions
diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/DataClassTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/DataClassTests.kt new file mode 100644 index 0000000000..248eef5a10 --- /dev/null +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/DataClassTests.kt @@ -0,0 +1,17 @@ +package net.mullvad.mullvadvpn.test.arch.classes + +import com.lemonappdev.konsist.api.ext.list.modifierprovider.withDataModifier +import com.lemonappdev.konsist.api.verify.assert +import net.mullvad.mullvadvpn.test.arch.extensions.projectScope +import org.junit.Ignore +import org.junit.Test + +class DataClasses { + @Ignore("Code needs clean up") + @Test + fun `data classes use only immutable parameters`() { + projectScope().classes(includeNested = true).withDataModifier().assert { + it.properties(includeNested = true).all { property -> property.hasValModifier } + } + } +} diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTests.kt new file mode 100644 index 0000000000..970174d269 --- /dev/null +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTests.kt @@ -0,0 +1,17 @@ +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.assert +import org.junit.Test + +class ComposeTests { + @Test + fun `all app composables are in the compose packages`() { + allAppComposeFunctions().assert { it.resideInPackage("net.mullvad.mullvadvpn.compose..") } + } + + private fun allAppComposeFunctions() = + Konsist.scopeFromProduction("app").functions().withAllAnnotationsOf(Composable::class) +} |
