From 62a21119d0142cca33952919a6b0c8fd607d1113 Mon Sep 17 00:00:00 2001 From: XingY Date: Thu, 29 May 2025 00:01:20 -0700 Subject: [PATCH 1/3] Selenium test for file issues --- .../ui/entities/EntityBulkUpdateDialog.java | 11 +++++++++++ .../components/ui/files/FileAttachmentContainer.java | 2 +- .../test/components/ui/files/FileUploadField.java | 10 ++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/org/labkey/test/components/ui/entities/EntityBulkUpdateDialog.java b/src/org/labkey/test/components/ui/entities/EntityBulkUpdateDialog.java index 14716f277d..c255da7a21 100644 --- a/src/org/labkey/test/components/ui/entities/EntityBulkUpdateDialog.java +++ b/src/org/labkey/test/components/ui/entities/EntityBulkUpdateDialog.java @@ -15,6 +15,7 @@ import org.labkey.test.components.react.ReactDateTimePicker; import org.labkey.test.components.react.ToggleButton; import org.labkey.test.components.ui.files.FileAttachmentContainer; +import org.labkey.test.components.ui.files.FileUploadField; import org.labkey.test.params.FieldDefinition; import org.labkey.test.params.FieldKey; import org.labkey.test.util.AuditLogHelper; @@ -268,6 +269,11 @@ public EntityBulkUpdateDialog removeFile(CharSequence fieldIdentifier) return this; } + public FileUploadField getExistingFileField(String fieldKey) + { + return elementCache().fileField(fieldKey); + } + /** * @param fieldIdentifier Identifier for the field; name ({@link String}) or fieldKey ({@link FieldKey}) * @param checked value to set @@ -469,6 +475,11 @@ public FileAttachmentContainer fileUploadField(CharSequence fieldIdentifier) return new FileAttachmentContainer(formRow(fieldIdentifier), getDriver()); } + public FileUploadField fileField(String fieldKey) + { + return new FileUploadField(Locator.tagWithClass("div", "col-xs-12").findElementOrNull(formRow(fieldKey)), getDriver()); + } + final Locator textInputLoc = Locator.tagWithAttribute("input", "type", "text"); final Locator numberInputLoc = Locator.tagWithAttribute("input", "type", "number"); final Locator checkBoxLoc = Locator.tagWithAttribute("input", "type", "checkbox"); diff --git a/src/org/labkey/test/components/ui/files/FileAttachmentContainer.java b/src/org/labkey/test/components/ui/files/FileAttachmentContainer.java index 592cb00767..89fab97504 100644 --- a/src/org/labkey/test/components/ui/files/FileAttachmentContainer.java +++ b/src/org/labkey/test/components/ui/files/FileAttachmentContainer.java @@ -111,7 +111,7 @@ public String attachFileExpectingAlert(File file) /** * Returns true if there is a file with that name in the current instance */ - private boolean hasFile(String fileName) + public boolean hasFile(String fileName) { return new FileAttachmentEntry.FileAttachmentEntryFinder(getDriver()) .withTitle(fileName).findOptional(this).isPresent(); diff --git a/src/org/labkey/test/components/ui/files/FileUploadField.java b/src/org/labkey/test/components/ui/files/FileUploadField.java index d68849676a..d5b11aa570 100644 --- a/src/org/labkey/test/components/ui/files/FileUploadField.java +++ b/src/org/labkey/test/components/ui/files/FileUploadField.java @@ -53,6 +53,16 @@ public boolean hasAttachedFile() return !elementCache().fileInputLabel.isDisplayed(); } + public String getExistingFileName() + { + if (hasAttachedFile()) + { + AttachmentCard card = elementCache().getExistingAttachment().get(); + return card.getFileName(); + } + return null; + } + @Override public WebElement getComponentElement() { From 2a06d698a8170b2b51c2d922fc29508da1d72d2f Mon Sep 17 00:00:00 2001 From: XingY Date: Fri, 30 May 2025 13:49:43 -0700 Subject: [PATCH 2/3] add test for moving multiple runs --- .../test/components/ui/grids/ResponsiveGrid.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/org/labkey/test/components/ui/grids/ResponsiveGrid.java b/src/org/labkey/test/components/ui/grids/ResponsiveGrid.java index 2fd6fba318..191350816c 100644 --- a/src/org/labkey/test/components/ui/grids/ResponsiveGrid.java +++ b/src/org/labkey/test/components/ui/grids/ResponsiveGrid.java @@ -232,7 +232,16 @@ private GridFilterModal initFilterColumn(CharSequence columnIdentifier, Filter.O clickColumnMenuItem(columnIdentifier, "Filter...", false); GridFilterModal filterModal = new GridFilterModal(getDriver(), this); if (operator != null) - filterModal.selectExpressionTab().setFilter(new FilterExpressionPanel.Expression(operator, value)); + { + if (operator.equals(Filter.Operator.IN) && value instanceof List) + { + List values = (List) value; + filterModal.selectFacetTab().selectValue(values.get(0)); + filterModal.selectFacetTab().checkValues(values.toArray(String[]::new)); + } + else + filterModal.selectExpressionTab().setFilter(new FilterExpressionPanel.Expression(operator, value)); + } return filterModal; } From b7f21d91d74caf977a1e789370189f5e0608d646 Mon Sep 17 00:00:00 2001 From: XingY Date: Fri, 30 May 2025 16:05:49 -0700 Subject: [PATCH 3/3] fix test --- .../components/ui/entities/EntityBulkUpdateDialog.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/org/labkey/test/components/ui/entities/EntityBulkUpdateDialog.java b/src/org/labkey/test/components/ui/entities/EntityBulkUpdateDialog.java index c255da7a21..c5709dca75 100644 --- a/src/org/labkey/test/components/ui/entities/EntityBulkUpdateDialog.java +++ b/src/org/labkey/test/components/ui/entities/EntityBulkUpdateDialog.java @@ -269,9 +269,9 @@ public EntityBulkUpdateDialog removeFile(CharSequence fieldIdentifier) return this; } - public FileUploadField getExistingFileField(String fieldKey) + public FileUploadField getExistingFileField(String fieldIdentifier) { - return elementCache().fileField(fieldKey); + return elementCache().fileField(fieldIdentifier); } /** @@ -475,9 +475,9 @@ public FileAttachmentContainer fileUploadField(CharSequence fieldIdentifier) return new FileAttachmentContainer(formRow(fieldIdentifier), getDriver()); } - public FileUploadField fileField(String fieldKey) + public FileUploadField fileField(CharSequence fieldIdentifier) { - return new FileUploadField(Locator.tagWithClass("div", "col-xs-12").findElementOrNull(formRow(fieldKey)), getDriver()); + return new FileUploadField(Locator.tagWithClass("div", "col-xs-12").findElementOrNull(formRow(fieldIdentifier)), getDriver()); } final Locator textInputLoc = Locator.tagWithAttribute("input", "type", "text");