From d12d0faf0904e241008c1e8c1f9463e19daf3b91 Mon Sep 17 00:00:00 2001 From: FrancescoMolinaro Date: Mon, 22 Jul 2024 17:53:03 +0200 Subject: [PATCH] [CST-15592] add accessibility tests for: Admin Curation Task Bitstream Format Health Page Metadata Schema --- cypress/e2e/admin-curation-tasks.cy.ts | 16 +++++++++++++ ...notifications-publication-claim-page.cy.ts | 2 +- cypress/e2e/bitstreams-format.cy.ts | 16 +++++++++++++ cypress/e2e/health-page.cy.ts | 24 +++++++++++++++++++ cypress/e2e/metadata-registry.cy.ts | 2 +- cypress/e2e/metadata-schema.cy.ts | 16 +++++++++++++ 6 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 cypress/e2e/admin-curation-tasks.cy.ts create mode 100644 cypress/e2e/bitstreams-format.cy.ts create mode 100644 cypress/e2e/health-page.cy.ts create mode 100644 cypress/e2e/metadata-schema.cy.ts diff --git a/cypress/e2e/admin-curation-tasks.cy.ts b/cypress/e2e/admin-curation-tasks.cy.ts new file mode 100644 index 0000000000..e66f0ccaad --- /dev/null +++ b/cypress/e2e/admin-curation-tasks.cy.ts @@ -0,0 +1,16 @@ +import { testA11y } from 'cypress/support/utils'; + +describe('Admin Curation Tasks', () => { + beforeEach(() => { + // Must login as an Admin to see the page + cy.visit('/admin/curation-tasks'); + cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD')); + }); + + it('should pass accessibility tests', () => { + // Page must first be visible + cy.get('ds-admin-curation-task').should('be.visible'); + // Analyze for accessibility issues + testA11y('ds-admin-curation-task'); + }); +}); diff --git a/cypress/e2e/admin-notifications-publication-claim-page.cy.ts b/cypress/e2e/admin-notifications-publication-claim-page.cy.ts index 4d297f5c9d..877a0542e2 100644 --- a/cypress/e2e/admin-notifications-publication-claim-page.cy.ts +++ b/cypress/e2e/admin-notifications-publication-claim-page.cy.ts @@ -1,6 +1,6 @@ import { testA11y } from 'cypress/support/utils'; -describe('Admin Notifications Publication Claim', () => { +describe('Admin Notifications Publication Claim Page', () => { beforeEach(() => { // Must login as an Admin to see the page cy.visit('/admin/notifications/publication-claim'); diff --git a/cypress/e2e/bitstreams-format.cy.ts b/cypress/e2e/bitstreams-format.cy.ts new file mode 100644 index 0000000000..f113d45ebc --- /dev/null +++ b/cypress/e2e/bitstreams-format.cy.ts @@ -0,0 +1,16 @@ +import { testA11y } from 'cypress/support/utils'; + +describe('Bitstreams Formats', () => { + beforeEach(() => { + // Must login as an Admin to see the page + cy.visit('/admin/registries/bitstream-formats'); + cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD')); + }); + + it('should pass accessibility tests', () => { + // Page must first be visible + cy.get('ds-bitstream-formats').should('be.visible'); + // Analyze for accessibility issues + testA11y('ds-bitstream-formats'); + }); +}); diff --git a/cypress/e2e/health-page.cy.ts b/cypress/e2e/health-page.cy.ts new file mode 100644 index 0000000000..91c68638ea --- /dev/null +++ b/cypress/e2e/health-page.cy.ts @@ -0,0 +1,24 @@ +import { testA11y } from 'cypress/support/utils'; +import { Options } from 'cypress-axe'; + +describe('Health Page', () => { + beforeEach(() => { + // Must login as an Admin to see the page + cy.visit('/health'); + cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD')); + }); + + it('should pass accessibility tests', () => { + // Page must first be visible + cy.get('ds-health-page').should('be.visible'); + // Analyze for accessibility issues + testA11y('ds-health-page', { + rules: { + // All panels are accordians & fail "aria-required-children" and "nested-interactive". + // Seem to require updating ng-bootstrap and https://github.com/DSpace/dspace-angular/issues/2216 + 'aria-required-children': { enabled: false }, + 'nested-interactive': { enabled: false }, + }, + } as Options); + }); +}); diff --git a/cypress/e2e/metadata-registry.cy.ts b/cypress/e2e/metadata-registry.cy.ts index f0f3db48d3..0402d33153 100644 --- a/cypress/e2e/metadata-registry.cy.ts +++ b/cypress/e2e/metadata-registry.cy.ts @@ -1,6 +1,6 @@ import { testA11y } from 'cypress/support/utils'; -describe('Metadata registry', () => { +describe('Metadata Registry', () => { beforeEach(() => { // Must login as an Admin to see the page cy.visit('/admin/registries/metadata'); diff --git a/cypress/e2e/metadata-schema.cy.ts b/cypress/e2e/metadata-schema.cy.ts new file mode 100644 index 0000000000..9ff0db0714 --- /dev/null +++ b/cypress/e2e/metadata-schema.cy.ts @@ -0,0 +1,16 @@ +import { testA11y } from 'cypress/support/utils'; + +describe('Metadata Schema', () => { + beforeEach(() => { + // Must login as an Admin to see the page + cy.visit('/admin/registries/metadata/dc'); + cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD')); + }); + + it('should pass accessibility tests', () => { + // Page must first be visible + cy.get('ds-metadata-schema').should('be.visible'); + // Analyze for accessibility issues + testA11y('ds-metadata-schema'); + }); +});