@@ -3,6 +3,7 @@ package org.utbot.intellij.plugin.ui.components
33import com.intellij.openapi.application.ReadAction
44import com.intellij.openapi.fileChooser.FileChooser
55import com.intellij.openapi.fileChooser.FileChooserDescriptor
6+ import com.intellij.openapi.module.ModuleUtil
67import com.intellij.openapi.project.guessProjectDir
78import com.intellij.openapi.ui.ComboBox
89import com.intellij.openapi.ui.ComponentWithBrowseButton
@@ -81,7 +82,7 @@ class TestFolderComboWithBrowseButton(private val model: GenerateTestsModel) :
8182 }
8283
8384 addActionListener {
84- val testSourceRoot = createNewTestSourceRoot (model)
85+ val testSourceRoot = chooseTestRoot (model)
8586 testSourceRoot?.let {
8687 model.setSourceRootAndFindTestModule(it)
8788
@@ -97,9 +98,13 @@ class TestFolderComboWithBrowseButton(private val model: GenerateTestsModel) :
9798 }
9899 }
99100
100- private fun createNewTestSourceRoot (model : GenerateTestsModel ): VirtualFile ? =
101+ private fun chooseTestRoot (model : GenerateTestsModel ): VirtualFile ? =
101102 ReadAction .compute<VirtualFile , RuntimeException > {
102- val desc = FileChooserDescriptor (false , true , false , false , false , false )
103+ val desc = object : FileChooserDescriptor (false , true , false , false , false , false ) {
104+ override fun isFileSelectable (file : VirtualFile ? ): Boolean {
105+ return file != null && ModuleUtil .findModuleForFile(file, model.project) != null && super .isFileSelectable(file)
106+ }
107+ }
103108 val initialFile = model.project.guessProjectDir()
104109
105110 val files = FileChooser .chooseFiles(desc, model.project, initialFile)
0 commit comments