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:
lenhanphung
2025-10-16 15:00:58 +07:00
committed by Benoit TELLIER
parent 4c18bf3a52
commit b9905cbb7a
7 changed files with 52 additions and 46 deletions
@@ -289,7 +289,7 @@ describe("EventUpdateModal Recurring to Non-Recurring Conversion", () => {
expect(repeatCheckbox).not.toBeChecked();
// Click Save button
const saveButton = screen.getByText("Save");
const saveButton = screen.getByRole("button", { name: /Save/i });
await act(async () => {
fireEvent.click(saveButton);
@@ -403,7 +403,7 @@ describe("EventUpdateModal Recurring to Non-Recurring Conversion", () => {
fireEvent.click(repeatCheckbox);
});
const saveButton = screen.getByText("Save");
const saveButton = screen.getByRole("button", { name: /Save/i });
await act(async () => {
fireEvent.click(saveButton);
@@ -518,7 +518,7 @@ describe("EventUpdateModal Recurring to Non-Recurring Conversion", () => {
fireEvent.click(repeatCheckbox);
});
const saveButton = screen.getByText("Save");
const saveButton = screen.getByRole("button", { name: /Save/i });
await act(async () => {
fireEvent.click(saveButton);