Set location hash if query parameters or path have changed (#7306)

* refactor to es6 class

* change URL on path or params change

* add test for url

* put into edit mode for test

* es6 module export

* a11y: add `status` role to clock component

* a11y: add label to overlay

* a11y: update roles for search results

* a11y: add `dialog` role and label for PreviewContainer

* refactor(e2e): get rid of a bunch of `page.locator()`s

* refactor(e2e): spruce up locators

* test: fix unit tests

* fix tests with new aria labels

* fix tests with new aria labels

* fix tests with new aria labels

---------

Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
This commit is contained in:
Scott Bell
2024-01-08 20:29:01 +01:00
committed by GitHub
parent dfba4e23c5
commit 64d4ddd80e
16 changed files with 341 additions and 241 deletions

View File

@@ -91,27 +91,30 @@ test.describe('Notification Overlay', () => {
// Create a new Display Layout object
await createDomainObjectWithDefaults(page, { type: 'Display Layout' });
// Dismiss notification banner
await page.getByRole('button', { name: 'Dismiss' }).click();
// Click on the button "Review 1 Notification"
await page.click('button[aria-label="Review 1 Notification"]');
await page.getByRole('button', { name: 'Review 1 Notification' }).click();
// Verify that Notification List is open
expect(await page.locator('div[role="dialog"]').isVisible()).toBe(true);
await expect(page.getByRole('dialog', { name: 'Overlay' })).toBeVisible();
// Wait until there is no Notification Banner
await page.waitForSelector('div[role="alert"]', { state: 'detached' });
await expect(page.getByRole('alert')).not.toBeAttached();
// Click on the "Close" button of the Notification List
await page.click('button[aria-label="Close"]');
await page.getByRole('button', { name: 'Close' }).click();
// On the Display Layout object, click on the "Edit" button
await page.click('button[title="Edit"]');
await page.getByRole('button', { name: 'Edit' }).click();
// Click on the "Save" button
await page.click('button[title="Save"]');
await page.getByRole('button', { name: 'Save' }).click();
await page.getByRole('listitem', { name: 'Save and Finish Editing' }).click();
// Verify that Notification List is NOT open
expect(await page.locator('div[role="dialog"]').isVisible()).toBe(false);
await expect(page.getByRole('dialog', { name: 'Overlay' })).toBeHidden();
});
});