From ac481a59de850b6b6a6fa763cd27ec99bf4f9795 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 07:34:44 +0200 Subject: [PATCH] Konsist: Ensure that `Presenter` do not depend on other presenters. --- .../tests/konsist/KonsistPresenterTest.kt | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPresenterTest.kt diff --git a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPresenterTest.kt b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPresenterTest.kt new file mode 100644 index 0000000000..5e949764b0 --- /dev/null +++ b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPresenterTest.kt @@ -0,0 +1,31 @@ +/* + * Copyright 2023, 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.tests.konsist + +import com.lemonappdev.konsist.api.Konsist +import com.lemonappdev.konsist.api.ext.list.constructors +import com.lemonappdev.konsist.api.ext.list.withAllParentsOf +import com.lemonappdev.konsist.api.verify.assertTrue +import io.element.android.libraries.architecture.Presenter +import org.junit.Test + +class KonsistPresenterTest { + @Test + fun `'Presenter' should not depend on other presenters`() { + Konsist.scopeFromProject() + .classes() + .withAllParentsOf(Presenter::class) + .constructors + .assertTrue { constructor -> + val result = constructor.parameters.none { parameter -> + parameter.type.name.endsWith("Presenter") + } + result + } + } +}