Skip to content

Commit

Permalink
pkp/pkp-lib#9890 Update target selector for nav items in cypress tests
Browse files Browse the repository at this point in the history
  • Loading branch information
blesildaramirez committed Sep 13, 2024
1 parent c449d86 commit ee77061
Show file tree
Hide file tree
Showing 12 changed files with 51 additions and 37 deletions.
4 changes: 2 additions & 2 deletions cypress/tests/data/10-ApplicationSetup/20-CreateContext.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ describe('Data suite tests', function() {
cy.get('a').contains('admin').click();
cy.get('a').contains('Dashboard').click();
cy.get('nav').contains('Settings').click();
// Ensure 'Journal' click despite submenu animation
// Ensure submenu item click despite animation
cy.get('nav').contains('Journal').click({ force: true });
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Journal').click({ force: true });

Expand Down Expand Up @@ -127,7 +127,7 @@ describe('Data suite tests', function() {
cy.get('a').contains('admin').click();
cy.get('a').contains('Dashboard').click();
cy.get('nav').contains('Settings').click();
// Ensure 'Journal' click despite submenu animation
// Ensure submenu item click despite animation
cy.get('nav').contains('Journal').click({ force: true });
cy.get('button[id="contact-button"]').click();

Expand Down
5 changes: 3 additions & 2 deletions cypress/tests/data/10-ApplicationSetup/40-CreateUsers.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ describe('Data suite tests', function() {
cy.login('admin', 'admin');
cy.get('a:contains("admin"):visible').click();
cy.get('a:contains("Dashboard")').click();
cy.get('nav div[data-pc-section="header"] a span').contains('Settings').click();
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Users & Roles').click({ force: true });
cy.get('nav').contains('Settings').click();
// Ensure submenu item click despite animation
cy.get('nav').contains('Users & Roles').click({ force: true });

var users = [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ describe('Data suite tests', function() {
cy.login('admin', 'admin');
cy.get('a').contains('admin').click();
cy.get('a').contains('Dashboard').click();
cy.get('nav div[data-pc-section="header"] a span').contains('Settings').click();
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Journal').click({ force: true });
cy.get('nav').contains('Settings').click();
// Ensure submenu item click despite animation
cy.get('nav').contains('Journal').click({ force: true });
cy.get('button[id="categories-button"]').click();

// Create an Applied Science category
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ describe('Data suite tests', function() {
cy.login('admin', 'admin');
cy.get('a').contains('admin').click();
cy.get('a').contains('Dashboard').click();
cy.get('nav div[data-pc-section="header"] a span').contains('Issues').click();
cy.get('nav').contains('Issues').click();
cy.get('a[id^=component-grid-issues-futureissuegrid-addIssue-button-]').click();
cy.wait(1000); // Avoid occasional failure due to form init taking time
cy.get('input[name="volume"]').type('1', {delay: 0});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ describe('Data suite tests', function() {
cy.login('admin', 'admin');
cy.get('a').contains('admin').click();
cy.get('a').contains('Dashboard').click();
cy.get('nav div[data-pc-section="header"] a span').contains('Settings').click();
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Journal').click({ force: true });
cy.get('nav').contains('Settings').click();
// Ensure submenu item click despite animation
cy.get('nav').contains('Journal').click({ force: true });
cy.get('button[id="sections-button"]').click();

// Edit Articles section to add section editors
Expand Down
2 changes: 1 addition & 1 deletion cypress/tests/integration/Doi.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ describe('DOI tests', function() {
};

const goToDoiPage = (itemType = 'submission') => {
cy.get('nav div[data-pc-section="header"] a span').contains('DOIs').click();
cy.get('nav').contains('DOIs').click();
cy.get(`button#${itemType}-doi-management-button`).click();
};

Expand Down
13 changes: 8 additions & 5 deletions cypress/tests/integration/DoiCrossref.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ describe('Crossref tests', function () {
it('Check Crossref Configuration', function () {
cy.login('dbarnes', null, 'publicknowledge');

cy.get('nav div[data-pc-section="header"] a span').contains('Settings').click();
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Website').click({ force: true });
cy.get('nav').contains('Settings').click();
// Ensure submenu item click despite animation
cy.get('nav').contains('Website').click({ force: true });

cy.waitJQuery();
cy.get('button#plugins-button').click();
Expand All @@ -24,7 +25,8 @@ describe('Crossref tests', function () {
cy.get('input[id^=select-cell-crossrefplugin]').should('be.checked');

// Crossref is enabled as DOI registration agency.
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Distribution').click({ force: true });
// Ensure submenu item click despite animation
cy.get('nav').contains('Distribution').click({ force: true });
cy.get('button#dois-button').click();
cy.get(
'#doiSetup input[name="enabledDoiTypes"][value="representation"]'
Expand Down Expand Up @@ -82,8 +84,9 @@ describe('Crossref tests', function () {
});

cy.log('Deselect Crossref as registered agency for downstream tests');
cy.get('nav div[data-pc-section="header"] a span').contains('Settings').click();
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Distribution').click({ force: true });
cy.get('nav').contains('Settings').click();
// Ensure submenu item click despite animation
cy.get('nav').contains('Distribution').click({ force: true });
cy.get('button#dois-button').click();
cy.get('button#doisRegistration-button').click();
cy.get('select#doiRegistrationSettings-registrationAgency-control').select(
Expand Down
5 changes: 3 additions & 2 deletions cypress/tests/integration/Statistics.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ describe('Statistics Tests', function() {

it('Check statistics', function() {
cy.login('dbarnes', null, 'publicknowledge');
cy.get('nav div[data-pc-section="header"] a span').contains('Statistics').click();
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Articles').click({ force: true });
cy.get('nav').contains('Statistics').click();
// Ensure submenu item click despite animation
cy.get('nav').contains('Articles').click({ force: true });
cy.checkGraph(
'Total abstract views by date',
'Abstract Views',
Expand Down
20 changes: 12 additions & 8 deletions cypress/tests/integration/SubmissionWizard.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,9 @@ describe('Submission Wizard', function() {

// Make all sections editor-restricted
cy.login('dbarnes', null, 'publicknowledge');
cy.get('nav div[data-pc-section="header"] a span').contains('Settings').click();
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Journal').click({ force: true });
cy.get('nav').contains('Settings').click();
// Ensure submenu item click despite animation
cy.get('nav').contains('Journal').click({ force: true });
cy.get('.pkpTabs__buttons button:contains("Sections")').click();
cy.get('#sectionsGridContainer a.show_extras')
.each(($showExtras) => {
Expand All @@ -110,8 +111,9 @@ describe('Submission Wizard', function() {
// Make Articles inactive and leave Reviews editor-restricted
cy.logout();
cy.login('dbarnes', null, 'publicknowledge');
cy.get('nav div[data-pc-section="header"] a span').contains('Settings').click();
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Journal').click({ force: true });
cy.get('nav').contains('Settings').click();
// Ensure submenu item click despite animation
cy.get('nav').contains('Journal').click({ force: true });
cy.get('.pkpTabs__buttons button:contains("Sections")').click();
cy.get('#sectionsGridContainer tr:contains("Articles") input').check();
cy.get('[role="dialog"] button:contains("OK")').click();
Expand All @@ -126,8 +128,9 @@ describe('Submission Wizard', function() {
// Make Reviews not editor-restricted
cy.logout();
cy.login('dbarnes', null, 'publicknowledge');
cy.get('nav div[data-pc-section="header"] a span').contains('Settings').click();
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Journal').click({ force: true });
cy.get('nav').contains('Settings').click();
// Ensure submenu item click despite animation
cy.get('nav').contains('Journal').click({ force: true });
cy.get('.pkpTabs__buttons button:contains("Sections")').click();
cy.get('#sectionsGridContainer tr:contains("Reviews")')
.then(($tr) => {
Expand All @@ -153,8 +156,9 @@ describe('Submission Wizard', function() {
// Reactivate Articles section to restore test data conditions
cy.logout();
cy.login('dbarnes', null, 'publicknowledge');
cy.get('nav div[data-pc-section="header"] a span').contains('Settings').click();
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Journal').click({ force: true });
cy.get('nav').contains('Settings').click();
// Ensure submenu item click despite animation
cy.get('nav').contains('Journal').click({ force: true });
cy.get('.pkpTabs__buttons button:contains("Sections")').click();
cy.get('#sectionsGridContainer tr:contains("Articles")')
.then(($tr) => {
Expand Down
16 changes: 9 additions & 7 deletions cypress/tests/integration/Subscriptions.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ describe('Subscription tests', function() {

it('Configures subscriptions', function() {
cy.login('dbarnes', null, 'publicknowledge');
cy.get('nav div[data-pc-section="header"] a span').contains('Settings').click();
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Distribution').click({ force: true });
cy.get('nav').contains('Settings').click();
// Ensure submenu item click despite animation
cy.get('nav').contains('Distribution').click({ force: true });

// Payment settings
cy.get('button#payments-button').click();
Expand All @@ -39,7 +40,7 @@ describe('Subscription tests', function() {
cy.get('#access [role="status"]').contains('Saved');

// Configure an issue for subscription.
cy.get('nav div[data-pc-section="header"] a span').contains('Issues').click();
cy.get('nav').contains('Issues').click();
cy.get('button:contains("Back Issues")').click();
cy.get('a:contains("Vol. 1 No. 2 (2014)")').click();
cy.get('[role="dialog"] a:contains("Access")').click();
Expand All @@ -48,7 +49,7 @@ describe('Subscription tests', function() {
cy.get('div:contains("Your changes have been saved.")');

// Set up subscription policies
cy.get('nav div[data-pc-section="header"] a span').contains('Payments').click();
cy.get('nav').contains('Payments').click();
cy.get('a[name=subscriptionPolicies]').click();
cy.get('input[id^="subscriptionName-"]').type('Sebastiano Mortensen', {delay: 0});
cy.get('input[id^="subscriptionEmail-"]').type('smortensen@mailinator.com', {delay: 0});
Expand Down Expand Up @@ -80,8 +81,9 @@ describe('Subscription tests', function() {
cy.login('dbarnes', null, 'publicknowledge');

// Create a reader user for the subscription
cy.get('nav div[data-pc-section="header"] a span').contains('Settings').click();
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Users & Roles').click({ force: true });
cy.get('nav').contains('Settings').click();
// Ensure submenu item click despite animation
cy.get('nav').contains('Users & Roles').click({ force: true });
cy.createUser({
'username': 'reader',
'givenName': 'Rea',
Expand All @@ -107,7 +109,7 @@ describe('Subscription tests', function() {
cy.login('dbarnes', null, 'publicknowledge');

// Set up an individual subscription type
cy.get('nav div[data-pc-section="header"] a span').contains('Payments').click();
cy.get('nav').contains('Payments').click();
cy.get('a[name="subscriptionTypes"]').click();
cy.get('a:contains("Create New Subscription Type")').click();
cy.wait(1000); // Form initialization problem
Expand Down
4 changes: 2 additions & 2 deletions cypress/tests/integration/Y_NativeXmlImportExportIssue.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ describe('Data suite tests', function() {

cy.get('li.profile a:contains("' + username + '")').click();
cy.get('li.profile a:contains("Dashboard")').click();
cy.get('nav div[data-pc-section="header"] a span').contains('Tools').click();
cy.get('nav').contains('Tools').click();
cy.get('a:contains("Native XML Plugin")').click();
cy.get('a:contains("Export Issues")').click();
cy.waitJQuery({timeout:20000});
Expand Down Expand Up @@ -43,7 +43,7 @@ describe('Data suite tests', function() {

cy.get('li.profile a:contains("' + username + '")').click();
cy.get('li.profile a:contains("Dashboard")').click();
cy.get('nav div[data-pc-section="header"] a span').contains('Tools').click();
cy.get('nav').contains('Tools').click();
// The a:contains(...) syntax ensures that it will wait for the
// tab to load. Do not convert to cy.get('a').contains('Native XML Plugin')
cy.get('a:contains("Native XML Plugin")').click();
Expand Down
7 changes: 4 additions & 3 deletions cypress/tests/integration/Z_ArticleViewDCMetadata.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -359,8 +359,9 @@ describe('Article View Metadata - DC Plugin', function() {
cy.get('a').contains('Dashboard').click();

// Enable metadata settings
cy.get('nav div[data-pc-section="header"] a span').contains('Settings').click();
cy.get('nav div[data-pc-section="itemcontent"] a span').contains('Workflow').click({ force: true });
cy.get('nav').contains('Settings').click();
// Ensure submenu item click despite animation
cy.get('nav').contains('Workflow').click({ force: true });
cy.get('button').contains('Metadata').click();
cy.get('span').contains('Enable coverage metadata').prev('input[type="checkbox"]').check();
cy.get('span').contains('Enable type metadata').prev('input[type="checkbox"]').check();
Expand All @@ -373,7 +374,7 @@ describe('Article View Metadata - DC Plugin', function() {
cy.checkDoiConfig(['publication', 'issue', 'representation']);

// After configuration, go to submissions
cy.get('nav div[data-pc-section="header"] a span').contains('Submissions').click();
cy.get('nav').contains('Submissions').click();

// Create a new submission
cy.getCsrfToken();
Expand Down

0 comments on commit ee77061

Please sign in to comment.