diff options
| author | Albin <albin@mullvad.net> | 2024-06-19 09:29:18 +0200 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2024-06-19 09:29:18 +0200 |
| commit | 88c5d622d797faf99528f79a0907b101fa8f4cae (patch) | |
| tree | be6f7fcc14c3c2eba80837fe3dea4f720485eac9 /android/test | |
| parent | 9be52437a1a9065ca7fa2f831f0833cf959e2e36 (diff) | |
| parent | ff73f8d7f1320dd2c282ac19746e18cd329c2cda (diff) | |
| download | mullvadvpn-88c5d622d797faf99528f79a0907b101fa8f4cae.tar.xz mullvadvpn-88c5d622d797faf99528f79a0907b101fa8f4cae.zip | |
Merge branch 'unify-use-case-structure-and-function-naming-droid-1013'
Diffstat (limited to 'android/test')
| -rw-r--r-- | android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/UseCaseTest.kt | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/UseCaseTest.kt b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/UseCaseTest.kt new file mode 100644 index 0000000000..305ba7127b --- /dev/null +++ b/android/test/arch/src/test/kotlin/net/mullvad/mullvadvpn/test/arch/UseCaseTest.kt @@ -0,0 +1,29 @@ +package net.mullvad.mullvadvpn.test.arch + +import com.lemonappdev.konsist.api.Konsist +import com.lemonappdev.konsist.api.ext.list.functions +import com.lemonappdev.konsist.api.ext.list.modifierprovider.withPublicOrDefaultModifier +import com.lemonappdev.konsist.api.verify.assertTrue +import org.junit.jupiter.api.Test + +class UseCaseTest { + @Test + fun `ensure all use cases end with UseCase suffix`() = + allUseCasesFiles().assertTrue { it.name.endsWith("UseCase") } + + @Test + fun `ensure every use cases is public`() = + allUseCases().assertTrue { it.hasPublicOrDefaultModifier } + + @Test + fun `ensure every public functions method is named 'invoke' with operator modifier`() = + allUseCases().functions().withPublicOrDefaultModifier().assertTrue { + it.name == "invoke" && it.hasOperatorModifier + } + + private fun allUseCasesFiles() = + Konsist.scopeFromProduction().files.filter { it.resideInPath("..usecase..") } + + private fun allUseCases() = + Konsist.scopeFromProduction().classes().filter { it.resideInPackage("..usecase..") } +} |
