From ee805369d1910212016f57b5bd41752dc57effa6 Mon Sep 17 00:00:00 2001 From: Maurice Date: Sat, 18 Apr 2026 01:30:55 +0200 Subject: [PATCH] test(dashboard): loosen settings-button matcher for the new toolbar The unified toolbar gives the gear button a title attribute for a11y, which broke the previous "no title, no text" matcher. Matching on the lucide-settings icon plus an empty text node is enough to identify it uniquely on this page. --- client/src/pages/DashboardPage.test.tsx | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/client/src/pages/DashboardPage.test.tsx b/client/src/pages/DashboardPage.test.tsx index 5effca39..4aac3121 100644 --- a/client/src/pages/DashboardPage.test.tsx +++ b/client/src/pages/DashboardPage.test.tsx @@ -416,15 +416,10 @@ describe('DashboardPage', () => { expect(screen.getAllByText('Paris Adventure').length).toBeGreaterThan(0); }); - // Find settings button — it's the gear icon button without title or text + // Find settings button — the gear icon button (icon-only, no visible label) const allBtns = screen.getAllByRole('button'); - const settingsButton = allBtns.find( - btn => { - const title = btn.getAttribute('title'); - const text = btn.textContent?.trim() || ''; - // Settings gear: no title, no meaningful text, not the notification bell - return !title && !text && btn.querySelector('.lucide-settings'); - } + const settingsButton = allBtns.find(btn => + btn.querySelector('.lucide-settings') && !btn.textContent?.trim() ); expect(settingsButton).toBeDefined(); @@ -646,14 +641,10 @@ describe('DashboardPage', () => { expect(screen.getAllByText('Paris Adventure').length).toBeGreaterThan(0); }); - // Open widget settings + // Open widget settings — gear icon button (icon-only, no visible label) const allBtns = screen.getAllByRole('button'); - const settingsButton = allBtns.find( - btn => { - const title = btn.getAttribute('title'); - const text = btn.textContent?.trim() || ''; - return !title && !text && btn.querySelector('.lucide-settings'); - } + const settingsButton = allBtns.find(btn => + btn.querySelector('.lucide-settings') && !btn.textContent?.trim() ); expect(settingsButton).toBeDefined();