{browser.name}
{
setPendingUpdateReport({
atId: at.id,
@@ -225,6 +226,7 @@ const ManageRequiredReportsDisclosure = ({
Edit
{
setPendingDeleteReport({
at,
diff --git a/client/tests/e2e/TestQueue.e2e.test.js b/client/tests/e2e/TestQueue.e2e.test.js
index f8168bed3..abab262f7 100644
--- a/client/tests/e2e/TestQueue.e2e.test.js
+++ b/client/tests/e2e/TestQueue.e2e.test.js
@@ -486,3 +486,190 @@ describe('Test Queue tester traits when reports exist', () => {
});
});
});
+
+describe('Manage Required Reports Disclosure', () => {
+ const disclosureSelector =
+ '#disclosure-btn-manage-test-queue-Manage\\ Required\\ Reports';
+
+ it('renders the disclosure container and can be expanded', async () => {
+ await getPage({ role: 'admin', url: '/test-queue' }, async page => {
+ await page.waitForSelector(disclosureSelector);
+
+ const disclosureButton = await page.$(disclosureSelector);
+ expect(disclosureButton).toBeTruthy();
+
+ await disclosureButton.click();
+
+ const expandedContent = await page.$(
+ '#disclosure-container-manage-test-queue-Manage\\ Required\\ Reports'
+ );
+ expect(expandedContent).toBeTruthy();
+ });
+ });
+
+ it('can create a new required report', async () => {
+ await getPage({ role: 'admin', url: '/test-queue' }, async page => {
+ await page.waitForSelector(disclosureSelector);
+ await page.click(disclosureSelector);
+
+ // Wait for the disclosure row controls to be rendered
+ await page.waitForSelector('.disclosure-row-controls');
+
+ // Find the phase dropdown and select Candidate
+ const phaseDropdownSelector =
+ '.disclosure-row-controls .form-group:first-child .dropdown';
+ await page.waitForSelector(phaseDropdownSelector);
+ await page.click(`${phaseDropdownSelector} button`);
+ await page.waitForSelector(`${phaseDropdownSelector} .dropdown-menu`);
+ await page.click(
+ `${phaseDropdownSelector} .dropdown-menu .phase-option:first-child`
+ );
+
+ // Find the Assistive Technology dropdown and select VoiceOver
+ const atSelectSelector =
+ '.disclosure-row-controls .form-group:nth-child(2) select.form-select';
+ await page.waitForSelector(atSelectSelector);
+ await page.select(atSelectSelector, '3');
+
+ // Find the Browser dropdown and select Chrome
+ const browserSelectSelector =
+ '.disclosure-row-controls .form-group:nth-child(3) select.form-select';
+ await page.waitForSelector(browserSelectSelector);
+ await page.select(browserSelectSelector, '2');
+
+ await page.waitForSelector(
+ '.disclosure-row-controls .form-group:nth-child(4) button'
+ );
+
+ // Click the "Add" button
+ await page.click(
+ '.disclosure-row-controls .form-group:nth-child(4) button'
+ );
+
+ // Wait for the row to be added
+ await page.waitForFunction(() => {
+ const rows = document.querySelectorAll('tbody tr');
+ return Array.from(rows).some(
+ row =>
+ row.textContent.includes('VoiceOver for macOS') &&
+ row.textContent.includes('Chrome') &&
+ row.textContent.includes('Candidate')
+ );
+ }, 1000);
+ });
+ });
+
+ it('can update an existing required report', async () => {
+ await getPage({ role: 'admin', url: '/test-queue' }, async page => {
+ await page.waitForSelector(disclosureSelector);
+ await page.click(disclosureSelector);
+
+ // Find the edit button for the NVDA/Chrome/Candidate row
+ const editButtonSelector = await page.evaluate(() => {
+ const rows = Array.from(document.querySelectorAll('tbody tr'));
+ const targetRow = rows.find(
+ row =>
+ row.textContent.includes('NVDA') &&
+ row.textContent.includes('Chrome') &&
+ row.textContent.includes('Candidate')
+ );
+ if (targetRow) {
+ const editButton = targetRow.querySelector(
+ '.edit-required-report-button'
+ );
+ return editButton
+ ? `tbody tr:nth-child(${
+ rows.indexOf(targetRow) + 1
+ }) .edit-required-report-button`
+ : null;
+ }
+ return null;
+ });
+
+ if (editButtonSelector) {
+ await page.click(editButtonSelector);
+ } else {
+ throw new Error('Edit button not found');
+ }
+
+ await page.waitForSelector('div[role="dialog"].modal.show');
+ const modalTitle = await page.$eval('.modal-title', el => el.textContent);
+ expect(modalTitle).toContain('Edit the following AT/Browser pair');
+
+ const browserSelectSelector =
+ '.modal-body select[data-testid="required-report-browser-select"]';
+ await page.waitForSelector(browserSelectSelector);
+ await page.select(browserSelectSelector, '1'); // Firefox
+
+ // Save changes
+ await page.click('.modal-footer button.btn-primary');
+
+ await page.waitForFunction(
+ () => !document.querySelector('div[role="dialog"].modal.show')
+ );
+
+ // Wait for the table to update
+ await page.waitForFunction(() => {
+ const rows = document.querySelectorAll('tbody tr');
+ return Array.from(rows).some(
+ row =>
+ row.textContent.includes('NVDA') &&
+ row.textContent.includes('Firefox') &&
+ row.textContent.includes('Candidate')
+ );
+ }, 1000);
+ });
+ });
+
+ it('can delete an existing required report', async () => {
+ await getPage({ role: 'admin', url: '/test-queue' }, async page => {
+ await page.waitForSelector(disclosureSelector);
+ await page.click(disclosureSelector);
+
+ // Find and click the delete button for the NVDA/Chrome/Candidate row
+ const deleteButtonSelector = await page.evaluate(() => {
+ const rows = Array.from(document.querySelectorAll('tbody tr'));
+ const targetRow = rows.find(
+ row =>
+ row.textContent.includes('NVDA') &&
+ row.textContent.includes('Chrome') &&
+ row.textContent.includes('Candidate')
+ );
+ if (targetRow) {
+ const deleteButton = targetRow.querySelector(
+ '.delete-required-report-button'
+ );
+ return deleteButton
+ ? `tbody tr:nth-child(${
+ rows.indexOf(targetRow) + 1
+ }) .delete-required-report-button`
+ : null;
+ }
+ return null;
+ });
+
+ if (deleteButtonSelector) {
+ await page.click(deleteButtonSelector);
+ } else {
+ throw new Error('Delete button not found');
+ }
+
+ await page.waitForSelector(
+ 'text=Delete NVDA and Chrome pair for Candidate required reports'
+ );
+ // Confirm deletion
+ await page.click('.modal-footer button.btn-primary');
+
+ // Ensure the row is deleted
+ await page.waitForFunction(() => {
+ const rows = document.querySelectorAll('tbody tr');
+ return !Array.from(rows).some(
+ row =>
+ row.textContent.includes('NVDA') &&
+ row.textContent.includes('Chrome') &&
+ row.textContent.includes('Candidate')
+ );
+ }, 1000);
+ });
+ });
+});
From 0dfb7bd13df8837fb3c647a8f167a503016efec0 Mon Sep 17 00:00:00 2001
From: Stalgia Grigg
Date: Wed, 28 Aug 2024 10:33:08 -0700
Subject: [PATCH 05/15] AtVersions, Different order for newly added option
---
client/tests/e2e/AtVersions.e2e.test.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/client/tests/e2e/AtVersions.e2e.test.js b/client/tests/e2e/AtVersions.e2e.test.js
index 518a2f217..894076344 100644
--- a/client/tests/e2e/AtVersions.e2e.test.js
+++ b/client/tests/e2e/AtVersions.e2e.test.js
@@ -22,8 +22,8 @@ describe('AT Version UI', () => {
await page.click('.modal-footer button ::-p-text(Add Version)');
await page.waitForNetworkIdle({ idleTime: 5000 });
await page.click('.modal-footer button ::-p-text(Ok)');
- await page.waitForSelector('.at-versions-container option:nth-child(2) ::-p-text(99.0.1)');
- const optionValue = await page.$eval('.at-versions-container option:nth-child(2)', option => option.value);
+ await page.waitForSelector('.at-versions-container option:nth-child(1) ::-p-text(99.0.1)');
+ const optionValue = await page.$eval('.at-versions-container option:nth-child(1)', option => option.value);
await page.select('.at-versions-container select', optionValue);
await page.click('.at-versions-container button ::-p-text(Edit)');
const input = await page.waitForSelector('.modal-body .form-group:nth-child(1) input');
From 726483070ca8310aa2934c711cb2bdd52c03af92 Mon Sep 17 00:00:00 2001
From: Stalgia Grigg
Date: Wed, 28 Aug 2024 10:41:44 -0700
Subject: [PATCH 06/15] Update snapshots with testing attributes
---
.../e2e/snapshots/saved/_data-management.html | 58 +++++++++++++------
.../e2e/snapshots/saved/_test-queue.html | 58 +++++++++++++------
2 files changed, 78 insertions(+), 38 deletions(-)
diff --git a/client/tests/e2e/snapshots/saved/_data-management.html b/client/tests/e2e/snapshots/saved/_data-management.html
index 256197db1..22c80eee0 100644
--- a/client/tests/e2e/snapshots/saved/_data-management.html
+++ b/client/tests/e2e/snapshots/saved/_data-management.html
@@ -384,7 +384,9 @@
id="disclosure-container-manage-test-queue-Manage Required Reports"
aria-labelledby="disclosure-btn-manage-test-queue-Manage Required Reports"
class="css-19fsyrg">
-
+
Add required reports for a specific AT and Browser pair
@@ -448,7 +450,8 @@
JAWS
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
NVDA
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
VoiceOver for macOS
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
JAWS
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
JAWS
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
NVDA
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
NVDA
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
VoiceOver for macOS
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
VoiceOver for macOS
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
id="disclosure-container-manage-test-queue-Manage Required Reports"
aria-labelledby="disclosure-btn-manage-test-queue-Manage Required Reports"
class="css-19fsyrg">
-
+
Add required reports for a specific AT and Browser pair
@@ -388,7 +390,8 @@
JAWS
Chrome
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
NVDA
Chrome
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
VoiceOver for macOS
Safari
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
JAWS
Firefox
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
JAWS
Chrome
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
NVDA
Firefox
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
NVDA
Chrome
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
VoiceOver for macOS
Safari
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
VoiceOver for macOS
Chrome
-
+
fill="currentColor"
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z"> Edit
+ >
Date: Wed, 28 Aug 2024 11:24:14 -0700
Subject: [PATCH 07/15] Repairs for spliced merge
---
client/components/ManageTestQueue/index.jsx | 42 +++++++++++++++++--
.../CreateRequiredReportForm.jsx | 1 -
server/graphql-schema.js | 2 +-
3 files changed, 40 insertions(+), 5 deletions(-)
diff --git a/client/components/ManageTestQueue/index.jsx b/client/components/ManageTestQueue/index.jsx
index 09210f81b..a3f10e879 100644
--- a/client/components/ManageTestQueue/index.jsx
+++ b/client/components/ManageTestQueue/index.jsx
@@ -17,11 +17,8 @@ export const DisclosureContainer = styled.div`
// Add Test Plan to Test Queue button
> button {
- display: flex;
padding: 0.5rem 1rem;
margin-top: 1rem;
- margin-left: auto;
- margin-right: 0;
}
.disclosure-row-manage-ats {
@@ -65,6 +62,45 @@ export const DisclosureContainer = styled.div`
}
}
+ .disclosure-row-test-plans {
+ .disclosure-row-controls {
+ display: grid;
+ display: grid;
+ row-gap: 0.5rem;
+ grid-auto-flow: column;
+ grid-template-columns: 2fr 2fr 1fr;
+ grid-template-columns: 1fr 1fr 1fr 1fr;
+ column-gap: 2rem;
+ grid-gap: 1rem;
+ align-items: end;
+ & > :nth-of-type(3) {
+ display: block;
+ }
+ & > :nth-of-type(5) {
+ grid-column: span 2;
+ }
+ @media (max-width: 768px) {
+ grid-template-columns: 1fr;
+ & > :nth-of-type(3) {
+ display: none;
+ }
+ & > :nth-of-type(5) {
+ grid-column: initial;
+ }
+ }
+ }
+ .form-group-at-version {
+ display: flex;
+ flex-wrap: wrap;
+ column-gap: 1rem;
+ row-gap: 0.75rem;
+ select {
+ width: inherit;
+ @media (max-width: 767px) {
+ flex-grow: 1;
+ }
+ }
+
.disclosure-row-controls {
display: grid;
grid-auto-flow: column;
diff --git a/client/components/common/ManageRequiredReportsDisclosure/CreateRequiredReportForm.jsx b/client/components/common/ManageRequiredReportsDisclosure/CreateRequiredReportForm.jsx
index 8ee6ee3e1..c4bcf8836 100644
--- a/client/components/common/ManageRequiredReportsDisclosure/CreateRequiredReportForm.jsx
+++ b/client/components/common/ManageRequiredReportsDisclosure/CreateRequiredReportForm.jsx
@@ -17,7 +17,6 @@ const CustomToggleButton = styled.button`
.icon-container {
background-color: red;
- /* position: relative; */
float: right;
margin-top: 2px;
margin-right: 3px;
diff --git a/server/graphql-schema.js b/server/graphql-schema.js
index 30e5f5e56..f8abedd84 100644
--- a/server/graphql-schema.js
+++ b/server/graphql-schema.js
@@ -736,7 +736,7 @@ const graphqlSchema = gql`
"""
input TestResultInput {
"""
- The version for a given assistive technology.
+ See TestResult type for more information.
"""
id: ID!
"""
From 51cd9e641a605e2ccfc227756660802ae49f5126 Mon Sep 17 00:00:00 2001
From: Stalgia Grigg
Date: Wed, 28 Aug 2024 11:29:42 -0700
Subject: [PATCH 08/15] Disclosure container styles
---
client/components/ManageTestQueue/index.jsx | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/client/components/ManageTestQueue/index.jsx b/client/components/ManageTestQueue/index.jsx
index a3f10e879..b4ec4cee9 100644
--- a/client/components/ManageTestQueue/index.jsx
+++ b/client/components/ManageTestQueue/index.jsx
@@ -63,24 +63,21 @@ export const DisclosureContainer = styled.div`
}
.disclosure-row-test-plans {
- .disclosure-row-controls {
- display: grid;
display: grid;
row-gap: 0.5rem;
- grid-auto-flow: column;
grid-template-columns: 2fr 2fr 1fr;
- grid-template-columns: 1fr 1fr 1fr 1fr;
column-gap: 2rem;
- grid-gap: 1rem;
- align-items: end;
+
& > :nth-of-type(3) {
display: block;
}
& > :nth-of-type(5) {
grid-column: span 2;
}
+
@media (max-width: 768px) {
grid-template-columns: 1fr;
+
& > :nth-of-type(3) {
display: none;
}
@@ -89,6 +86,7 @@ export const DisclosureContainer = styled.div`
}
}
}
+
.form-group-at-version {
display: flex;
flex-wrap: wrap;
@@ -100,6 +98,7 @@ export const DisclosureContainer = styled.div`
flex-grow: 1;
}
}
+ }
.disclosure-row-controls {
display: grid;
From 5904f9bd48918fb726899b539b3bd8e4c824b9e4 Mon Sep 17 00:00:00 2001
From: Stalgia Grigg
Date: Wed, 28 Aug 2024 11:52:15 -0700
Subject: [PATCH 09/15] Snapshots for updated style classes
---
client/tests/e2e/snapshots/saved/_data-management.html | 8 ++++----
client/tests/e2e/snapshots/saved/_test-queue.html | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/client/tests/e2e/snapshots/saved/_data-management.html b/client/tests/e2e/snapshots/saved/_data-management.html
index 22c80eee0..bcc1c5aaa 100644
--- a/client/tests/e2e/snapshots/saved/_data-management.html
+++ b/client/tests/e2e/snapshots/saved/_data-management.html
@@ -114,7 +114,7 @@
id="disclosure-container-manage-test-queue-Manage Assistive Technology Versions"
aria-labelledby="disclosure-btn-manage-test-queue-Manage Assistive Technology Versions"
class="css-19fsyrg">
-
+
Select an assistive technology and manage its versions in the
ARIA-AT App
id="disclosure-container-manage-test-queue-Add Test Plans to the Test Queue"
aria-labelledby="disclosure-btn-manage-test-queue-Add Test Plans to the Test Queue"
class="css-19fsyrg">
-
+
Select a test plan, assistive technology and browser to add a
new test plan report to the test queue.
class="css-19fsyrg">
+ class="css-179mgwn">
Add required reports for a specific AT and Browser pair
@@ -396,7 +396,7 @@
>Phase
-
+
Select a Phase
diff --git a/client/tests/e2e/snapshots/saved/_test-queue.html b/client/tests/e2e/snapshots/saved/_test-queue.html
index 9457d766e..2d702a72c 100644
--- a/client/tests/e2e/snapshots/saved/_test-queue.html
+++ b/client/tests/e2e/snapshots/saved/_test-queue.html
@@ -109,7 +109,7 @@
id="disclosure-container-manage-test-queue-Manage Assistive Technology Versions"
aria-labelledby="disclosure-btn-manage-test-queue-Manage Assistive Technology Versions"
class="css-19fsyrg">
-
+
Select an assistive technology and manage its versions in the
ARIA-AT App
id="disclosure-container-manage-test-queue-Add Test Plans to the Test Queue"
aria-labelledby="disclosure-btn-manage-test-queue-Add Test Plans to the Test Queue"
class="css-19fsyrg">
-
+
Select a test plan, assistive technology and browser to add a
new test plan report to the test queue.
class="css-19fsyrg">
+ class="css-179mgwn">
Add required reports for a specific AT and Browser pair
@@ -336,7 +336,7 @@
>Phase
-
+
Select a Phase
From 7d8304abf55f2c01ff5aaf3fb98a9fb902b1e518 Mon Sep 17 00:00:00 2001
From: Stalgia Grigg
Date: Wed, 11 Sep 2024 12:19:10 -0700
Subject: [PATCH 10/15] Remove duplicated enum
---
server/graphql-schema.js | 25 -------------------------
1 file changed, 25 deletions(-)
diff --git a/server/graphql-schema.js b/server/graphql-schema.js
index f8abedd84..1acdc9c56 100644
--- a/server/graphql-schema.js
+++ b/server/graphql-schema.js
@@ -865,31 +865,6 @@ const graphqlSchema = gql`
failedReason: AssertionFailedReason
}
- enum TestPlanVersionPhase {
- """
- Accepting new TestPlanRuns from testers.
- """
- RD
- """
- Accepting new TestPlanRuns from testers.
- """
- DRAFT
- """
- Testing is complete and consistent, and ready to be displayed in the
- Candidate Tests and Reports section of the app.
- """
- CANDIDATE
- """
- Testing is complete and consistent, and ready to be displayed in the
- Reports section of the app as being recommended.
- """
- RECOMMENDED
- """
- The TestPlanVersion is now outdated and replaced by another version.
- """
- DEPRECATED
- }
-
"""
Minimal plain representation of an AssertionResult.
"""
From 1f7db13b1d0ea87271d9700310ba76e944f42e4f Mon Sep 17 00:00:00 2001
From: Stalgia Grigg
Date: Wed, 11 Sep 2024 12:45:05 -0700
Subject: [PATCH 11/15] Remove RequiredReportPhase
---
client/components/ManageTestQueue/queries.js | 6 +++---
.../common/ManageRequiredReportsDisclosure/index.jsx | 6 +++---
server/graphql-schema.js | 9 ++-------
.../createRequiredReportResolver.js | 4 ++--
.../deleteRequiredReportResolver.js | 4 ++--
.../updateRequiredReportResolver.js | 4 ++--
server/tests/integration/graphql.test.js | 2 +-
7 files changed, 15 insertions(+), 20 deletions(-)
diff --git a/client/components/ManageTestQueue/queries.js b/client/components/ManageTestQueue/queries.js
index 2f80b6d96..bebe8f4a3 100644
--- a/client/components/ManageTestQueue/queries.js
+++ b/client/components/ManageTestQueue/queries.js
@@ -58,7 +58,7 @@ export const CREATE_REQUIRED_REPORT_MUTATION = gql`
mutation CreateRequiredReport(
$atId: ID!
$browserId: ID!
- $phase: RequiredReportPhase!
+ $phase: TestPlanVersionPhase!
) {
requiredReport(atId: $atId, browserId: $browserId, phase: $phase) {
createRequiredReport {
@@ -74,7 +74,7 @@ export const UPDATE_REQUIRED_REPORT_MUTATION = gql`
mutation UpdateRequiredReport(
$atId: ID!
$browserId: ID!
- $phase: RequiredReportPhase!
+ $phase: TestPlanVersionPhase!
$updateAtId: ID!
$updateBrowserId: ID!
) {
@@ -92,7 +92,7 @@ export const DELETE_REQUIRED_REPORT_MUTATION = gql`
mutation DeleteRequiredReport(
$atId: ID!
$browserId: ID!
- $phase: RequiredReportPhase!
+ $phase: TestPlanVersionPhase!
) {
requiredReport(atId: $atId, browserId: $browserId, phase: $phase) {
deleteRequiredReport {
diff --git a/client/components/common/ManageRequiredReportsDisclosure/index.jsx b/client/components/common/ManageRequiredReportsDisclosure/index.jsx
index 20dca6490..f32ae7156 100644
--- a/client/components/common/ManageRequiredReportsDisclosure/index.jsx
+++ b/client/components/common/ManageRequiredReportsDisclosure/index.jsx
@@ -111,7 +111,7 @@ const ManageRequiredReportsDisclosure = ({
const { data } = await mutationFn({
variables: {
...actionData,
- phase: `IS_${actionData.phase}`
+ phase: actionData.phase
}
});
@@ -139,7 +139,7 @@ const ManageRequiredReportsDisclosure = ({
createData =>
handleRequiredReportAction(
'create',
- createData,
+ { ...createData, phase: createData.phase.toUpperCase() },
createRequiredReport,
'Adding Phase requirement to the required reports table'
),
@@ -206,7 +206,7 @@ const ManageRequiredReportsDisclosure = ({
- {phase}
+ {phase.toUpperCase()}
{at.name}
diff --git a/server/graphql-schema.js b/server/graphql-schema.js
index 1acdc9c56..00b2db807 100644
--- a/server/graphql-schema.js
+++ b/server/graphql-schema.js
@@ -793,7 +793,7 @@ const graphqlSchema = gql`
type RequiredReport {
atId: ID!
browserId: ID!
- phase: RequiredReportPhase!
+ phase: TestPlanVersionPhase!
}
"""
@@ -1341,11 +1341,6 @@ const graphqlSchema = gql`
findOrCreateAtVersion(input: AtVersionInput!): AtVersion!
}
- enum RequiredReportPhase {
- IS_CANDIDATE
- IS_RECOMMENDED
- }
-
type RequiredReportOperations {
createRequiredReport: RequiredReport!
updateRequiredReport(atId: ID!, browserId: ID!): RequiredReport!
@@ -1613,7 +1608,7 @@ const graphqlSchema = gql`
requiredReport(
atId: ID!
browserId: ID!
- phase: RequiredReportPhase!
+ phase: TestPlanVersionPhase!
): RequiredReportOperations!
}
`;
diff --git a/server/resolvers/RequiredReportOperations/createRequiredReportResolver.js b/server/resolvers/RequiredReportOperations/createRequiredReportResolver.js
index ecbb7eeb6..2bf27341d 100644
--- a/server/resolvers/RequiredReportOperations/createRequiredReportResolver.js
+++ b/server/resolvers/RequiredReportOperations/createRequiredReportResolver.js
@@ -13,10 +13,10 @@ const createRequiredReportResolver = async (
let updateParams = {};
- if (phase === 'IS_CANDIDATE') {
+ if (phase === 'CANDIDATE') {
updateParams = { isCandidate: true };
}
- if (phase === 'IS_RECOMMENDED') {
+ if (phase === 'RECOMMENDED') {
updateParams = { isRecommended: true };
}
diff --git a/server/resolvers/RequiredReportOperations/deleteRequiredReportResolver.js b/server/resolvers/RequiredReportOperations/deleteRequiredReportResolver.js
index 27b2535a2..d1e97f410 100644
--- a/server/resolvers/RequiredReportOperations/deleteRequiredReportResolver.js
+++ b/server/resolvers/RequiredReportOperations/deleteRequiredReportResolver.js
@@ -13,10 +13,10 @@ const deleteRequiredReportResolver = async (
let updateParams = {};
- if (phase === 'IS_CANDIDATE') {
+ if (phase === 'CANDIDATE') {
updateParams = { isCandidate: false };
}
- if (phase === 'IS_RECOMMENDED') {
+ if (phase === 'RECOMMENDED') {
updateParams = { isRecommended: false };
}
diff --git a/server/resolvers/RequiredReportOperations/updateRequiredReportResolver.js b/server/resolvers/RequiredReportOperations/updateRequiredReportResolver.js
index bd184eb19..a27c3e1f4 100644
--- a/server/resolvers/RequiredReportOperations/updateRequiredReportResolver.js
+++ b/server/resolvers/RequiredReportOperations/updateRequiredReportResolver.js
@@ -17,7 +17,7 @@ const updateRequiredReportResolver = async (
// in the database. Each updateAtBrowser() call changes the boolean value
// for a particular row in the database. The booleans for two row need to be
// changed. So we call updateAtBrowser() twice.
- if (phase === 'IS_CANDIDATE') {
+ if (phase === 'CANDIDATE') {
updateParams = { isCandidate: false };
await updateAtBrowser({ atId, browserId, updateParams, transaction });
updateParams = { isCandidate: true };
@@ -28,7 +28,7 @@ const updateRequiredReportResolver = async (
transaction
});
}
- if (phase === 'IS_RECOMMENDED') {
+ if (phase === 'RECOMMENDED') {
updateParams = { isRecommended: false };
await updateAtBrowser({ atId, browserId, updateParams, transaction });
updateParams = { isRecommended: true };
diff --git a/server/tests/integration/graphql.test.js b/server/tests/integration/graphql.test.js
index f10ac0785..93a8b777f 100644
--- a/server/tests/integration/graphql.test.js
+++ b/server/tests/integration/graphql.test.js
@@ -801,7 +801,7 @@ describe('graphql', () => {
}
}
deleteCollectionJob(id: 1)
- requiredReport(atId: 1, browserId: 1, phase: IS_CANDIDATE) {
+ requiredReport(atId: 1, browserId: 1, phase: CANDIDATE) {
__typename
createRequiredReport {
__typename
From 43df5662649e5cde6f9fff7b0c09c6c86d0cc269 Mon Sep 17 00:00:00 2001
From: Stalgia Grigg
Date: Wed, 11 Sep 2024 12:53:43 -0700
Subject: [PATCH 12/15] Remove custom toggle
---
.../CreateRequiredReportForm.jsx | 136 ++++--------------
1 file changed, 27 insertions(+), 109 deletions(-)
diff --git a/client/components/common/ManageRequiredReportsDisclosure/CreateRequiredReportForm.jsx b/client/components/common/ManageRequiredReportsDisclosure/CreateRequiredReportForm.jsx
index c4bcf8836..8f342148b 100644
--- a/client/components/common/ManageRequiredReportsDisclosure/CreateRequiredReportForm.jsx
+++ b/client/components/common/ManageRequiredReportsDisclosure/CreateRequiredReportForm.jsx
@@ -1,97 +1,27 @@
import React, { useState } from 'react';
import PropTypes from 'prop-types';
-import { Button, Dropdown, Form } from 'react-bootstrap';
+import { Button, Form } from 'react-bootstrap';
import styled from '@emotion/styled';
import { AtPropType } from '../proptypes';
-const CustomToggleButton = styled.button`
- background-color: transparent;
- width: 100%;
- height: 38px;
- text-align: center;
-
- border: none;
- margin: 0;
- padding: 0;
- display: block;
-
- .icon-container {
- background-color: red;
- float: right;
- margin-top: 2px;
- margin-right: 3px;
- }
- .icon-chevron {
- font-size: 0.8rem;
- }
-`;
-
-const CustomToggleP = styled.p`
- border: 1px solid #ced4da;
- border-radius: 0.375rem;
- background-color: #fff;
- padding: 2px;
- width: 100%;
- height: 38px;
- cursor: default;
- display: inline-block;
-`;
-
-const CustomToggleSpan = styled.span`
+const StyledSelect = styled(Form.Select)`
+ appearance: none;
background-image: url('data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e');
background-repeat: no-repeat;
background-position: right 0.75rem center;
background-size: 16px 12px;
- float: left;
- margin-top: 2px;
- white-space: nowrap;
- background-color: ${props =>
- props.phaseLabel === 'Select a Phase'
- ? '#fff'
- : props.phaseLabel === 'Candidate'
- ? '#ff6c00'
- : props.phaseLabel === 'Recommended'
- ? '#8441de'
- : 'black'};
- border-radius: 14px;
- padding: 2px 32px 2px 14px;
- text-align: left;
- width: 100%;
- font-size: 1rem;
- font-weight: 400;
- color: ${props => (props.phaseLabel === 'Select a Phase' ? 'black' : '#fff')};
+ padding: 0.375rem 2.25rem 0.375rem 0.75rem;
+
+ ${props =>
+ props.value &&
+ `
+ background-color: ${props.value === 'Candidate' ? '#ff6c00' : '#8441de'};
+ color: white;
+ border-radius: 1.5rem;
+ padding-left: 1rem;
+ `}
`;
-const CustomMenu = React.forwardRef(({ children, className }, ref) => {
- const value = '';
-
- return (
-
-
- {React.Children.toArray(children).filter(
- child =>
- !value || child.props.children.toLowerCase().startsWith(value)
- )}
-
-
- );
-});
-
-// You can learn everything about this component here: https://react-bootstrap.netlify.app/docs/components/dropdowns#custom-dropdown-components
-const CustomToggle = React.forwardRef(({ children, onClick }, ref) => (
- {
- e.preventDefault();
- onClick(e);
- }}
- >
-
- {children}
-
-
-));
-
const FormGroup = ({ label, children }) => (
{label}
@@ -122,22 +52,20 @@ export const CreateRequiredReportForm = ({ ats, handleCreate }) => {
return (
-
-
- {formState.phase || 'Select a Phase'}
-
-
- {['Candidate', 'Recommended'].map(phase => (
- handleInputChange('phase', phase)}
- >
- {phase}
-
- ))}
-
-
+ handleInputChange('phase', e.target.value)}
+ required
+ >
+
+ Select a Phase
+
+ {['Candidate', 'Recommended'].map(phase => (
+
+ {phase}
+
+ ))}
+
Date: Wed, 11 Sep 2024 13:00:34 -0700
Subject: [PATCH 13/15] Update copy
Co-authored-by: howard-e
---
.../common/ManageRequiredReportsDisclosure/index.jsx | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/client/components/common/ManageRequiredReportsDisclosure/index.jsx b/client/components/common/ManageRequiredReportsDisclosure/index.jsx
index f32ae7156..80321e45c 100644
--- a/client/components/common/ManageRequiredReportsDisclosure/index.jsx
+++ b/client/components/common/ManageRequiredReportsDisclosure/index.jsx
@@ -183,7 +183,10 @@ const ManageRequiredReportsDisclosure = ({
return (
<>
- Add required reports for a specific AT and Browser pair
+
+ Update which assistive technology and browser combinations require
+ reports for the Candidate and Recommended phases
+
Date: Wed, 11 Sep 2024 13:19:54 -0700
Subject: [PATCH 14/15] Don't show required reports on Data Management, update
snapshots
---
client/components/ManageTestQueue/index.jsx | 75 +--
client/components/TestQueue/index.jsx | 2 +-
.../e2e/snapshots/saved/_data-management.html | 481 ------------------
.../e2e/snapshots/saved/_test-queue.html | 19 +-
4 files changed, 52 insertions(+), 525 deletions(-)
diff --git a/client/components/ManageTestQueue/index.jsx b/client/components/ManageTestQueue/index.jsx
index b4ec4cee9..4dc4d941e 100644
--- a/client/components/ManageTestQueue/index.jsx
+++ b/client/components/ManageTestQueue/index.jsx
@@ -118,7 +118,8 @@ const ManageTestQueue = ({
ats = [],
testPlanVersions = [],
triggerUpdate = () => {},
- browsers = []
+ browsers = [],
+ includeManageRequiredReports = false
}) => {
const { loadingMessage } = useTriggerLoad();
const [showManageATs, setShowManageATs] = useState(false);
@@ -130,40 +131,50 @@ const ManageTestQueue = ({
const onManageReqReportsClick = () =>
setShowManageReqReports(!showManageReqReports);
+ const titles = [
+ 'Manage Assistive Technology Versions',
+ 'Add Test Plans to the Test Queue'
+ ];
+
+ const disclosureViews = [
+ ,
+
+ ];
+
+ const onClickHandlers = [onManageAtsClick, onAddTestPlansClick];
+ const expandedStates = [showManageATs, showAddTestPlans];
+
+ if (includeManageRequiredReports) {
+ titles.push('Manage Required Reports');
+ disclosureViews.push(
+
+ );
+ onClickHandlers.push(onManageReqReportsClick);
+ expandedStates.push(showManageReqReports);
+ }
+
return (
,
- ,
-
- ]}
- onClick={[
- onManageAtsClick,
- onAddTestPlansClick,
- onManageReqReportsClick
- ]}
- expanded={[showManageATs, showAddTestPlans, showManageReqReports]}
+ title={titles}
+ disclosureContainerView={disclosureViews}
+ onClick={onClickHandlers}
+ expanded={expandedStates}
stacked
/>
@@ -175,7 +186,7 @@ ManageTestQueue.propTypes = {
testPlanVersions: PropTypes.arrayOf(TestPlanVersionPropType),
triggerUpdate: PropTypes.func,
browsers: PropTypes.array,
- enableManageRequiredReports: PropTypes.bool
+ includeManageRequiredReports: PropTypes.bool
};
export default ManageTestQueue;
diff --git a/client/components/TestQueue/index.jsx b/client/components/TestQueue/index.jsx
index 27d1d766c..61d882fb5 100644
--- a/client/components/TestQueue/index.jsx
+++ b/client/components/TestQueue/index.jsx
@@ -406,7 +406,7 @@ const TestQueue = () => {
ats={data.ats}
testPlanVersions={testPlanVersions}
triggerUpdate={refetch}
- enableManageRequiredReports={true}
+ includeManageRequiredReports={true}
browsers={data.browsers}
/>
)}
diff --git a/client/tests/e2e/snapshots/saved/_data-management.html b/client/tests/e2e/snapshots/saved/_data-management.html
index bcc1c5aaa..4f7539081 100644
--- a/client/tests/e2e/snapshots/saved/_data-management.html
+++ b/client/tests/e2e/snapshots/saved/_data-management.html
@@ -357,487 +357,6 @@
-
-
- Manage Required Reports
-
-
-
-
-
-
-
Add required reports for a specific AT and Browser pair
-
-
-
- Assistive Technology
-
- Select an Assistive Technology
-
- JAWS
- NVDA
- VoiceOver for macOS
-
-
-
- Browser
- Select a Browser
-
-
-
-
- Add Required Reports
-
-
-
-
- Required Reports
-
-
-
-
-
- Phase
- AT
- Browser
- Edit
-
-
-
-
-
- Candidate
-
- JAWS
-
-
-
-
- Edit
-
- Remove
-
-
-
-
-
- Candidate
-
- NVDA
-
-
-
-
- Edit
-
- Remove
-
-
-
-
-
- Candidate
-
- VoiceOver for macOS
-
-
-
-
- Edit
-
- Remove
-
-
-
-
-
- Recommended
-
- JAWS
-
-
-
-
- Edit
-
- Remove
-
-
-
-
-
- Recommended
-
- JAWS
-
-
-
-
- Edit
-
- Remove
-
-
-
-
-
- Recommended
-
- NVDA
-
-
-
-
- Edit
-
- Remove
-
-
-
-
-
- Recommended
-
- NVDA
-
-
-
-
- Edit
-
- Remove
-
-
-
-
-
- Recommended
-
- VoiceOver for macOS
-
-
-
-
- Edit
-
- Remove
-
-
-
-
-
- Recommended
-
- VoiceOver for macOS
-
-
-
-
- Edit
-
- Remove
-
-
-
-
-
-
-
-
Test Plans Status Summary
data-testid="manage-required-reports-disclosure"
class="css-179mgwn">
Add required reports for a specific AT and Browser pair Update which assistive technology and browser combinations
+ require reports for the Candidate and Recommended phases
Date: Wed, 11 Sep 2024 13:24:15 -0700
Subject: [PATCH 15/15] Update TestQueue e2e test for creating required report
after removal of CustomMenu and CustomToggle
---
client/tests/e2e/TestQueue.e2e.test.js | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/client/tests/e2e/TestQueue.e2e.test.js b/client/tests/e2e/TestQueue.e2e.test.js
index abab262f7..a94c96e24 100644
--- a/client/tests/e2e/TestQueue.e2e.test.js
+++ b/client/tests/e2e/TestQueue.e2e.test.js
@@ -515,15 +515,11 @@ describe('Manage Required Reports Disclosure', () => {
// Wait for the disclosure row controls to be rendered
await page.waitForSelector('.disclosure-row-controls');
- // Find the phase dropdown and select Candidate
- const phaseDropdownSelector =
- '.disclosure-row-controls .form-group:first-child .dropdown';
- await page.waitForSelector(phaseDropdownSelector);
- await page.click(`${phaseDropdownSelector} button`);
- await page.waitForSelector(`${phaseDropdownSelector} .dropdown-menu`);
- await page.click(
- `${phaseDropdownSelector} .dropdown-menu .phase-option:first-child`
- );
+ // Find the phase select and choose Candidate
+ const phaseSelectSelector =
+ '.disclosure-row-controls .form-group:first-child select';
+ await page.waitForSelector(phaseSelectSelector);
+ await page.select(phaseSelectSelector, 'Candidate');
// Find the Assistive Technology dropdown and select VoiceOver
const atSelectSelector =
@@ -541,7 +537,7 @@ describe('Manage Required Reports Disclosure', () => {
'.disclosure-row-controls .form-group:nth-child(4) button'
);
- // Click the "Add" button
+ // Click the "Add Required Reports" button
await page.click(
'.disclosure-row-controls .form-group:nth-child(4) button'
);