From 3bb32fccc2dba4f31ba68540c42085b9cad3f3cd Mon Sep 17 00:00:00 2001 From: Cory Nathe Date: Wed, 29 Jan 2025 14:24:33 -0600 Subject: [PATCH] Test fixes after fixes merged from 24.11 for special characters in field names (#2251) - EntityBulkInsertDialog.setDateTimeField to add optional param for passing encoded fieldKey - FieldSelectionDialog.expandAvailableFields update to remove double encoding of field names --- .../ui/entities/EntityBulkInsertDialog.java | 22 +++++++++++++------ .../ui/grids/FieldSelectionDialog.java | 4 +--- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/org/labkey/test/components/ui/entities/EntityBulkInsertDialog.java b/src/org/labkey/test/components/ui/entities/EntityBulkInsertDialog.java index 60b0eed7e9..ba9ff1e63d 100644 --- a/src/org/labkey/test/components/ui/entities/EntityBulkInsertDialog.java +++ b/src/org/labkey/test/components/ui/entities/EntityBulkInsertDialog.java @@ -1,5 +1,6 @@ package org.labkey.test.components.ui.entities; +import org.jetbrains.annotations.Nullable; import org.labkey.test.BootstrapLocators; import org.labkey.test.Locator; import org.labkey.test.WebDriverWrapper; @@ -221,20 +222,24 @@ public String getFieldWithId(String id) * object to use the picker to set the field. If a text value is passed in it is used as a literal and jut typed * into the textbox. * - * @param fieldKey Field to update. + * @param fieldName Field to update. * @param dateTime A LocalDateTime, LocalDate, LocalTime or String. * @return A reference to this page. */ - public EntityBulkInsertDialog setDateTimeField(String fieldKey, Object dateTime) + public EntityBulkInsertDialog setDateTimeField(String fieldName, Object dateTime) { - ReactDateTimePicker dateTimePicker = elementCache().dateInput(fieldKey); + return setDateTimeField(fieldName, dateTime, null); + } + public EntityBulkInsertDialog setDateTimeField(String fieldName, Object dateTime, @Nullable String fieldKey) + { + ReactDateTimePicker dateTimePicker = elementCache().dateInput(fieldName, fieldKey); dateTimePicker.select(dateTime); return this; } - public String getDateTimeField(String fieldKey) + public String getDateTimeField(String fieldName, @Nullable String fieldKey) { - return elementCache().dateInput(fieldKey).get(); + return elementCache().dateInput(fieldName, fieldKey).get(); } public EntityBulkInsertDialog setBooleanField(String fieldKey, boolean checked) @@ -381,10 +386,13 @@ public Input numericInput(String fieldKey) return new Input(inputEl, getDriver()); } - public ReactDateTimePicker dateInput(String fieldKey) + public ReactDateTimePicker dateInput(String fieldName, @Nullable String fieldKey) { + if (fieldKey == null) + fieldKey = fieldName; + return new ReactDateTimePicker.ReactDateTimeInputFinder(getDriver()) - .withInputId(fieldKey).find(formRow(fieldKey)); + .withInputId(fieldKey).find(formRow(fieldName)); } public List fieldNames() diff --git a/src/org/labkey/test/components/ui/grids/FieldSelectionDialog.java b/src/org/labkey/test/components/ui/grids/FieldSelectionDialog.java index 2877fa8e65..04d6413615 100644 --- a/src/org/labkey/test/components/ui/grids/FieldSelectionDialog.java +++ b/src/org/labkey/test/components/ui/grids/FieldSelectionDialog.java @@ -163,9 +163,7 @@ private String expandAvailableFields(String... fields) while(iterator.hasNext()) { - String field = iterator.next().trim(); - String fieldEncoded = field.contains("$D") ? field : EscapeUtil.fieldKeyEncodePart(field); - fieldKey.append(fieldEncoded); + fieldKey.append(iterator.next().trim()); // If this isn't the last item in the collection keep expanding and building the expected data-fieldkey value. if(iterator.hasNext())