[Recent Tests] show failed tests without suite

This commit is contained in:
Yaroslav Lepenkin
2016-08-08 14:45:24 +03:00
parent f6b2b4ab41
commit 4d4a680d12
3 changed files with 18 additions and 32 deletions
@@ -44,7 +44,9 @@ class RecentTestsData {
entry.addSuite(suite)
}
else {
runConfigurationSuites.put(id, RunConfigurationEntry(suite))
val configurationEntry = RunConfigurationEntry(suite.runConfiguration)
configurationEntry.addSuite(suite)
runConfigurationSuites.put(id, configurationEntry)
}
}
@@ -90,30 +92,23 @@ class RecentTestsData {
fun getTestsToShow(): List<RecentTestsPopupEntry> {
val allConfigurations = runConfigurationSuites.values
val allSuites = allConfigurations.fold(arrayListOf<SuiteEntry>(), { list: List<SuiteEntry>, entry -> list + entry.suites })
testsWithoutSuites.forEach {
val info = it
allSuites
.find {
it.isMyTest(info.test)
}
?.let {
info.test.suite = it
}
}
val testsCollector = SingleTestCollector()
allConfigurations.forEach { it.accept(testsCollector) }
val failedTests = testsCollector.tests.filter { it.failed }
val failedTests = getFailedTests(allConfigurations)
val configsCollector = ConfigurationsCollector()
allConfigurations.forEach { it.accept(configsCollector) }
val passedConfigurations = configsCollector.entries.filter { !it.failed }
val entriesToShow = failedTests + passedConfigurations + testsWithoutSuites.map { it.test }.filter { it.suite != null && it.failed }
val entriesToShow = failedTests + passedConfigurations + testsWithoutSuites.map { it.test }.filter { it.failed }
return entriesToShow.sortedByDescending { it.runDate }
}
private fun getFailedTests(allConfigurations: MutableCollection<RunConfigurationEntry>): List<SingleTestEntry> {
val testsCollector = SingleTestCollector()
allConfigurations.forEach { it.accept(testsCollector) }
val failedTests = testsCollector.tests.filter { it.failed }
return failedTests
}
}
@@ -100,15 +100,10 @@ class SuiteEntry(val suiteUrl: String,
}
class RunConfigurationEntry(initial: SuiteEntry) : RecentTestsPopupEntry {
class RunConfigurationEntry(val runSettings: RunnerAndConfigurationSettings) : RecentTestsPopupEntry {
val suites = arrayListOf<SuiteEntry>()
val runSettings = initial.runConfiguration
init {
addSuite(initial)
}
override val runDate: Date
get() {
return suites.minBy { it.runDate }!!.runDate
@@ -134,21 +134,17 @@ class SelectTestStep(title: String?,
entry.accept(object : TestEntryVisitor() {
override fun visitTest(test: SingleTestEntry) {
val suite = test.suite ?: return
val configuration = suite.runConfigurationEntry
if (configuration == null) {
items.add(suite)
return
}
val configuration = test.suite?.runConfigurationEntry ?: RunConfigurationEntry(test.runConfiguration)
items.add(test.suite ?: return)
if (isSingleTestConfiguration(configuration)) {
items.add(suite)
items.add(test.suite ?: return)
return
}
items.add(configuration)
if (configuration.suites.size > 1) {
items.add(0, suite)
items.add(0, test.suite ?: return)
}
}