From b543986c34ded72cc35dc887cec5d90d0c5ebf79 Mon Sep 17 00:00:00 2001 From: Benevanio Date: Thu, 23 Apr 2026 16:58:32 -0300 Subject: [PATCH] fix(tests): correct accessibility text and improve test assertions in JobsHeaderCard --- .../unit/components/JobsFiltersCard.test.tsx | 44 ++++++++++++++----- .../unit/components/JobsHeaderCard.test.tsx | 17 ++++--- 2 files changed, 44 insertions(+), 17 deletions(-) diff --git a/frontend/tests/unit/components/JobsFiltersCard.test.tsx b/frontend/tests/unit/components/JobsFiltersCard.test.tsx index f3d8819..76809b1 100644 --- a/frontend/tests/unit/components/JobsFiltersCard.test.tsx +++ b/frontend/tests/unit/components/JobsFiltersCard.test.tsx @@ -32,10 +32,13 @@ describe("JobsFiltersCard", () => { />, ); - fireEvent.change(screen.getByPlaceholderText(/buscar/i), { target: { value: "node" } }); + fireEvent.change(screen.getByPlaceholderText(/buscar/i), { + target: { value: "node" }, + }); + fireEvent.click(screen.getByRole("button", { name: /atualizar/i })); - expect(setSearch).toHaveBeenCalled(); + expect(setSearch).toHaveBeenCalledWith("node"); expect(onRefresh).toHaveBeenCalledTimes(1); }); @@ -54,10 +57,16 @@ describe("JobsFiltersCard", () => { />, ); - expect(screen.getAllByText("vagas.xlsx").length).toBeGreaterThan(0); - expect(screen.getByText("1 vagas")).toBeInTheDocument(); - expect(screen.getByText(/filtros selecionados/i)).toBeInTheDocument(); - expect(screen.getByText(/use o botão filtrar/i)).toBeInTheDocument(); + expect(screen.getAllByText(/vagas\.xlsx/i).length).toBeGreaterThan(0); + expect(screen.getByText(/1 vagas/i)).toBeInTheDocument(); + + expect( + screen.getByText(/filtros selecionados/i) + ).toBeInTheDocument(); + + expect( + screen.getByText(/use o botão filtrar/i) + ).toBeInTheDocument(); }); it("dispara mudancas nos filtros de keyword e arquivo", () => { @@ -79,8 +88,14 @@ describe("JobsFiltersCard", () => { ); const selects = screen.getAllByRole("combobox"); - fireEvent.change(selects[0], { target: { value: "React" } }); - fireEvent.change(selects[1], { target: { value: "historico.xlsx" } }); + + fireEvent.change(selects[0], { + target: { value: "React" }, + }); + + fireEvent.change(selects[1], { + target: { value: "historico.xlsx" }, + }); expect(setKeywordFilter).toHaveBeenCalled(); expect(setSelectedFile).toHaveBeenCalled(); @@ -105,12 +120,17 @@ describe("JobsFiltersCard", () => { ); fireEvent.click(screen.getByRole("button", { name: /^filtrar$/i })); - expect(screen.getByText(/gerenciar filtros/i)).toBeInTheDocument(); - fireEvent.click(screen.getByRole("button", { name: /limpar filtros/i })); + expect( + screen.getByText(/gerenciar filtros/i) + ).toBeInTheDocument(); + + fireEvent.click( + screen.getByRole("button", { name: /limpar filtros/i }) + ); - expect(screen.getAllByText("React").length).toBeGreaterThan(0); + expect(screen.getAllByText(/react/i).length).toBeGreaterThan(0); expect(setSearch).toHaveBeenCalledWith(""); expect(setKeywordFilter).toHaveBeenCalledWith([]); }); -}); +}); \ No newline at end of file diff --git a/frontend/tests/unit/components/JobsHeaderCard.test.tsx b/frontend/tests/unit/components/JobsHeaderCard.test.tsx index 059135b..f589503 100644 --- a/frontend/tests/unit/components/JobsHeaderCard.test.tsx +++ b/frontend/tests/unit/components/JobsHeaderCard.test.tsx @@ -7,16 +7,23 @@ vi.mock("@/hooks/useTheme", () => ({ })); describe("JobsHeaderCard", () => { - it("renderiza logo acessivel e descricao", () => { + it("renderiza logo acessível e descrição", () => { render(); expect(screen.getByAltText("Painel de Vagas")).toBeInTheDocument(); - expect(screen.getByText("Leitura automatica dos arquivos XLSX gerados em output.")).toBeInTheDocument(); + + expect( + screen.getByText(/leitura automática dos arquivos.*xlsx gerados em output/i) + ).toBeInTheDocument(); }); - it("renderiza o botao de alternar tema", () => { + it("renderiza o botão de alternar tema", () => { render(); - expect(screen.getByRole("button", { name: "Ativar tema escuro" })).toBeInTheDocument(); + const buttons = screen.getAllByRole("button", { + name: /ativar tema escuro/i, + }); + + expect(buttons).toHaveLength(2); }); -}); +}); \ No newline at end of file