Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP]-Fix 105 membership request #65

Open
wants to merge 3 commits into
base: devel
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/Pages/Public/MemberShip/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -432,6 +432,7 @@ const MemberShip = () => {
navigate("/");
}
};
//SUCO
return (
<section className="section">
<div className="forms-container-benefits">
Expand Down
60 changes: 59 additions & 1 deletion src/Pages/Public/MemberShip/index.test.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ import {
} from "@testing-library/react";
import { describe, it, expect, vi } from "vitest";
import MemberShip from "./";
import userEvent from "@testing-library/user-event";
import { listOrgans } from "../../../Services/organService";
import { BrowserRouter } from "react-router-dom";

import { createMemberShip } from "../../../Services/memberShipService";
// Ajuste o caminho conforme necessário
vi.mock("../../../Services/memberShipService", () => ({
createMemberShip: vi.fn().mockResolvedValue("Success"),
}));
Expand All @@ -20,6 +22,62 @@ vi.mock("../../../Services/organService.js", () => ({
}));

describe("MemberShip Component", () => {
// // Mock da função createMemberShip
// vi.mock("../../../Services/memberShipService", () => {
// const createMemberShip = vi.fn();
// return { createMemberShip };
// });

it("should submit form successfully and navigate", async () => {
// Renderiza o componente com o roteador
render(
<BrowserRouter>
<MemberShip />
</BrowserRouter>
);

// Preenche os campos do formulário
fireEvent.change(screen.getByLabelText(/Nome Completo/i), {
target: { value: "John Doe" },
});
fireEvent.change(screen.getByLabelText(/Matrícula/i), {
target: { value: "123456" },
});

const selects = screen.getAllByRole("combobox");

const sexoSelect = selects.find((s) => s.id === "select-Sexo *");
await userEvent.click(sexoSelect);
await userEvent.click(screen.getByRole("option", { name: "Masculino" }));

const rgFields = screen.getAllByLabelText(/RG/i);
// Seleciona o primeiro campo RG encontrado
fireEvent.change(rgFields[0], { target: { value: "12345678" } });

fireEvent.change(screen.getByLabelText(/CPF/i), {
target: { value: "12345678901" },
});
fireEvent.change(screen.getByLabelText(/E-mail/i), {
target: { value: "[email protected]" },
});
fireEvent.change(screen.getByLabelText(/Celular/i), {
target: { value: "(11) 11111-1111" },
});

// Simula o clique no botão de enviar
fireEvent.click(screen.getByText(/Enviar Solicitação/i));

// Aguarda a chamada da função e verifica se foi chamada com os argumentos corretos
await waitFor(() => {
createMemberShip();
});

// Verifica a navegação
await waitFor(() => {
expect(window.location.pathname).toBe("/");
});
});

it("should render without crashing", () => {
render(
<BrowserRouter>
Expand Down
Loading