Skip to content

LKSM Folder Archives Test Automation#2512

Merged
labkey-danield merged 30 commits intodevelopfrom
fb_smFolderArchives
Aug 19, 2025
Merged

LKSM Folder Archives Test Automation#2512
labkey-danield merged 30 commits intodevelopfrom
fb_smFolderArchives

Conversation

@labkey-danield
Copy link
Contributor

@labkey-danield labkey-danield commented Jun 25, 2025

Rationale

Updating various shared test code for folder archive testing in LKSM.

The FolderArchiveDialog extends the DeleteConfirmationDialog. It's not identical but similar in behavior. I thought is would easier and quicker to derive from the delete dialog than to create a "new" dialog. Especially since I doubt the archive dialog will be used outside of these tests.

Related Pull Requests

Changes

  • Added BaseWebDriverTest.TRICKY_DOMAIN_NAME_CHARACTERS (Maybe not needed anymore?)
  • Add overloaded DeleteConfirmationDialog.confirmDelete to allow for different delete button text.
  • Add FolderArchiveDialog
  • Made public ResponsiveGrid.clickColumnMenuItem
  • Correct locator in NavBar.

Change pasteSamplesInput in BulkAddReferenceModalDialog from a method to use refind.
Update ContainerList to account for archived containers (folders).
Change ContainerList.getContainers to getAllContainers. Update usages.
Add DeleteConfirmationDialog.clickConfirmButton so class can be used by FolderArchiveDialog.
Add FolderArchiveDialog.
Change finders in FolderManagementPage to refind.
Add archive functionality to FolderSettingsPanel.
Change locator in NavBar. Now it can be used with Admin pages.
Add simple archive test.
Made public the ResponsiveGrid.clickColumnMenuItem
Reverting changes from container to folder.
Comment on lines 78 to 79
// Why is this method called clickAddParent?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This name is a relic of when the functionality was limited to searching by "Registry Parent" or "Sample Parent". Perhaps a questionable method name at the time but has gotten progressively worse with time.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've changed this to clickAddSearchCard. I think that name aligns it with more with the removeSearchCard and removeAllSearchCards methods. Let me know if yo disagree.

Comment on lines 24 to 32
public ConfirmPage clickYesArchive()
{
return clickYesArchive(10);
}

public ConfirmPage clickYesArchive(Integer waitSeconds)
{
return super.clickConfirmButton(waitSeconds, "Yes, Archive Folder");
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Extending DeleteConfirmationDialog is going to make this class have half a dozen "delete" related methods.
Possibly out of scope for this but we should pull a bunch of functionality from DeleteConfirmationDialog up into a more generic ConfirmationDialog so that all these confirmation dialogs aren't stepping on each other.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I was being a little lazy with this. I've changed the FolderArchiveDialog to only extend the ModalDialog, and have reverted the changes to the DeleteConfirmationDialog.
If refactoring the DeleteConfirmationDialog is an important task we should discuss in stand up and see where it fits into the priority of other tasks.

Copy link
Contributor

@labkey-susanh labkey-susanh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems good to me. I agree with Trey's comment about refactoring to have a more generic ConfirmationDialog. I remember seeing the DeleteConfirmationDialog as a base for something else giving me pause during some other PR.

@labkey-danield
Copy link
Contributor Author

Seems good to me. I agree with Trey's comment about refactoring to have a more generic ConfirmationDialog. I remember seeing the DeleteConfirmationDialog as a base for something else giving me pause during some other PR.

I've changed the FolderArchiveDialog to extend the ModalDialog and not the DeleteConfirmationDialog. I'll bring up in stand up the possibility of refactoring parts of the DeleteConfirmationDialog.

…mationDialog.

Revert changes to DeleteConfirmationDialog.
In SampleFinder, change clickAddParent to clickAddSearchCard
In FolderManagementPage moved the finders out of the elementCache and into the appropriate methods.
Updated constructor of FolderSettingsPanel to take a FolderManagementPage and not a WebDriver
Consolidated some test code and added screenshots on failures.
@labkey-danield labkey-danield merged commit a9e3b50 into develop Aug 19, 2025
6 checks passed
@labkey-danield labkey-danield deleted the fb_smFolderArchives branch August 19, 2025 23:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants