Skip to content

Commit

Permalink
Add tests for email restriction feature
Browse files Browse the repository at this point in the history
  • Loading branch information
taslangraham committed Dec 19, 2024
1 parent a678b38 commit 2369dfe
Showing 1 changed file with 84 additions and 0 deletions.
84 changes: 84 additions & 0 deletions cypress/tests/integration/emailTemplates/emailTemplates.cy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
/**
* @file cypress/tests/integration/Orcid.cy.js
*
* Copyright (c) 2014-2024 Simon Fraser University
* Copyright (c) 2000-2024 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
*/

describe('Email Template Access Tests', function () {
it('Checks that user cannot access restricted template not assigned to their group', () => {
cy.login('admin', 'admin', 'publicknowledge');
cy.visit('/index.php/publicknowledge/management/settings/manageEmails');

cy.openEmailTemplate('Discussion (Production)', 'Editor Assigned');
// Remove all existing access
cy.setEmailTemplateUnrestrictedTo(false)
cy.get('input[name="assignedUserGroupIds"]')
.as('checkboxes')
.uncheck({ force: true })

cy.contains('button', 'Save').click();
cy.logout();

// Login as user without access - Moderator
cy.login('dbuskins')
cy.visit(
'index.php/publicknowledge/en/dashboard/editorial?currentViewId=assigned-to-me'
);
cy.contains('button', 'View').first().click();
cy.contains('a', 'Production').click();
cy.contains('a', 'Add discussion').click();

cy.get('select#template').find('option').contains('Editor Assigned').should('not.exist');
})

it('Checks that user can access unrestricted template not specifically assigned to their group', () => {
cy.login('admin', 'admin', 'publicknowledge');
cy.visit('/index.php/publicknowledge/management/settings/manageEmails');

cy.openEmailTemplate('Discussion (Production)', 'Editor Assigned');
cy.setEmailTemplateUnrestrictedTo(true);

cy.get('input[name="assignedUserGroupIds"]')
.as('checkboxes')
.uncheck({ force: true })

cy.contains('button', 'Save').click();
cy.logout();

// Login as user with access - Moderator
cy.login('dbuskins')
cy.visit(
'index.php/publicknowledge/en/dashboard/editorial?currentViewId=assigned-to-me'
);
cy.contains('button', 'View').first().click();
cy.contains('a', 'Production').click();
cy.contains('a', 'Add discussion').click();

cy.get('select#template').find('option').contains('Editor Assigned').should('to.exist');
})

it('Checks that user can access template assigned to their group', () => {
cy.login('admin', 'admin', 'publicknowledge');
cy.visit('/index.php/publicknowledge/management/settings/manageEmails');

cy.openEmailTemplate('Discussion (Production)', 'Editor Assigned');
cy.setEmailTemplateUnrestrictedTo(false)
cy.contains('label', 'Moderator').find('input[type="checkbox"]').check({ force: true });
cy.contains('button', 'Save').click();
cy.logout();

// Login as user with access - Moderator
cy.login('dbuskins')
cy.visit(
'index.php/publicknowledge/en/dashboard/editorial?currentViewId=assigned-to-me'
);
cy.contains('button', 'View').first().click();
cy.contains('a', 'Production').click();
cy.contains('a', 'Add discussion').click();

cy.get('select#template').find('option').contains('Editor Assigned').should('to.exist');
})
});

0 comments on commit 2369dfe

Please sign in to comment.