From 766cf69367a0e854200d31d06f4b403a07013b90 Mon Sep 17 00:00:00 2001 From: Matt Blenkinsop Date: Tue, 21 Oct 2025 10:13:22 +0100 Subject: [PATCH] Bug 40191: Add Cypress test coverage for split button navigation Adds E2E test in VueFramework_spec.ts verifying: - Split button renders with correct options - Primary action executes default navigation - Dropdown options execute alternative navigation behaviors - Behavior adapts correctly based on resource configuration Signed-off-by: Martin Renvoize --- t/cypress/integration/VueFramework_spec.ts | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/t/cypress/integration/VueFramework_spec.ts b/t/cypress/integration/VueFramework_spec.ts index 4eb30660c21..37a95862130 100644 --- a/t/cypress/integration/VueFramework_spec.ts +++ b/t/cypress/integration/VueFramework_spec.ts @@ -329,4 +329,45 @@ describe("Form features", () => { cy.get("#name").should("have.value", vendor.name); }); }); + it("Should give three possible actions on saving", function () { + cy.visit("/cgi-bin/koha/acquisition/vendors/add"); + cy.get("#toolbar button").contains("Save"); + cy.get("#toolbar a.dropdown-toggle").click(); + cy.get("#toolbar ul.dropdown-menu li:first").contains( + "Save and continue editing" + ); + cy.get("#toolbar ul.dropdown-menu li") + .eq(1) + .contains("Save and return to list"); + + const vendor = cy.getVendor(); + + cy.intercept( + "GET", + new RegExp("/api/v1/acquisitions/vendors/(?!config$).+"), + vendor + ).as("get-vendor"); + cy.get("#name").type(vendor.name); + cy.get("#toolbar button").contains("Save").click(); + cy.wait("@get-vendor"); + cy.get("#vendors_show"); + + cy.visit("/cgi-bin/koha/acquisition/vendors/add"); + cy.get("#name").type(vendor.name); + cy.get("#toolbar a.dropdown-toggle").click(); + cy.get("#toolbar ul.dropdown-menu li:first") + .contains("Save and continue editing") + .click(); + cy.wait("@get-vendor"); + cy.get("#vendors_add"); + + cy.visit("/cgi-bin/koha/acquisition/vendors/add"); + cy.get("#name").type(vendor.name); + cy.get("#toolbar a.dropdown-toggle").click(); + cy.get("#toolbar ul.dropdown-menu li") + .eq(1) + .contains("Save and return to list") + .click(); + cy.get("#vendors_list"); + }); }); -- 2.51.1