Bugzilla – Attachment 143938 Details for
Bug 32131
Cypress tests are failing if ERMModule is off
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 32131: Cypress tests are failing if ERMModule is off
Bug-32131-Cypress-tests-are-failing-if-ERMModule-i.patch (text/plain), 5.69 KB, created by
Jonathan Druart
on 2022-11-16 08:04:40 UTC
(
hide
)
Description:
Bug 32131: Cypress tests are failing if ERMModule is off
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2022-11-16 08:04:40 UTC
Size:
5.69 KB
patch
obsolete
>From 95c865a4f42ad3691db8a02f255869a13c29a95e Mon Sep 17 00:00:00 2001 >From: Pedro Amorim <pedro.amorim@ptfs-europe.com> >Date: Sat, 12 Nov 2022 19:32:21 -0100 >Subject: [PATCH] Bug 32131: Cypress tests are failing if ERMModule is off > >This patch solves this by enabling the system preference before each test, right after login. It also sets the system preference back to its original initial value after the tests finish running. > >To test: >1) Disable ERMModule system preference >2) Run cypess tests: yarn cypress open / yarn cypress run >3) Verify that tests run successfully >(Optional): While tests are running, visit the system preferences panel and verify that the system preference is now "Enable". >4) Wait for the tests to finish and confirm that the system preference is set back to its original "Disable" value. > >Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >--- > t/cypress/integration/Agreements_spec.ts | 9 +++++++ > t/cypress/integration/Licenses_spec.ts | 9 +++++++ > t/cypress/integration/Packages_spec.ts | 9 +++++++ > t/cypress/integration/Titles_spec.ts | 9 +++++++ > t/cypress/support/commands.js | 30 ++++++++++++++++++++++++ > 5 files changed, 66 insertions(+) > >diff --git a/t/cypress/integration/Agreements_spec.ts b/t/cypress/integration/Agreements_spec.ts >index 5dd3b03846b..22835c0bf34 100644 >--- a/t/cypress/integration/Agreements_spec.ts >+++ b/t/cypress/integration/Agreements_spec.ts >@@ -117,9 +117,18 @@ function get_licenses_to_relate() { > } > > describe("Agreement CRUD operations", () => { >+ before(() => { >+ cy.fetch_initial_ERM_sys_pref_value(); >+ }); >+ > beforeEach(() => { > cy.login("koha", "koha"); > cy.title().should("eq", "Koha staff interface"); >+ cy.set_ERM_sys_pref_value(true); >+ }); >+ >+ after(() => { >+ cy.reset_initial_ERM_sys_pref_value(); > }); > > it("List agreements", () => { >diff --git a/t/cypress/integration/Licenses_spec.ts b/t/cypress/integration/Licenses_spec.ts >index ef314bb0db0..073a81b8384 100644 >--- a/t/cypress/integration/Licenses_spec.ts >+++ b/t/cypress/integration/Licenses_spec.ts >@@ -33,9 +33,18 @@ function get_license() { > } > > describe("License CRUD operations", () => { >+ before(() => { >+ cy.fetch_initial_ERM_sys_pref_value(); >+ }); >+ > beforeEach(() => { > cy.login("koha", "koha"); > cy.title().should("eq", "Koha staff interface"); >+ cy.set_ERM_sys_pref_value(true); >+ }); >+ >+ after(() => { >+ cy.reset_initial_ERM_sys_pref_value(); > }); > > it("List license", () => { >diff --git a/t/cypress/integration/Packages_spec.ts b/t/cypress/integration/Packages_spec.ts >index 718f411d087..fb8cf3fe603 100644 >--- a/t/cypress/integration/Packages_spec.ts >+++ b/t/cypress/integration/Packages_spec.ts >@@ -24,9 +24,18 @@ function get_package() { > } > > describe("Package CRUD operations", () => { >+ before(() => { >+ cy.fetch_initial_ERM_sys_pref_value(); >+ }); >+ > beforeEach(() => { > cy.login("koha", "koha"); > cy.title().should("eq", "Koha staff interface"); >+ cy.set_ERM_sys_pref_value(true); >+ }); >+ >+ after(() => { >+ cy.reset_initial_ERM_sys_pref_value(); > }); > > it("List package", () => { >diff --git a/t/cypress/integration/Titles_spec.ts b/t/cypress/integration/Titles_spec.ts >index 6e46b23a48c..14f7a9bc061 100644 >--- a/t/cypress/integration/Titles_spec.ts >+++ b/t/cypress/integration/Titles_spec.ts >@@ -67,9 +67,18 @@ function get_packages_to_relate() { > } > > describe("Title CRUD operations", () => { >+ before(() => { >+ cy.fetch_initial_ERM_sys_pref_value(); >+ }); >+ > beforeEach(() => { > cy.login("koha", "koha"); > cy.title().should("eq", "Koha staff interface"); >+ cy.set_ERM_sys_pref_value(true); >+ }); >+ >+ after(() => { >+ cy.reset_initial_ERM_sys_pref_value(); > }); > > it("Import titles", () => { >diff --git a/t/cypress/support/commands.js b/t/cypress/support/commands.js >index be71149f90c..3e8f0645147 100644 >--- a/t/cypress/support/commands.js >+++ b/t/cypress/support/commands.js >@@ -30,4 +30,34 @@ Cypress.Commands.add('login', (username, password) => { > cy.get("#userid").type(username) > cy.get("#password").type(password) > cy.get("#submit-button").click() >+}) >+ >+Cypress.Commands.add('set_ERM_sys_pref_value', (enable) => { >+ cy.visit('/cgi-bin/koha/admin/admin-home.pl') >+ cy.get("h4").contains("Global system preferences").click(); >+ cy.get("a[title^=E-Resource]").contains("E-Resource management").click(); >+ cy.get('#pref_ERMModule').then(($select) => { >+ // Only enable if currently disabled, or only disable if currently enabled >+ let sys_pref_value = $select.find(":selected").text().trim(); >+ if (enable && sys_pref_value == 'Disable' || !enable && sys_pref_value == 'Enable') { >+ cy.get("#pref_ERMModule").select(enable ? 'Enable' : 'Disable'); >+ cy.get(".save-all").first().click(); >+ Cypress.env("current_ERM_Module_sys_pref_value", enable); >+ cy.wait(500); // Cypress is too fast! >+ } >+ }) >+}) >+ >+Cypress.Commands.add('fetch_initial_ERM_sys_pref_value', () => { >+ cy.login("koha", "koha"); >+ cy.visit('/cgi-bin/koha/admin/admin-home.pl') >+ cy.get("h4").contains("Global system preferences").click(); >+ cy.get("a[title^=E-Resource]").contains("E-Resource management").click(); >+ cy.get('#pref_ERMModule').then(($select) => { >+ Cypress.env('initial_ERM_Module_sys_pref_value', $select.find(":selected").text().trim() == 'Enable'); >+ }) >+}) >+ >+Cypress.Commands.add('reset_initial_ERM_sys_pref_value', () => { >+ cy.set_ERM_sys_pref_value(Cypress.env("initial_ERM_Module_sys_pref_value")); > }) >\ No newline at end of file >-- >2.25.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 32131
:
143803
|
143938
|
143939
|
143940
|
143941
|
144006
|
144007
|
144008
|
144009