From d4271a56b8072d34a518ea6b66896861ae457a52 Mon Sep 17 00:00:00 2001 From: Michele Baldessari Date: Thu, 28 May 2026 16:32:20 +0200 Subject: [PATCH] Fix cypress tests --- .../tests/pattern-catalog-page.cy.ts | 33 +++++++++++-------- console/src/components/PatternCatalogPage.tsx | 1 + 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/console/integration-tests/tests/pattern-catalog-page.cy.ts b/console/integration-tests/tests/pattern-catalog-page.cy.ts index 854eeff58..2872fab6f 100644 --- a/console/integration-tests/tests/pattern-catalog-page.cy.ts +++ b/console/integration-tests/tests/pattern-catalog-page.cy.ts @@ -63,11 +63,11 @@ describe('Pattern Catalog Page', () => { it('tier filter dropdown shows tier options', () => { visitCatalog(); // Open the tier filter dropdown - cy.get('#tier-filter').closest('.pf-v6-c-select').find('button').first().click(); + cy.get('#tier-filter-toggle').click(); // At least one selectable option should be visible - cy.get('[role="option"]').should('have.length.greaterThan', 0); + cy.get('[role="menuitem"]').should('have.length.greaterThan', 0); // Close dropdown - cy.get('#tier-filter').closest('.pf-v6-c-select').find('button').first().click(); + cy.get('#tier-filter-toggle').click(); }); it('selecting all tiers shows at least as many cards as the default selection', () => { @@ -75,17 +75,22 @@ describe('Pattern Catalog Page', () => { cy.get('.patterns-operator__card') .its('length') .then((defaultCount) => { - // Open filter dropdown - cy.get('#tier-filter').closest('.pf-v6-c-select').find('button').first().click(); - // Select every unchecked tier option - cy.get('[role="option"]').each(($option) => { - const checkbox = $option.find('input[type="checkbox"]'); - if (checkbox.length && !checkbox.is(':checked')) { - cy.wrap($option).click(); - // Re-open dropdown if it closed - cy.get('#tier-filter').closest('.pf-v6-c-select').find('button').first().click(); - } - }); + // Open filter dropdown once (checkbox select stays open on item click) + cy.get('#tier-filter-toggle').click(); + cy.get('[role="menuitem"]') + .its('length') + .then((optionCount) => { + for (let i = 0; i < optionCount; i++) { + cy.get('[role="menuitem"]') + .eq(i) + .find('input[type="checkbox"]') + .then(($cb) => { + if (!$cb.is(':checked')) { + cy.get('[role="menuitem"]').eq(i).click(); + } + }); + } + }); // Close dropdown cy.get('body').click(0, 0); // With all tiers selected, card count should be >= default selection diff --git a/console/src/components/PatternCatalogPage.tsx b/console/src/components/PatternCatalogPage.tsx index 922f03bdf..903ed8238 100644 --- a/console/src/components/PatternCatalogPage.tsx +++ b/console/src/components/PatternCatalogPage.tsx @@ -306,6 +306,7 @@ export default function PatternCatalogPage() { toggle={(toggleRef) => ( setTierSelectOpen((prev) => !prev)} isExpanded={tierSelectOpen} >