From 6baf2166deca287f5e333c18559fac91e6490a5c Mon Sep 17 00:00:00 2001 From: Rick Hightower Date: Thu, 29 Jan 2026 15:11:45 -0600 Subject: [PATCH 1/5] fix(rulez_ui): fix 21 failing Playwright E2E tests with data-testid selectors Add data-testid attributes to React components for reliable test selectors: - EventForm: event-type-select, tool-input, command-input, path-input, simulate-button - FileTabBar: file-tab-bar, file-tab-{filename}, close-tab-{filename} - EditorToolbar: editor-toolbar - Sidebar: sidebar, sidebar-{section}-file-{filename} Update test files to use data-testid selectors instead of fragile CSS class and text matching that caused strict mode violations. Update page objects with new selector patterns for better test maintainability. All 56 E2E tests now pass on both Chromium and WebKit. Co-Authored-By: Claude Opus 4.5 --- .../src/components/editor/EditorToolbar.tsx | 5 ++- rulez_ui/src/components/files/FileTabBar.tsx | 7 ++- rulez_ui/src/components/layout/Sidebar.tsx | 11 ++++- .../src/components/simulator/EventForm.tsx | 11 +++-- rulez_ui/tests/app.spec.ts | 6 +-- rulez_ui/tests/editor.spec.ts | 6 +-- rulez_ui/tests/file-ops.spec.ts | 43 +++++++++--------- rulez_ui/tests/fixtures/index.ts | 2 +- rulez_ui/tests/pages/app-shell.page.ts | 22 ++++------ rulez_ui/tests/pages/base.page.ts | 10 +---- rulez_ui/tests/pages/dialogs.page.ts | 18 +++----- rulez_ui/tests/pages/editor.page.ts | 44 ++++++++++++++----- rulez_ui/tests/pages/file-tab-bar.page.ts | 26 ++++------- rulez_ui/tests/pages/sidebar.page.ts | 43 +++++++++++++----- rulez_ui/tests/pages/simulator.page.ts | 30 ++++++------- rulez_ui/tests/simulator.spec.ts | 26 +++++------ 16 files changed, 170 insertions(+), 140 deletions(-) diff --git a/rulez_ui/src/components/editor/EditorToolbar.tsx b/rulez_ui/src/components/editor/EditorToolbar.tsx index fa1f502..8759224 100644 --- a/rulez_ui/src/components/editor/EditorToolbar.tsx +++ b/rulez_ui/src/components/editor/EditorToolbar.tsx @@ -31,7 +31,10 @@ export function EditorToolbar() { }; return ( -
+
diff --git a/rulez_ui/src/components/files/FileTabBar.tsx b/rulez_ui/src/components/files/FileTabBar.tsx index 843bd44..e2a76ff 100644 --- a/rulez_ui/src/components/files/FileTabBar.tsx +++ b/rulez_ui/src/components/files/FileTabBar.tsx @@ -47,7 +47,10 @@ export function FileTabBar() { return ( <> -
+
{files.map(([path, state]) => ( +