Skip to content

Commit 138c692

Browse files
Revert missed changes for default values in UI (#575)
1 parent 41927a6 commit 138c692

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/GenerateTestsDialogWindow.kt

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ import com.intellij.util.ui.UIUtil
7676
import com.intellij.util.ui.components.BorderLayoutPanel
7777
import org.jetbrains.concurrency.Promise
7878
import org.jetbrains.concurrency.thenRun
79+
import org.jetbrains.kotlin.asJava.classes.KtUltraLightClass
7980
import org.utbot.common.filterWhen
8081
import org.utbot.common.PathUtil.toPath
8182
import org.utbot.framework.UtSettings
@@ -186,6 +187,16 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
186187
title = "Generate tests with UtBot"
187188
setResizable(false)
188189

190+
TestFramework.allItems.forEach {
191+
it.isInstalled = findFrameworkLibrary(model.project, model.testModule, it) != null
192+
}
193+
MockFramework.allItems.forEach {
194+
it.isInstalled = findFrameworkLibrary(model.project, model.testModule, it) != null
195+
}
196+
StaticsMocking.allItems.forEach {
197+
it.isConfigured = staticsMockingConfigured()
198+
}
199+
189200
// Configure notification urls callbacks
190201
TestsReportNotifier.urlOpeningListener.callbacks[TestReportUrlOpeningListener.mockitoSuffix]?.plusAssign {
191202
configureMockFramework()
@@ -435,7 +446,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
435446
.toSet()
436447

437448
val selectedMethods = selectedMembers.filter { it.member is PsiMethod }.toSet()
438-
model.selectedMethods = if (selectedMethods.isEmpty()) null else selectedMethods
449+
model.selectedMethods = if (selectedMethods.any()) selectedMethods else null
439450

440451
model.testFramework = testFrameworks.item
441452
model.mockStrategy = mockStrategies.item
@@ -582,7 +593,6 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
582593
cbSpecifyTestPackage.isEnabled = model.srcClasses.all { cl -> cl.packageName.isNotEmpty() }
583594

584595
val settings = model.project.service<Settings>()
585-
codegenLanguages.item = settings.codegenLanguage
586596
mockStrategies.item = settings.mockStrategy
587597
staticsMocking.item = settings.staticsMocking
588598
parametrizedTestSources.item = settings.parametrizedTestSource
@@ -591,15 +601,18 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
591601
mockStrategies.isEnabled = areMocksSupported
592602
staticsMocking.isEnabled = areMocksSupported && mockStrategies.item != MockStrategyApi.NO_MOCKS
593603

594-
//We do not support parameterized tests for JUnit4
604+
codegenLanguages.item =
605+
if (model.srcClasses.all { it is KtUltraLightClass }) CodegenLanguage.KOTLIN else CodegenLanguage.JAVA
606+
607+
val installedTestFramework = TestFramework.allItems.singleOrNull { it.isInstalled }
595608
currentFrameworkItem = when (parametrizedTestSources.item) {
596-
ParametrizedTestSource.DO_NOT_PARAMETRIZE -> settings.testFramework
597-
ParametrizedTestSource.PARAMETRIZE ->
598-
if (settings.testFramework == Junit4) TestFramework.parametrizedDefaultItem else settings.testFramework
609+
ParametrizedTestSource.DO_NOT_PARAMETRIZE -> installedTestFramework ?: settings.testFramework
610+
ParametrizedTestSource.PARAMETRIZE -> installedTestFramework
611+
?: if (settings.testFramework != Junit4) settings.testFramework else TestFramework.parametrizedDefaultItem
599612
}
600613

601614
updateTestFrameworksList(settings.parametrizedTestSource)
602-
updateParametrizationVisibility(settings.testFramework)
615+
updateParametrizationEnabled(currentFrameworkItem)
603616

604617
updateMockStrategyList()
605618
updateStaticMockingStrategyList()
@@ -814,7 +827,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
814827
val item = comboBox.item as TestFramework
815828

816829
currentFrameworkItem = item
817-
updateParametrizationVisibility(currentFrameworkItem)
830+
updateParametrizationEnabled(currentFrameworkItem)
818831
}
819832

820833
parametrizedTestSources.addActionListener { event ->
@@ -864,10 +877,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
864877
ParametrizedTestSource.DO_NOT_PARAMETRIZE -> TestFramework.defaultItem
865878
ParametrizedTestSource.PARAMETRIZE -> TestFramework.parametrizedDefaultItem
866879
}
867-
enabledTestFrameworks.forEach {
868-
it.isInstalled = findFrameworkLibrary(model.project, model.testModule, it) != null
869-
if (it.isInstalled && !defaultItem.isInstalled) defaultItem = it
870-
}
880+
enabledTestFrameworks.forEach { if (it.isInstalled && !defaultItem.isInstalled) defaultItem = it }
871881

872882
testFrameworks.model = DefaultComboBoxModel(enabledTestFrameworks.toTypedArray())
873883
testFrameworks.item = if (currentFrameworkItem in enabledTestFrameworks) currentFrameworkItem else defaultItem
@@ -887,7 +897,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
887897
}
888898

889899
//We would like to disable parametrization options for JUnit4
890-
private fun updateParametrizationVisibility(testFramework: TestFramework) {
900+
private fun updateParametrizationEnabled(testFramework: TestFramework) {
891901
when (testFramework) {
892902
Junit4 -> parametrizedTestSources.isEnabled = false
893903
Junit5,
@@ -896,9 +906,6 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
896906
}
897907

898908
private fun updateMockStrategyList() {
899-
MOCKITO.isInstalled =
900-
findFrameworkLibrary(model.project, model.testModule, MOCKITO) != null
901-
902909
mockStrategies.renderer = object : ColoredListCellRenderer<MockStrategyApi>() {
903910
override fun customizeCellRenderer(
904911
list: JList<out MockStrategyApi>, value: MockStrategyApi?,
@@ -913,8 +920,6 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
913920
}
914921

915922
private fun updateStaticMockingStrategyList() {
916-
val staticsMockingConfigured = staticsMockingConfigured()
917-
StaticsMocking.allItems.forEach { it.isConfigured = staticsMockingConfigured }
918923
staticsMocking.renderer = object : ColoredListCellRenderer<StaticsMocking>() {
919924
override fun customizeCellRenderer(
920925
list: JList<out StaticsMocking>, value: StaticsMocking?,

0 commit comments

Comments
 (0)