From 03e7894a3d01c4c9dd570a1c541cf20eb50b53dc Mon Sep 17 00:00:00 2001 From: Egor Kulikov Date: Mon, 11 Jul 2022 12:45:27 +0300 Subject: [PATCH] Disable action in editor for the file located in test source root --- .../intellij/plugin/ui/actions/GenerateTestsAction.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt index 6b079e094f..201e599ca9 100644 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt +++ b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt @@ -45,8 +45,18 @@ class GenerateTestsAction : AnAction() { if (psiElementHandler.isCreateTestActionAvailable(element)) { val srcClass = psiElementHandler.containingClass(element) ?: return null + val srcSourceRoot = srcClass.getSourceRoot() ?: return null val srcMethods = TestIntegrationUtils.extractClassMethods(srcClass, false) val focusedMethod = focusedMethodOrNull(element, srcMethods, psiElementHandler) + + val module = ModuleUtil.findModuleForFile(srcSourceRoot, project) ?: return null + val matchingRoot = ModuleRootManager.getInstance(module).contentEntries + .flatMap { entry -> entry.sourceFolders.toList() } + .singleOrNull { folder -> folder.file == srcSourceRoot } + if (matchingRoot == null || matchingRoot.rootType.isForTests) { + return null + } + return Pair(setOf(srcClass), focusedMethod) } } else {