diff --git a/src/org/labkey/test/components/domain/DomainFieldRow.java b/src/org/labkey/test/components/domain/DomainFieldRow.java index dc1ea4f328..5261edb788 100644 --- a/src/org/labkey/test/components/domain/DomainFieldRow.java +++ b/src/org/labkey/test/components/domain/DomainFieldRow.java @@ -769,6 +769,8 @@ public DomainFieldRow clickRemoveOntologyConcept() public void setAllowMultipleSelections(Boolean allowMultipleSelections) { + WebDriverWrapper.waitFor(() -> elementCache().allowMultipleSelectionsCheckbox.isDisplayed(), + "Allow Multiple Selections checkbox did not become visible", 2000); elementCache().allowMultipleSelectionsCheckbox.set(allowMultipleSelections); } diff --git a/src/org/labkey/test/util/data/TestDataUtils.java b/src/org/labkey/test/util/data/TestDataUtils.java index b7ed252c1a..000526aaea 100644 --- a/src/org/labkey/test/util/data/TestDataUtils.java +++ b/src/org/labkey/test/util/data/TestDataUtils.java @@ -578,17 +578,16 @@ public static List> readRowsFromFile(File file, CSVFormat format) t } } - public static List parseMultiValueText(String multiValueString) throws IOException + public static String parseMultiValueText(String multiValueString) throws IOException { CSVFormat format = CSVFormat.RFC4180.builder() - .setIgnoreSurroundingSpaces(true).get(); + .setIgnoreSurroundingSpaces(true).setTrim(true).get(); try (CSVParser parser = format.parse(new StringReader(multiValueString))) { List records = parser.getRecords(); - List> list = records.stream().map(CSVRecord::toList).toList(); - if (list.size() != 1) - throw new IllegalArgumentException("Invalid multi-value text string: " + multiValueString); - return list.getFirst(); + if (records.isEmpty()) + return ""; + return records.getFirst().stream().collect(Collectors.joining(multiValueString.contains(", ") ? ", " : ",")); } }