Skip to content

Commit

Permalink
Merge branch 'DSpace:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
im-shubham-vish authored Oct 19, 2024
2 parents ecfa42b + a157f9f commit d942ebe
Show file tree
Hide file tree
Showing 76 changed files with 24,687 additions and 16,805 deletions.
465 changes: 465 additions & 0 deletions .github/dependabot.yml

Large diffs are not rendered by default.

16 changes: 13 additions & 3 deletions config/config.example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -503,6 +503,16 @@ notifyMetrics:
description: 'admin-notify-dashboard.NOTIFY.outgoing.delivered.description'





# Live Region configuration
# Live Region as defined by w3c, https://www.w3.org/TR/wai-aria-1.1/#terms:
# Live regions are perceivable regions of a web page that are typically updated as a
# result of an external event when user focus may be elsewhere.
#
# The DSpace live region is a component present at the bottom of all pages that is invisible by default, but is useful
# for screen readers. Any message pushed to the live region will be announced by the screen reader. These messages
# usually contain information about changes on the page that might not be in focus.
liveRegion:
# The duration after which messages disappear from the live region in milliseconds
messageTimeOutDurationMs: 30000
# The visibility of the live region. Setting this to true is only useful for debugging purposes.
isVisible: false
4 changes: 4 additions & 0 deletions cypress.config.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { defineConfig } from 'cypress';

export default defineConfig({
video: true,
videosFolder: 'cypress/videos',
screenshotsFolder: 'cypress/screenshots',
fixturesFolder: 'cypress/fixtures',
Expand All @@ -18,6 +19,7 @@ export default defineConfig({

// Admin account used for administrative tests
DSPACE_TEST_ADMIN_USER: '[email protected]',
DSPACE_TEST_ADMIN_USER_UUID: '335647b6-8a52-4ecb-a8c1-7ebabb199bda',
DSPACE_TEST_ADMIN_PASSWORD: 'dspace',
// Community/collection/publication used for view/edit tests
DSPACE_TEST_COMMUNITY: '0958c910-2037-42a9-81c7-dca80e3892b4',
Expand All @@ -33,6 +35,8 @@ export default defineConfig({
// Account used to test basic submission process
DSPACE_TEST_SUBMIT_USER: '[email protected]',
DSPACE_TEST_SUBMIT_USER_PASSWORD: 'dspace',
// Administrator users group
DSPACE_ADMINISTRATOR_GROUP: 'e59f5659-bff9-451e-b28f-439e7bd467e4'
},
e2e: {
// Setup our plugins for e2e tests
Expand Down
48 changes: 48 additions & 0 deletions cypress/e2e/admin-add-new-modals.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import { testA11y } from 'cypress/support/utils';

describe('Admin Add New Modals', () => {
beforeEach(() => {
// Must login as an Admin for sidebar to appear
cy.visit('/login');
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
});

it('Add new Community modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('#sidebar-collapse-toggle').click();

// Click on entry of menu
cy.get('#admin-menu-section-new-title').click();

cy.get('a[data-test="menu.section.new_community"]').click();

// Analyze <ds-create-community-parent-selector> for accessibility
testA11y('ds-create-community-parent-selector');
});

it('Add new Collection modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('#sidebar-collapse-toggle').click();

// Click on entry of menu
cy.get('#admin-menu-section-new-title').click();

cy.get('a[data-test="menu.section.new_collection"]').click();

// Analyze <ds-create-collection-parent-selector> for accessibility
testA11y('ds-create-collection-parent-selector');
});

it('Add new Item modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('#sidebar-collapse-toggle').click();

// Click on entry of menu
cy.get('#admin-menu-section-new-title').click();

cy.get('a[data-test="menu.section.new_item"]').click();

// Analyze <ds-create-item-parent-selector> for accessibility
testA11y('ds-create-item-parent-selector');
});
});
16 changes: 16 additions & 0 deletions cypress/e2e/admin-curation-tasks.cy.ts
Original file line number Diff line number Diff line change
@@ -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 <ds-admin-curation-task> for accessibility issues
testA11y('ds-admin-curation-task');
});
});
48 changes: 48 additions & 0 deletions cypress/e2e/admin-edit-modals.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import { testA11y } from 'cypress/support/utils';

