From 2d16dcb8e93ffda64a74bfaa9da7da283f0d0111 Mon Sep 17 00:00:00 2001 From: Matt Blenkinsop Date: Tue, 21 Oct 2025 10:12:51 +0100 Subject: [PATCH] Bug 40191: Update existing cypress tests to account for the new functionality --- .../integration/Admin/RecordSources_spec.ts | 4 +- t/cypress/integration/ERM/Agreements_spec.ts | 14 +++---- t/cypress/integration/ERM/Dialog_spec.ts | 39 ++++++++----------- t/cypress/integration/ERM/Licenses_spec.ts | 12 +++--- t/cypress/integration/ERM/Packages_spec.ts | 10 ++--- t/cypress/integration/ERM/Titles_spec.ts | 10 ++--- .../integration/InfiniteScrollSelect_spec.ts | 2 +- t/cypress/integration/Preservation/Trains.ts | 8 ++-- 8 files changed, 47 insertions(+), 52 deletions(-) diff --git a/t/cypress/integration/Admin/RecordSources_spec.ts b/t/cypress/integration/Admin/RecordSources_spec.ts index 2dfb179632a..7782f54b804 100644 --- a/t/cypress/integration/Admin/RecordSources_spec.ts +++ b/t/cypress/integration/Admin/RecordSources_spec.ts @@ -40,7 +40,7 @@ describe("Record sources CRUD tests", () => { statusCode: 201, body: {}, }); - cy.get("#record_sources_add").contains("Submit").click(); + cy.get("#record_sources_add").contains("Save").click(); cy.get("main div[class='alert alert-info']").contains( "Record source created!" @@ -178,7 +178,7 @@ describe("Record sources CRUD tests", () => { can_be_edited: false, }, }); - cy.get("#record_sources_add").contains("Submit").click(); + cy.get("#record_sources_add").contains("Save").click(); }); it("Delete", () => { diff --git a/t/cypress/integration/ERM/Agreements_spec.ts b/t/cypress/integration/ERM/Agreements_spec.ts index 6416c7f8ae9..ed08ced0613 100644 --- a/t/cypress/integration/ERM/Agreements_spec.ts +++ b/t/cypress/integration/ERM/Agreements_spec.ts @@ -162,14 +162,14 @@ describe("Agreement CRUD operations", () => { cy.left_menu_active_item_is("Agreements"); // Fill in the form for normal attributes - cy.get("#agreements_add").contains("Submit").click(); + cy.get("#agreements_add").contains("Save").click(); cy.get("input:invalid,textarea:invalid,select:invalid").should( "have.length", 2 ); cy.get("#name").type(agreement.name); cy.get("#description").type(agreement.description); - cy.get("#agreements_add").contains("Submit").click(); + cy.get("#agreements_add").contains("Save").click(); cy.get("input:invalid,textarea:invalid,select:invalid").should( "have.length", 1 @@ -208,7 +208,7 @@ describe("Agreement CRUD operations", () => { ); cy.contains("Add new period").click(); - cy.get("#agreements_add").contains("Submit").click(); + cy.get("#agreements_add").contains("Save").click(); cy.get("input:invalid,textarea:invalid,select:invalid").should( "have.length", 1 @@ -295,7 +295,7 @@ describe("Agreement CRUD operations", () => { cy.intercept("POST", "/api/v1/erm/agreements", { statusCode: 500, }); - cy.get("#agreements_add").contains("Submit").click(); + cy.get("#agreements_add").contains("Save").click(); cy.get("main div[class='alert alert-warning']").contains( "Something went wrong: Error: Internal Server Error" ); @@ -305,7 +305,7 @@ describe("Agreement CRUD operations", () => { statusCode: 201, body: agreement, }); - cy.get("#agreements_add").contains("Submit").click(); + cy.get("#agreements_add").contains("Save").click(); cy.get("main div[class='alert alert-info']").contains( "Agreement created" ); @@ -493,7 +493,7 @@ describe("Agreement CRUD operations", () => { delay: 1000, }); }).as("edit-agreement"); - cy.get("#agreements_add").contains("Submit").click(); + cy.get("#agreements_add").contains("Save").click(); cy.get("main div[class='modal_centered']").contains("Submitting..."); cy.wait("@edit-agreement"); cy.get("main div[class='alert alert-warning']").contains( @@ -505,7 +505,7 @@ describe("Agreement CRUD operations", () => { statusCode: 200, body: agreement, }); - cy.get("#agreements_add").contains("Submit").click(); + cy.get("#agreements_add").contains("Save").click(); cy.get("main div[class='alert alert-info']").contains( "Agreement updated" ); diff --git a/t/cypress/integration/ERM/Dialog_spec.ts b/t/cypress/integration/ERM/Dialog_spec.ts index 71d4829b6b0..cbc0ad23727 100644 --- a/t/cypress/integration/ERM/Dialog_spec.ts +++ b/t/cypress/integration/ERM/Dialog_spec.ts @@ -90,21 +90,14 @@ describe("Dialog operations", () => { { force: true } ); - cy.intercept("POST", "/api/v1/erm/eholdings/local/packages", { - statusCode: 201, - body: erm_package, - }); - cy.intercept("GET", "/api/v1/erm/eholdings/local/packages*", { - statusCode: 200, - body: [erm_package], - headers: { - "X-Base-Total-Count": "1", - "X-Total-Count": "1", - }, - }).as("get-packages"); - cy.get("#packages_add").contains("Submit").click(); - cy.wait("@get-packages"); - cy.get("#packages_list").should("exist"); + cy.intercept( + "GET", + "/api/v1/erm/eholdings/local/packages/*", + erm_package + ).as("get-package"); + cy.get("#packages_add").contains("Save").click(); + cy.wait("@get-package"); + cy.get("#packages_show").should("exist"); cy.get("main div[class='alert alert-info']").contains( "Package created" ); @@ -138,25 +131,25 @@ describe("Dialog operations", () => { }); cy.intercept("PUT", "/api/v1/erm/eholdings/local/packages/*", { statusCode: 200, - body: [erm_package], - }); + body: erm_package, + }).as("put-package"); cy.intercept( "GET", "/api/v1/erm/eholdings/local/packages/*", erm_package - ); + ).as("get-package"); cy.visit("/cgi-bin/koha/erm/eholdings/local/packages"); cy.get("#packages_list table tbody tr:first").contains("Edit").click(); - cy.get("#packages_add").contains("Submit").click(); + cy.wait("@get-package"); + cy.get("#packages_add").contains("Save").click(); + cy.wait("@put-package"); cy.get("main div[class='alert alert-info']").contains( "Package updated" ); cy.get("main div[class='alert alert-info']").should("have.length", 1); - cy.get("#packages_list table tbody tr:first") - .contains("Delete") - .click(); + cy.get("#packages_show #toolbar").contains("Delete").click(); cy.contains("No, do not delete").click(); cy.get(".alert-warning.confirmation h1").should("not.exist"); cy.get("main div[class='alert alert-info']").contains( @@ -168,6 +161,8 @@ describe("Dialog operations", () => { statusCode: 204, body: null, }); + + cy.visit("/cgi-bin/koha/erm/eholdings/local/packages"); cy.get("#packages_list table tbody tr:first") .contains("Delete") .click(); diff --git a/t/cypress/integration/ERM/Licenses_spec.ts b/t/cypress/integration/ERM/Licenses_spec.ts index d8321dfba59..1b0fffc50fe 100644 --- a/t/cypress/integration/ERM/Licenses_spec.ts +++ b/t/cypress/integration/ERM/Licenses_spec.ts @@ -68,14 +68,14 @@ describe("License CRUD operations", () => { cy.left_menu_active_item_is("Licenses"); // Fill in the form for normal attributes - cy.get("#licenses_add").contains("Submit").click(); + cy.get("#licenses_add").contains("Save").click(); cy.get("input:invalid,textarea:invalid,select:invalid").should( "have.length", 4 ); cy.get("#name").type(license.name); cy.get("#description").type(license.description); - cy.get("#licenses_add").contains("Submit").click(); + cy.get("#licenses_add").contains("Save").click(); cy.get("#type .vs__search").type(license.type + "{enter}", { force: true, }); @@ -131,7 +131,7 @@ describe("License CRUD operations", () => { cy.intercept("POST", "/api/v1/erm/licenses", { statusCode: 500, }); - cy.get("#licenses_add").contains("Submit").click(); + cy.get("#licenses_add").contains("Save").click(); cy.get("main div[class='alert alert-warning']").contains( "Something went wrong: Error: Internal Server Error" ); @@ -141,7 +141,7 @@ describe("License CRUD operations", () => { statusCode: 201, body: license, }); - cy.get("#licenses_add").contains("Submit").click(); + cy.get("#licenses_add").contains("Save").click(); cy.get("main div[class='alert alert-info']").contains( "License created" ); @@ -207,7 +207,7 @@ describe("License CRUD operations", () => { cy.intercept("PUT", "/api/v1/erm/licenses/*", { statusCode: 500, }); - cy.get("#licenses_add").contains("Submit").click(); + cy.get("#licenses_add").contains("Save").click(); cy.get("main div[class='alert alert-warning']").contains( "Something went wrong: Error: Internal Server Error" ); @@ -217,7 +217,7 @@ describe("License CRUD operations", () => { statusCode: 200, body: license, }); - cy.get("#licenses_add").contains("Submit").click(); + cy.get("#licenses_add").contains("Save").click(); cy.get("main div[class='alert alert-info']").contains( "License updated" ); diff --git a/t/cypress/integration/ERM/Packages_spec.ts b/t/cypress/integration/ERM/Packages_spec.ts index 56d9870c535..181ffb8b05b 100644 --- a/t/cypress/integration/ERM/Packages_spec.ts +++ b/t/cypress/integration/ERM/Packages_spec.ts @@ -66,7 +66,7 @@ describe("Package CRUD operations", () => { // Fill in the form for normal attributes let erm_package = cy.get_package(); - cy.get("#packages_add").contains("Submit").click(); + cy.get("#packages_add").contains("Save").click(); cy.get("input:invalid,textarea:invalid,select:invalid").should( "have.length", 1 @@ -89,7 +89,7 @@ describe("Package CRUD operations", () => { cy.intercept("POST", "/api/v1/erm/eholdings/local/packages", { statusCode: 500, }); - cy.get("#packages_add").contains("Submit").click(); + cy.get("#packages_add").contains("Save").click(); cy.get("main div[class='alert alert-warning']").contains( "Something went wrong: Error: Internal Server Error" ); @@ -99,7 +99,7 @@ describe("Package CRUD operations", () => { statusCode: 201, body: erm_package, }); - cy.get("#packages_add").contains("Submit").click(); + cy.get("#packages_add").contains("Save").click(); cy.get("main div[class='alert alert-info']").contains( "Package created" ); @@ -166,7 +166,7 @@ describe("Package CRUD operations", () => { cy.intercept("PUT", "/api/v1/erm/eholdings/local/packages/*", { statusCode: 500, }); - cy.get("#packages_add").contains("Submit").click(); + cy.get("#packages_add").contains("Save").click(); cy.get("main div[class='alert alert-warning']").contains( "Something went wrong: Error: Internal Server Error" ); @@ -176,7 +176,7 @@ describe("Package CRUD operations", () => { statusCode: 200, body: erm_package, }); - cy.get("#packages_add").contains("Submit").click(); + cy.get("#packages_add").contains("Save").click(); cy.get("main div[class='alert alert-info']").contains( "Package updated" ); diff --git a/t/cypress/integration/ERM/Titles_spec.ts b/t/cypress/integration/ERM/Titles_spec.ts index e87001e61a0..b7b15503719 100644 --- a/t/cypress/integration/ERM/Titles_spec.ts +++ b/t/cypress/integration/ERM/Titles_spec.ts @@ -140,7 +140,7 @@ describe("Title CRUD operations", () => { // Fill in the form for normal attributes let erm_title = cy.get_title(); - cy.get("#titles_add").contains("Submit").click(); + cy.get("#titles_add").contains("Save").click(); cy.get("input:invalid,textarea:invalid,select:invalid").should( "have.length", 1 @@ -196,7 +196,7 @@ describe("Title CRUD operations", () => { statusCode: 500, error: "Something went wrong", }); - cy.get("#titles_add").contains("Submit").click(); + cy.get("#titles_add").contains("Save").click(); cy.get("main div[class='alert alert-warning']").contains( "Something went wrong: Error: Internal Server Error" ); @@ -206,7 +206,7 @@ describe("Title CRUD operations", () => { statusCode: 201, body: erm_title, }); - cy.get("#titles_add").contains("Submit").click(); + cy.get("#titles_add").contains("Save").click(); cy.get("main div[class='alert alert-info']").contains("Title created"); // Add new related package (resource) @@ -348,7 +348,7 @@ describe("Title CRUD operations", () => { cy.intercept("PUT", "/api/v1/erm/eholdings/local/titles/*", { statusCode: 500, }); - cy.get("#titles_add").contains("Submit").click(); + cy.get("#titles_add").contains("Save").click(); cy.get("main div[class='alert alert-warning']").contains( "Something went wrong: Error: Internal Server Error" ); @@ -358,7 +358,7 @@ describe("Title CRUD operations", () => { statusCode: 200, body: erm_title, }); - cy.get("#titles_add").contains("Submit").click(); + cy.get("#titles_add").contains("Save").click(); cy.get("main div[class='alert alert-info']").contains("Title updated"); }); diff --git a/t/cypress/integration/InfiniteScrollSelect_spec.ts b/t/cypress/integration/InfiniteScrollSelect_spec.ts index dfd6eef5990..e3c61a932df 100644 --- a/t/cypress/integration/InfiniteScrollSelect_spec.ts +++ b/t/cypress/integration/InfiniteScrollSelect_spec.ts @@ -160,7 +160,7 @@ describe("Infinite scroll", () => { body: agreement, }).as("submitForm"); // Submit the form, no error should be thrown as the select has correctly set the license id - cy.get("#agreements_add").contains("Submit").click(); + cy.get("#agreements_add").contains("Save").click(); cy.wait("@submitForm"); cy.get("main div[class='alert alert-info']").contains( "Agreement created" diff --git a/t/cypress/integration/Preservation/Trains.ts b/t/cypress/integration/Preservation/Trains.ts index 727f3de9bc3..ae21828af1a 100644 --- a/t/cypress/integration/Preservation/Trains.ts +++ b/t/cypress/integration/Preservation/Trains.ts @@ -333,7 +333,7 @@ describe("Trains", () => { statusCode: 500, error: "Something went wrong", }); - cy.get("#trains_add").contains("Submit").click(); + cy.get("#trains_add").contains("Save").click(); cy.get("main div[class='alert alert-warning']").contains( "Something went wrong: Error: Internal Server Error" ); @@ -343,7 +343,7 @@ describe("Trains", () => { statusCode: 201, body: train, }); - cy.get("#trains_add").contains("Submit").click(); + cy.get("#trains_add").contains("Save").click(); cy.get("main div[class='alert alert-info']").contains("Train created"); }); @@ -376,7 +376,7 @@ describe("Trains", () => { cy.intercept("PUT", "/api/v1/preservation/trains/*", { statusCode: 500, }); - cy.get("#trains_add").contains("Submit").click(); + cy.get("#trains_add").contains("Save").click(); cy.get("main div[class='alert alert-warning']").contains( "Something went wrong: Error: Internal Server Error" ); @@ -390,7 +390,7 @@ describe("Trains", () => { statusCode: 200, body: [train], }); - cy.get("#trains_add").contains("Submit").click(); + cy.get("#trains_add").contains("Save").click(); cy.get("main div[class='alert alert-info']").contains("Train updated"); }); -- 2.50.1