in teamcity-rest-client-impl/src/main/kotlin/org/jetbrains/teamcity/rest/coroutines/rest.kt [978:1001]
fun buildCustomFieldsFilter(
testRunFields: Collection<TestRunsLocatorSettings.TestRunField>,
testFields: Collection<TestLocatorSettings.TestField>,
wrap: Boolean
): String {
// test(...) fields will be added later, see testFieldsStr
val resultTestRunFieldsStr = (testRunFields.asSequence() - TestRunsLocatorSettings.TestRunField.TEST_ID)
.map(::remapField)
.distinct()
val testFieldsStr = when {
testFields.any() -> "test(${TestBean.buildCustomFieldsFilter(testFields, wrap = false)})"
TestRunsLocatorSettings.TestRunField.TEST_ID in testRunFields -> remapField(TestRunsLocatorSettings.TestRunField.TEST_ID)
else -> null
}
val allFields = (resultTestRunFieldsStr + "id" + testFieldsStr)
.filterNotNull()
.distinct()
return if (wrap) {
allFields.joinToString(prefix = "nextHref,testOccurrence(", separator = ",", postfix = ")")
} else {
allFields.joinToString(separator = ",")
}
}