describe('Admin Edit Modals', () => {
beforeEach(() => {
// Must login as an Admin for sidebar to appear
cy.visit('/login');
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
});

it('Edit Community modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('#sidebar-collapse-toggle').click();

// Click on entry of menu
cy.get('#admin-menu-section-edit-title').click();

cy.get('a[data-test="menu.section.edit_community"]').click();

// Analyze <ds-edit-community-selector> for accessibility
testA11y('ds-edit-community-selector');
});

it('Edit Collection modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('#sidebar-collapse-toggle').click();

// Click on entry of menu
cy.get('#admin-menu-section-edit-title').click();

cy.get('a[data-test="menu.section.edit_collection"]').click();

// Analyze <ds-edit-collection-selector> for accessibility
testA11y('ds-edit-collection-selector');
});

it('Edit Item modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('#sidebar-collapse-toggle').click();

// Click on entry of menu
cy.get('#admin-menu-section-edit-title').click();

cy.get('a[data-test="menu.section.edit_item"]').click();

// Analyze <ds-edit-item-selector> for accessibility
testA11y('ds-edit-item-selector');
});
});
35 changes: 35 additions & 0 deletions cypress/e2e/admin-export-modals.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import { testA11y } from 'cypress/support/utils';

describe('Admin Export Modals', () => {
beforeEach(() => {
// Must login as an Admin for sidebar to appear
cy.visit('/login');
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
});

it('Export metadata modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('#sidebar-collapse-toggle').click();

// Click on entry of menu
cy.get('#admin-menu-section-export-title').click();

cy.get('a[data-test="menu.section.export_metadata"]').click();

// Analyze <ds-export-metadata-selector> for accessibility
testA11y('ds-export-metadata-selector');
});

it('Export batch modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('#sidebar-collapse-toggle').click();

// Click on entry of menu
cy.get('#admin-menu-section-export-title').click();

cy.get('a[data-test="menu.section.export_batch"]').click();

// Analyze <ds-export-batch-selector> for accessibility
testA11y('ds-export-batch-selector');
});
});
17 changes: 17 additions & 0 deletions cypress/e2e/admin-notifications-publication-claim-page.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { testA11y } from 'cypress/support/utils';

describe('Admin Notifications Publication Claim Page', () => {
beforeEach(() => {
// Must login as an Admin to see the page
cy.visit('/admin/notifications/publication-claim');
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-notifications-publication-claim-page').should('be.visible');
// Analyze <ds-admin-notifications-publication-claim-page> for accessibility issues
testA11y('ds-admin-notifications-publication-claim-page');
});
});
21 changes: 21 additions & 0 deletions cypress/e2e/admin-search-page.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { testA11y } from 'cypress/support/utils';

describe('Admin Search Page', () => {
beforeEach(() => {
// Must login as an Admin to see the page
cy.visit('/admin/search');
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-search-page').should('be.visible');
// At least one search result should be displayed
cy.get('[data-test="list-object"]').should('be.visible');
// Click each filter toggle to open *every* filter
// (As we want to scan filter section for accessibility issues as well)
cy.get('[data-test="filter-toggle"]').click({ multiple: true });
// Analyze <ds-admin-search-page> for accessibility issues
testA11y('ds-admin-search-page');
});
});
21 changes: 21 additions & 0 deletions cypress/e2e/admin-workflow-page.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { testA11y } from 'cypress/support/utils';

describe('Admin Workflow Page', () => {
beforeEach(() => {
// Must login as an Admin to see the page
cy.visit('/admin/workflow');
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-workflow-page').should('be.visible');
// At least one search result should be displayed
cy.get('[data-test="list-object"]').should('be.visible');
// Click each filter toggle to open *every* filter
// (As we want to scan filter section for accessibility issues as well)
cy.get('[data-test="filter-toggle"]').click({ multiple: true });
// Analyze <ds-admin-workflow-page> for accessibility issues
testA11y('ds-admin-workflow-page');
});
});
16 changes: 16 additions & 0 deletions cypress/e2e/batch-import-page.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { testA11y } from 'cypress/support/utils';

