Skip to content

Commit 3e8eba3

Browse files
committed
Merge branch 'cypress-tests' into 'main'
Implements acceptance tests with Cypress. See merge request softwares-pkp/plugins_ojs/notificacao-atualizacao-plugins!2
2 parents 57d90ce + 91cd690 commit 3e8eba3

5 files changed

Lines changed: 74 additions & 0 deletions

File tree

cypress/support/commands.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import '../../../../../lib/pkp/cypress/support/commands';
2+
3+
const context = Cypress.env('context') || 'publicknowledge';
4+
const adminUser = Cypress.env('ojsAdminUsername') || 'admin';
5+
const adminPassword = Cypress.env('ojsAdminPassword') || 'admin';
6+
7+
Cypress.on('uncaught:exception', (err, runnable) => {
8+
// returning false here prevents Cypress from failing the test
9+
return false;
10+
});
11+
12+
Cypress.Commands.add('loginAdmin', () => {
13+
cy.login(adminUser, adminPassword, context);
14+
});
15+
16+
17+
Cypress.Commands.add('goToWebsiteSettings', () => {
18+
cy.loginAdmin();
19+
cy.get('.app__nav a')
20+
.contains('Website')
21+
.click();
22+
});
23+
24+
Cypress.Commands.add('goToPluginSettings', () => {
25+
cy.goToWebsiteSettings();
26+
cy.get('button[id="plugins-button"]').click();
27+
});
14.5 KB
Binary file not shown.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import '../support/commands';
2+
3+
describe('Setup scenario', function () {
4+
it('activates the PluginUpdateNotification plugin', function () {
5+
cy.goToPluginSettings();
6+
cy.get(
7+
'#component-grid-settings-plugins-settingsplugingrid-category-generic-row-pluginupdatenotificationplugin'
8+
).then($pluginRow => {
9+
if ( !$pluginRow.find('input[id^="select-cell-pluginupdatenotificationplugin-enable"]:checked').length ) {
10+
cy.get('input[id^="select-cell-pluginupdatenotificationplugin-enable"]').check();
11+
cy.get('div').contains('The plugin "Plugin update notification" has been enabled.');
12+
}
13+
});
14+
});
15+
16+
it('install plugin doiInSummary version 1.3.1 ', function () {
17+
const fileName = 'plugins/generic/pluginUpdateNotification/cypress/testData/doiInSummary.tar.gz';
18+
cy.goToPluginSettings();
19+
cy.get('.pkp_linkaction_upload').contains('Upload A New Plugin').click();
20+
cy.get('#plupload-pkpUploaderDropZone').selectFile(fileName, { action: 'drag-drop' });
21+
cy.wait(1000);
22+
cy.get('.pkp_uploader_details').contains('doiInSummary.tar.gz');
23+
cy.get('.submitFormButton').contains('Save').click();
24+
cy.get('div').contains('Successfully installed version 1.3.1.0');
25+
});
26+
});
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import '../support/commands';
2+
3+
describe('Validate PluginUpdateNotification plugin works', function () {
4+
it('shows a notification informing doiInSummary plugin can be updgraded', function () {
5+
cy.goToWebsiteSettings();
6+
cy.get('.pkp_notification').get('.notifyWarning').contains('The following plugins have updates available: DOI in Summary');
7+
});
8+
});
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import '../support/commands';
2+
3+
describe('Tear down scenario', function () {
4+
it ('uninstalls the doiInSummary plugin', function () {
5+
cy.goToPluginSettings();
6+
cy.get('#component-grid-settings-plugins-settingsplugingrid-category-generic-row-doiinsummaryplugin > .first_column > .show_extras').click();
7+
cy.get(
8+
'#component-grid-settings-plugins-settingsplugingrid-category-generic-row-doiinsummaryplugin-control-row'
9+
).contains('Delete').click();
10+
cy.get('.ok').click();
11+
cy.get('div').should('include.text', ' successfuly deleted');
12+
});
13+
});

0 commit comments

Comments
 (0)