Skip to content

Commit 788a36b

Browse files
authored
Update test component for finding multi select (#2878)
1 parent 5348a60 commit 788a36b

2 files changed

Lines changed: 18 additions & 2 deletions

File tree

src/org/labkey/test/pages/query/UpdateQueryRowPage.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,12 @@ public UpdateQueryRowPage setField(String fieldName, OptionSelect.SelectOption o
136136
return this;
137137
}
138138

139+
public UpdateQueryRowPage setMultiValueField(String fieldName, OptionSelect.SelectOption option)
140+
{
141+
new OptionSelect<>(elementCache().findField(fieldName, true)).selectOption(option);
142+
return this;
143+
}
144+
139145
public String getTextInputValue(String fieldName)
140146
{
141147
var input = new Input(elementCache().findField(fieldName), getDriver());
@@ -182,15 +188,20 @@ protected class ElementCache extends LabKeyPage<?>.ElementCache
182188
{
183189
private final Map<String, WebElement> fieldMap = new HashMap<>();
184190

185-
WebElement findField(String name)
191+
WebElement findField(String name, boolean multiValue)
186192
{
187193
if (!fieldMap.containsKey(name))
188194
{
189-
fieldMap.put(name, Locator.name(EscapeUtil.getFormFieldName(name)).findElement(this));
195+
fieldMap.put(name, Locator.name(EscapeUtil.getFormFieldName(name, multiValue)).findElement(this));
190196
}
191197
return fieldMap.get(name);
192198
}
193199

200+
WebElement findField(String name)
201+
{
202+
return findField(name, false);
203+
}
204+
194205
final WebElement submitButton = Locator.lkButton("Submit").findWhenNeeded(this);
195206
}
196207
}

src/org/labkey/test/util/EscapeUtil.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,11 @@ public static String getFormFieldName(String columnName)
266266
return getFormFieldName(columnName, FORM_FIELD_PREFIX);
267267
}
268268

269+
public static String getFormFieldName(String columnName, boolean multiValue)
270+
{
271+
return getFormFieldName(columnName, (multiValue ? "[]" : "") + FORM_FIELD_PREFIX);
272+
}
273+
269274
/**
270275
* Escapes special characters in a column name to be used as a form field name.
271276
* See associated {@link org.labkey.api.query.QueryUpdateForm#getFormFieldName}

0 commit comments

Comments
 (0)