summaryrefslogtreecommitdiffhomepage
path: root/android/test
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson90@gmail.com>2023-10-02 15:38:58 +0200
committerDavid Göransson <david.goransson90@gmail.com>2023-10-02 16:06:03 +0200
commit3f6a24dc2cf5437d90754fe086c9e3ba40e4f53d (patch)
tree13ca47f969ae5cae07dcee087850e926c960d2db /android/test
parent23517aa5dda6ba8360a6fa9ce408aa63ae5751ce (diff)
downloadmullvadvpn-3f6a24dc2cf5437d90754fe086c9e3ba40e4f53d.tar.xz
mullvadvpn-3f6a24dc2cf5437d90754fe086c9e3ba40e4f53d.zip
Align test syntax
Diffstat (limited to 'android/test')
-rw-r--r--android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ArchitectureTests.kt7
-rw-r--r--android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/GeneralTests.kt9
-rw-r--r--android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ViewModelTests.kt9
-rw-r--r--android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ClassTests.kt7
-rw-r--r--android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/DataClassTests.kt7
-rw-r--r--android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposePreviewTests.kt8
-rw-r--r--android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposeTests.kt3
-rw-r--r--android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/extensions/KonsistExtensions.kt5
8 files changed, 19 insertions, 36 deletions
diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ArchitectureTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ArchitectureTests.kt
index ecb2fa18bb..2a7e1e205e 100644
--- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ArchitectureTests.kt
+++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ArchitectureTests.kt
@@ -8,11 +8,10 @@ import org.junit.Test
class ArchitectureTests {
@Test
- fun `domain layer depends on nothing`() {
+ fun `ensure model layer depends on nothing`() =
Konsist.scopeFromProduction().assertArchitecture {
- val domain = Layer("Domain", "net.mullvad.mullvadvpn.model..")
+ val model = Layer("Model", "net.mullvad.mullvadvpn.model..")
- domain.dependsOnNothing()
+ model.dependsOnNothing()
}
- }
}
diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/GeneralTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/GeneralTests.kt
index a40f93c5f5..60842537c3 100644
--- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/GeneralTests.kt
+++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/GeneralTests.kt
@@ -8,20 +8,17 @@ import org.junit.Test
class GeneralTests {
@Test
- fun `package name must match file path`() {
+ fun `ensure package name must match file path`() =
Konsist.scopeFromProject().packages.assert { it.hasMatchingPath }
- }
@Test
- fun `no field should have 'm' prefix`() {
+ fun `ensure no field should have 'm' prefix`() =
Konsist.scopeFromProject().classes().properties().assertNot {
val secondCharacterIsUppercase = it.name.getOrNull(1)?.isUpperCase() ?: false
it.name.startsWith('m') && secondCharacterIsUppercase
}
- }
@Test
- fun `no empty files allowed`() {
+ fun `ensure no empty files allowed`() =
Konsist.scopeFromProject().files.assertNot { it.text.isEmpty() }
- }
}
diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ViewModelTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ViewModelTests.kt
index 8347c799d7..a474ec3eb6 100644
--- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ViewModelTests.kt
+++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/ViewModelTests.kt
@@ -12,26 +12,23 @@ import org.junit.Test
class ViewModelTests {
@Test
- fun ensureViewModelsHaveViewModelSuffix() {
+ fun ensureViewModelsHaveViewModelSuffix() =
allViewModels().assert { it.name.endsWith("ViewModel") }
- }
// The purpose of this check is to both keep the naming consistent and also to avoid exposing
// properties that shouldn't be exposed.
@Test
- fun ensurePublicPropertiesUsePermittedNames() {
+ fun `ensure public properties use permitted names`() =
allViewModels().properties(includeNested = false).withPublicOrDefaultModifier().assert {
property ->
property.name == "uiState" || property.name == "uiSideEffect"
}
- }
@Test
- fun ensurePublicFunctionsHaveNoReturnType() {
+ fun `ensure public functions have no return type`() =
allViewModels().functions().withPublicOrDefaultModifier().assertNot { function ->
function.hasReturnType()
}
- }
private fun allViewModels() =
Konsist.scopeFromProject().classes().withAllParentsOf(ViewModel::class)
diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ClassTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ClassTests.kt
index cc737250f6..918139bf24 100644
--- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ClassTests.kt
+++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/classes/ClassTests.kt
@@ -1,13 +1,13 @@
package net.mullvad.mullvadvpn.test.arch.classes
+import com.lemonappdev.konsist.api.Konsist
import com.lemonappdev.konsist.api.verify.assert
-import net.mullvad.mullvadvpn.test.arch.extensions.projectScope
import org.junit.Test
class ClassTests {
@Test
- fun `companion object is last declaration in the class`() {
- projectScope().classes(includeNested = true).assert {
+ fun `ensure companion object is last declaration in the class`() =
+ Konsist.scopeFromProject().classes(includeNested = true).assert {
val companionObject =
it.objects(includeNested = false).lastOrNull { obj -> obj.hasCompanionModifier }
if (companionObject != null) {
@@ -17,5 +17,4 @@ class ClassTests {
true
}
}
- }
}
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
index 3fd5eff979..cc2f7262b1 100644
--- 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
@@ -1,18 +1,17 @@
package net.mullvad.mullvadvpn.test.arch.classes
+import com.lemonappdev.konsist.api.Konsist
import com.lemonappdev.konsist.api.ext.list.modifierprovider.withDataModifier
import com.lemonappdev.konsist.api.ext.list.properties
import com.lemonappdev.konsist.api.verify.assertNot
-import net.mullvad.mullvadvpn.test.arch.extensions.projectScope
import org.junit.Test
class DataClasses {
@Test
- fun `data classes use only immutable declarations`() {
- projectScope()
+ fun `ensure data classes only use immutable properties`() =
+ Konsist.scopeFromProject()
.classes(includeNested = true)
.withDataModifier()
.properties(includeNested = false, includeLocal = false)
.assertNot { it.hasVarModifier }
- }
}
diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposePreviewTests.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposePreviewTests.kt
index 64b221d0c0..5f8b1fef80 100644
--- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposePreviewTests.kt
+++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/compose/ComposePreviewTests.kt
@@ -8,15 +8,13 @@ import org.junit.Test
class ComposePreviewTests {
@Test
- fun `all preview functions are private`() {
+ fun `ensure all preview functions are private`() =
allPreviewFunctions().assert { it.hasPrivateModifier }
- }
@Test
- fun `all preview functions are prefixed with Preview`() {
+ fun `ensure all preview functions are prefixed with 'Preview'`() =
allPreviewFunctions().assert { it.name.startsWith("Preview") }
- }
private fun allPreviewFunctions() =
- Konsist.scopeFromProduction().functions().withAllAnnotationsOf(Preview::class)
+ Konsist.scopeFromProduction("app").functions().withAllAnnotationsOf(Preview::class)
}
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
index 970174d269..025f10d11f 100644
--- 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
@@ -8,9 +8,8 @@ import org.junit.Test
class ComposeTests {
@Test
- fun `all app composables are in the compose packages`() {
+ fun `ensure all app composables are in the compose package`() =
allAppComposeFunctions().assert { it.resideInPackage("net.mullvad.mullvadvpn.compose..") }
- }
private fun allAppComposeFunctions() =
Konsist.scopeFromProduction("app").functions().withAllAnnotationsOf(Composable::class)
diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/extensions/KonsistExtensions.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/extensions/KonsistExtensions.kt
deleted file mode 100644
index b228575b46..0000000000
--- a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/extensions/KonsistExtensions.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package net.mullvad.mullvadvpn.test.arch.extensions
-
-import com.lemonappdev.konsist.api.Konsist
-
-fun projectScope() = Konsist.scopeFromProject()