diff --git a/cypress/e2e/03-readOnly/reports.cy.d.ts b/cypress/e2e/03-readOnly/reports.cy.d.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/cypress/e2e/03-readOnly/reports.cy.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/cypress/e2e/03-readOnly/reports.cy.js b/cypress/e2e/03-readOnly/reports.cy.js new file mode 100644 index 00000000..c29f2941 --- /dev/null +++ b/cypress/e2e/03-readOnly/reports.cy.js @@ -0,0 +1,28 @@ +import { testView } from '../../../test/_globals.js'; +import { logout, login, ajaxDelayMillis } from '../../support/index.js'; +describe('Reports', () => { + beforeEach(() => { + logout(); + login(testView); + cy.visit('/reports'); + }); + afterEach(logout); + it('Has no detectable accessibility issues', () => { + cy.visit('/reports'); + cy.location('pathname').should('equal', '/reports'); + cy.injectAxe(); + cy.checkA11y(); + }); + it('Exports all reports without parameters', () => { + cy.get("a:not(.is-hidden)[download][href*='/reports/']").each(($reportLink) => { + cy.wrap($reportLink).click({ force: true }); + cy.wait(ajaxDelayMillis); + }); + }); + it('Exports all reports with parameters', () => { + cy.get("form[action*='/reports/']").each(($reportLink) => { + cy.wrap($reportLink).invoke('attr', 'target', '_blank').submit(); + cy.wait(ajaxDelayMillis); + }); + }); +}); diff --git a/cypress/e2e/03-readOnly/reports.cy.ts b/cypress/e2e/03-readOnly/reports.cy.ts new file mode 100644 index 00000000..ff43c8a3 --- /dev/null +++ b/cypress/e2e/03-readOnly/reports.cy.ts @@ -0,0 +1,36 @@ +import { testView } from '../../../test/_globals.js' + +import { logout, login, ajaxDelayMillis } from '../../support/index.js' + +describe('Reports', () => { + beforeEach(() => { + logout() + login(testView) + cy.visit('/reports') + }) + + afterEach(logout) + + it('Has no detectable accessibility issues', () => { + cy.visit('/reports') + cy.location('pathname').should('equal', '/reports') + cy.injectAxe() + cy.checkA11y() + }) + + it('Exports all reports without parameters', () => { + cy.get("a:not(.is-hidden)[download][href*='/reports/']").each( + ($reportLink) => { + cy.wrap($reportLink).click({ force: true }) + cy.wait(ajaxDelayMillis) + } + ) + }) + + it('Exports all reports with parameters', () => { + cy.get("form[action*='/reports/']").each(($reportLink) => { + cy.wrap($reportLink).invoke('attr', 'target', '_blank').submit() + cy.wait(ajaxDelayMillis) + }) + }) +}) diff --git a/views/report-search.ejs b/views/report-search.ejs index ada712ab..520981ab 100644 --- a/views/report-search.ejs +++ b/views/report-search.ejs @@ -3,52 +3,52 @@
All active work orders without completion dates.
@@ -89,19 +89,19 @@ @@ -120,7 +120,9 @@ CSV