describe('Batch Import Page', () => {
beforeEach(() => {
// Must login as an Admin to see processes
cy.visit('/admin/batch-import');
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
});

it('should pass accessibility tests', () => {
// Batch import form must first be visible
cy.get('ds-batch-import-page').should('be.visible');
// Analyze <ds-batch-import-page> for accessibility issues
testA11y('ds-batch-import-page');
});
});
16 changes: 16 additions & 0 deletions cypress/e2e/bitstreams-format.cy.ts
Original file line number Diff line number Diff line change
@@ -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 <ds-bitstream-formats> for accessibility issues
testA11y('ds-bitstream-formats');
});
});
31 changes: 31 additions & 0 deletions cypress/e2e/bulk-access.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import { testA11y } from 'cypress/support/utils';
import { Options } from 'cypress-axe';

describe('Bulk Access', () => {
beforeEach(() => {
// Must login as an Admin to see the page
cy.visit('/access-control/bulk-access');
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-bulk-access').should('be.visible');
// At least one search result should be displayed
cy.get('[data-test="list-object"]').should('be.visible');
// Click each filter toggle to open *every* filter
// (As we want to scan filter section for accessibility issues as well)
cy.get('[data-test="filter-toggle"]').click({ multiple: true });
// Analyze <ds-bulk-access> for accessibility issues
testA11y('ds-bulk-access', {
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 },
// Card titles fail this test currently
'heading-order': { enabled: false },
},
} as Options);
});
});
16 changes: 16 additions & 0 deletions cypress/e2e/create-eperson.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { testA11y } from 'cypress/support/utils';

describe('Create Eperson', () => {
beforeEach(() => {
// Must login as an Admin to see the page
cy.visit('/access-control/epeople/create');
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
});

it('should pass accessibility tests', () => {
// Form must first be visible
cy.get('ds-eperson-form').should('be.visible');
// Analyze <ds-eperson-form> for accessibility issues
testA11y('ds-eperson-form');
});
});
16 changes: 16 additions & 0 deletions cypress/e2e/create-group.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { testA11y } from 'cypress/support/utils';

describe('Create Group', () => {
beforeEach(() => {
// Must login as an Admin to see the page
cy.visit('/access-control/groups/create');
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
});

it('should pass accessibility tests', () => {
// Form must first be visible
cy.get('ds-group-form').should('be.visible');
// Analyze <ds-group-form> for accessibility issues
testA11y('ds-group-form');
});
});
16 changes: 16 additions & 0 deletions cypress/e2e/edit-eperson.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { testA11y } from 'cypress/support/utils';

describe('Edit Eperson', () => {
beforeEach(() => {
// Must login as an Admin to see the page
cy.visit('/access-control/epeople/'.concat(Cypress.env('DSPACE_TEST_ADMIN_USER_UUID')).concat('/edit'));
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
});

it('should pass accessibility tests', () => {
// Form must first be visible
cy.get('ds-eperson-form').should('be.visible');
// Analyze <ds-eperson-form> for accessibility issues
testA11y('ds-eperson-form');
});
});
16 changes: 16 additions & 0 deletions cypress/e2e/edit-group.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { testA11y } from 'cypress/support/utils';

describe('Edit Group', () => {
beforeEach(() => {
// Must login as an Admin to see the page
cy.visit('/access-control/groups/'.concat(Cypress.env('DSPACE_ADMINISTRATOR_GROUP')).concat('/edit'));
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
});

it('should pass accessibility tests', () => {
// Form must first be visible
cy.get('ds-group-form').should('be.visible');
// Analyze <ds-group-form> for accessibility issues
testA11y('ds-group-form');
});
});
Loading

0 comments on commit d942ebe

Please sign in to comment.