refactor(tests): use getByRole instead of getByText for interactive elements
- Refactor ~47 test cases across 7 test files to use getByRole - Improve accessibility testing coverage following Testing Library best practices - Make tests more robust against text changes (i18n, copy updates) - Test elements as users (especially screen readers) interact with them
This commit is contained in:
committed by
Benoit TELLIER
parent
4c18bf3a52
commit
b9905cbb7a
@@ -70,7 +70,7 @@ describe("CalendarPopover", () => {
|
||||
});
|
||||
fireEvent.click(colorButtons[0]);
|
||||
|
||||
fireEvent.click(screen.getByText(/Create/));
|
||||
fireEvent.click(screen.getByRole("button", { name: /Create/i }));
|
||||
|
||||
expect(spy).toHaveBeenCalled();
|
||||
|
||||
@@ -80,7 +80,7 @@ describe("CalendarPopover", () => {
|
||||
it("calls onClose when Cancel clicked", () => {
|
||||
renderPopover();
|
||||
|
||||
fireEvent.click(screen.getByText(/Cancel/i));
|
||||
fireEvent.click(screen.getByRole("button", { name: /Cancel/i }));
|
||||
|
||||
expect(mockOnClose).toHaveBeenCalledWith({}, "backdropClick");
|
||||
});
|
||||
@@ -168,7 +168,7 @@ describe("CalendarPopover (editing mode)", () => {
|
||||
});
|
||||
|
||||
// Save
|
||||
fireEvent.click(screen.getByText(/Save/i));
|
||||
fireEvent.click(screen.getByRole("button", { name: /Save/i }));
|
||||
|
||||
await waitFor(() =>
|
||||
expect(spy).toHaveBeenCalledWith(
|
||||
@@ -229,7 +229,7 @@ describe("CalendarPopover - Tabs Scenarios", () => {
|
||||
fireEvent.change(screen.getByLabelText(/Name/i), {
|
||||
target: { value: "Temp Calendar" },
|
||||
});
|
||||
fireEvent.click(screen.getByText(/Cancel/i));
|
||||
fireEvent.click(screen.getByRole("button", { name: /Cancel/i }));
|
||||
|
||||
expect(mockOnClose).toHaveBeenCalled();
|
||||
|
||||
@@ -291,7 +291,7 @@ describe("CalendarPopover - Tabs Scenarios", () => {
|
||||
expect(publicButton).toHaveAttribute("aria-pressed", "false");
|
||||
|
||||
// Save
|
||||
fireEvent.click(screen.getByText(/Save/i));
|
||||
fireEvent.click(screen.getByRole("button", { name: /Save/i }));
|
||||
|
||||
await waitFor(() =>
|
||||
expect(patchSpy).toHaveBeenCalledWith(
|
||||
|
||||
Reference in New Issue
Block a user