From 394fed68ec6578cac12c09229e0a56a855f81990 Mon Sep 17 00:00:00 2001 From: Nayden Naydenov Date: Tue, 22 Oct 2024 16:32:26 +0300 Subject: [PATCH] chore: stabilize tests --- packages/main/cypress/specs/Menu.cy.ts | 68 ++++++++++++++----- .../cypress/support/commands/Menu.commands.ts | 9 ++- 2 files changed, 59 insertions(+), 18 deletions(-) diff --git a/packages/main/cypress/specs/Menu.cy.ts b/packages/main/cypress/specs/Menu.cy.ts index 4f71ccc309d0..dbe70e0b5da8 100644 --- a/packages/main/cypress/specs/Menu.cy.ts +++ b/packages/main/cypress/specs/Menu.cy.ts @@ -4,7 +4,7 @@ import "../../src/Menu.js"; import "../../src/MenuItem.js"; import type MenuItem from "../../src/MenuItem.js"; -describe.skip("Menu interaction", () => { +describe("Menu interaction", () => { it("Menu opens after button click", () => { cy.mount(html`Open Menu @@ -27,13 +27,16 @@ describe.skip("Menu interaction", () => { it("Menu icons appearance", () => { cy.mount(html`Open Menu - + `); + cy.get("[ui5-menu]") + .ui5MenuOpen(); + cy.get("[ui5-menu] > [ui5-menu-item]") .as("items"); @@ -55,12 +58,15 @@ describe.skip("Menu interaction", () => { it("Restore focus to previous element after close", () => { cy.mount(html`Open Menu - + `); + cy.get("[ui5-menu]") + .ui5MenuOpen(); + cy.get("[ui5-menu]") .ui5MenuOpened(); @@ -76,11 +82,14 @@ describe.skip("Menu interaction", () => { it("Enable navigaion over disabled items", () => { cy.mount(html`Open Menu - + `); + cy.get("[ui5-menu]") + .ui5MenuOpen(); + cy.get("[ui5-menu]") .ui5MenuOpened(); @@ -88,24 +97,27 @@ describe.skip("Menu interaction", () => { .as("items"); cy.get("@items") - .eq(0) - .should("be.focused"); + .eq(1) + .should("be.visible") + .ui5MenuItemClick(); cy.get("@items") .eq(1) - .ui5MenuItemClick() .should("be.focused") .and("have.attr", "disabled"); }); it("Add endContent to a menu item", () => { cy.mount(html`Open Menu - + endContent `); + cy.get("[ui5-menu]") + .ui5MenuOpen(); + cy.get("[ui5-menu]") .as("menu") .ui5MenuOpened(); @@ -129,12 +141,15 @@ describe.skip("Menu interaction", () => { it("Menu and Menu items busy indication - with items", () => { cy.mount(html`Open Menu - + `); + cy.get("[ui5-menu]") + .ui5MenuOpen(); + cy.get("[ui5-menu]") .ui5MenuOpened(); @@ -147,10 +162,13 @@ describe.skip("Menu interaction", () => { it("Menu and Menu items busy indication - without items", () => { cy.mount(html`Open Menu - + `); + cy.get("[ui5-menu]") + .ui5MenuOpen(); + cy.get("[ui5-menu] > [ui5-menu-item]") .shadow() .find("[ui5-busy-indicator]") @@ -190,10 +208,13 @@ describe.skip("Menu interaction", () => { describe("Event firing", () => { it("Event firing - 'ui5-item-click' after 'click' on menu item", () => { cy.mount(html`Open Menu - + `); + cy.get("[ui5-menu]") + .ui5MenuOpen(); + cy.get("[ui5-menu]") .then($item => { $item.get(0).addEventListener("ui5-item-click", cy.stub().as("clicked")); @@ -211,10 +232,13 @@ describe.skip("Menu interaction", () => { it("Event firing - 'ui5-item-click' after 'Space' on menu item", () => { cy.mount(html`Open Menu - + `); + cy.get("[ui5-menu]") + .ui5MenuOpen(); + cy.get("[ui5-menu]") .then($menu => { $menu.get(0).addEventListener("ui5-item-click", cy.stub().as("clicked")); @@ -232,10 +256,13 @@ describe.skip("Menu interaction", () => { it("Event firing - 'ui5-item-click' after 'Enter' on menu item", () => { cy.mount(html`Open Menu - + `); + cy.get("[ui5-menu]") + .ui5MenuOpen(); + cy.get("[ui5-menu]") .then($item => { $item.get(0).addEventListener("ui5-item-click", cy.stub().as("clicked")); @@ -253,10 +280,13 @@ describe.skip("Menu interaction", () => { it("Prevent menu closing on item press", () => { cy.mount(html`Open Menu - + `); + cy.get("[ui5-menu]") + .ui5MenuOpen(); + cy.get("[ui5-menu]") .as("menu") .then($item => { @@ -335,7 +365,7 @@ describe.skip("Menu interaction", () => { describe("Accessibility", () => { it("Menu and Menu items accessibility attributes", () => { cy.mount(html`Open Menu - + @@ -343,6 +373,9 @@ describe.skip("Menu interaction", () => { `); + cy.get("[ui5-menu]") + .ui5MenuOpen(); + cy.get("[ui5-menu]") .as("menu"); @@ -397,12 +430,15 @@ describe.skip("Menu interaction", () => { it("Menu popover has an accessible name", () => { cy.mount(html`Open Menu - + `); + cy.get("[ui5-menu]") + .ui5MenuOpen(); + cy.get("[ui5-menu]") .ui5MenuOpened(); diff --git a/packages/main/cypress/support/commands/Menu.commands.ts b/packages/main/cypress/support/commands/Menu.commands.ts index 74b0b0a51dd2..5cd8266fd08c 100644 --- a/packages/main/cypress/support/commands/Menu.commands.ts +++ b/packages/main/cypress/support/commands/Menu.commands.ts @@ -21,12 +21,17 @@ Cypress.Commands.add("ui5MenuOpened", { prevSubject: true }, subject => { cy.get("@menu") .should("be.visible") - .should("have.attr", "open"); + .and("have.attr", "open"); cy.get("@menu") .shadow() .find("[ui5-responsive-popover]") - .and("have.attr", "open"); + .should("have.attr", "open"); + + cy.get("@menu") + .find(" > [ui5-menu-item]") + .first() + .should("be.visible"); }); Cypress.Commands.add("ui5MenuItemClick", { prevSubject: true }, subject => {