Skip to content

Commit a4fcbaf

Browse files
Merge pull request #652 from mbaldessari/ui-tiers
Fix cypress tests
2 parents 88ff2e1 + d4271a5 commit a4fcbaf

2 files changed

Lines changed: 20 additions & 14 deletions

File tree

console/integration-tests/tests/pattern-catalog-page.cy.ts

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -63,29 +63,34 @@ describe('Pattern Catalog Page', () => {
6363
it('tier filter dropdown shows tier options', () => {
6464
visitCatalog();
6565
// Open the tier filter dropdown
66-
cy.get('#tier-filter').closest('.pf-v6-c-select').find('button').first().click();
66+
cy.get('#tier-filter-toggle').click();
6767
// At least one selectable option should be visible
68-
cy.get('[role="option"]').should('have.length.greaterThan', 0);
68+
cy.get('[role="menuitem"]').should('have.length.greaterThan', 0);
6969
// Close dropdown
70-
cy.get('#tier-filter').closest('.pf-v6-c-select').find('button').first().click();
70+
cy.get('#tier-filter-toggle').click();
7171
});
7272

7373
it('selecting all tiers shows at least as many cards as the default selection', () => {
7474
visitCatalog();
7575
cy.get('.patterns-operator__card')
7676
.its('length')
7777
.then((defaultCount) => {
78-
// Open filter dropdown
79-
cy.get('#tier-filter').closest('.pf-v6-c-select').find('button').first().click();
80-
// Select every unchecked tier option
81-
cy.get('[role="option"]').each(($option) => {
82-
const checkbox = $option.find('input[type="checkbox"]');
83-
if (checkbox.length && !checkbox.is(':checked')) {
84-
cy.wrap($option).click();
85-
// Re-open dropdown if it closed
86-
cy.get('#tier-filter').closest('.pf-v6-c-select').find('button').first().click();
87-
}
88-
});
78+
// Open filter dropdown once (checkbox select stays open on item click)
79+
cy.get('#tier-filter-toggle').click();
80+
cy.get('[role="menuitem"]')
81+
.its('length')
82+
.then((optionCount) => {
83+
for (let i = 0; i < optionCount; i++) {
84+
cy.get('[role="menuitem"]')
85+
.eq(i)
86+
.find('input[type="checkbox"]')
87+
.then(($cb) => {
88+
if (!$cb.is(':checked')) {
89+
cy.get('[role="menuitem"]').eq(i).click();
90+
}
91+
});
92+
}
93+
});
8994
// Close dropdown
9095
cy.get('body').click(0, 0);
9196
// With all tiers selected, card count should be >= default selection

console/src/components/PatternCatalogPage.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,7 @@ export default function PatternCatalogPage() {
306306
toggle={(toggleRef) => (
307307
<MenuToggle
308308
ref={toggleRef}
309+
id="tier-filter-toggle"
309310
onClick={() => setTierSelectOpen((prev) => !prev)}
310311
isExpanded={tierSelectOpen}
311312
>

0 commit comments

Comments
 (0)