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 + } + } +}