From 001b4772633f5e78e01e9c60d432a47986577fca Mon Sep 17 00:00:00 2001 From: w3bdesign <45217974+w3bdesign@users.noreply.github.com> Date: Mon, 2 Sep 2024 03:36:45 +0200 Subject: [PATCH] Fix test --- .../ErrorBoundary/ErrorBoundary.test.tsx | 2 +- __tests__/Kontakt/KontaktContent.test.tsx | 97 +++++-------------- 2 files changed, 27 insertions(+), 72 deletions(-) diff --git a/__tests__/ErrorBoundary/ErrorBoundary.test.tsx b/__tests__/ErrorBoundary/ErrorBoundary.test.tsx index bfc385af..79cf0ef4 100644 --- a/__tests__/ErrorBoundary/ErrorBoundary.test.tsx +++ b/__tests__/ErrorBoundary/ErrorBoundary.test.tsx @@ -36,7 +36,7 @@ describe("ErrorBoundary", () => { ); expect( - getByText("Har du funnet en feil i Matrix, Neo?"), + getByText("Har du funnet en feil i Matrix?"), ).toBeInTheDocument(); expect(getByText("Dette er en testfeil")).toBeInTheDocument(); expect(getByText("Returner til Matrix")).toBeInTheDocument(); diff --git a/__tests__/Kontakt/KontaktContent.test.tsx b/__tests__/Kontakt/KontaktContent.test.tsx index 8f413f1c..44af395b 100644 --- a/__tests__/Kontakt/KontaktContent.test.tsx +++ b/__tests__/Kontakt/KontaktContent.test.tsx @@ -15,19 +15,13 @@ describe("KontaktContent", () => { const fulltNavn = "Fullt navn"; const telefonNummer = "Telefonnummer"; const hvaOnskerDu = "Hva ønsker du å si?"; + const sendSkjemaText = "Send skjema"; beforeEach(() => { jest.clearAllMocks(); }); - test("renders the component", () => { - render(); - expect(screen.getByTestId("kontaktcontent")).toBeInTheDocument(); - }); - - test("submits the form successfully", async () => { - render(); - + const fillFormWithValidData = () => { fireEvent.change(screen.getByLabelText(fulltNavn), { target: { value: "Bruker Test" }, }); @@ -37,8 +31,22 @@ describe("KontaktContent", () => { fireEvent.change(screen.getByLabelText(hvaOnskerDu), { target: { value: "Test melding" }, }); + }; + + test("renders the component", () => { + render(); + expect(screen.getByTestId("kontaktcontent")).toBeInTheDocument(); + }); + + test("submits the form successfully and disables submit button while submitting", async () => { + render(); - fireEvent.click(screen.getByText("Send skjema")); + fillFormWithValidData(); + + const submitButton = screen.getByText(sendSkjemaText); + fireEvent.click(submitButton); + + expect(submitButton).toBeDisabled(); await waitFor(() => { expect(screen.getByText("Takk for din beskjed")).toBeInTheDocument(); @@ -52,21 +60,12 @@ describe("KontaktContent", () => { render(); - fireEvent.change(screen.getByLabelText(fulltNavn), { - target: { value: "Bruker Test" }, - }); - fireEvent.change(screen.getByLabelText(telefonNummer), { - target: { value: "12345678" }, - }); - fireEvent.change(screen.getByLabelText(hvaOnskerDu), { - target: { value: "Test melding" }, - }); - - fireEvent.click(screen.getByText("Send skjema")); + fillFormWithValidData(); + fireEvent.click(screen.getByText(sendSkjemaText)); await waitFor(() => { expect( - screen.getByText("Feil under sending av skjema"), + screen.getByText("Feil under sending av skjema") ).toBeInTheDocument(); }); @@ -76,7 +75,7 @@ describe("KontaktContent", () => { test("displays validation errors for empty fields", async () => { render(); - fireEvent.click(screen.getByText("Send skjema")); + fireEvent.click(screen.getByText(sendSkjemaText)); await waitFor(() => { expect(screen.getByText("Fullt navn er påkrevd")).toBeInTheDocument(); @@ -87,11 +86,11 @@ describe("KontaktContent", () => { expect(emailjs.send).not.toHaveBeenCalled(); }); - test("displays validation error for invalid phone number", async () => { + test("displays validation errors for invalid inputs", async () => { render(); fireEvent.change(screen.getByLabelText(fulltNavn), { - target: { value: "Bruker Test" }, + target: { value: "User123" }, // Invalid name format }); fireEvent.change(screen.getByLabelText(telefonNummer), { target: { value: "123" }, // Invalid phone number @@ -100,61 +99,17 @@ describe("KontaktContent", () => { target: { value: "Test melding" }, }); - fireEvent.click(screen.getByText("Send skjema")); + fireEvent.click(screen.getByText(sendSkjemaText)); await waitFor(() => { expect( - screen.getByText("Vennligst oppgi et gyldig telefonnummer"), + screen.getByText("Vennligst bruk norske bokstaver") ).toBeInTheDocument(); - }); - - expect(emailjs.send).not.toHaveBeenCalled(); - }); - - test("displays validation error for invalid name format", async () => { - render(); - - fireEvent.change(screen.getByLabelText(fulltNavn), { - target: { value: "User123" }, // Invalid name format - }); - fireEvent.change(screen.getByLabelText(telefonNummer), { - target: { value: "12345678" }, - }); - fireEvent.change(screen.getByLabelText(hvaOnskerDu), { - target: { value: "Test melding" }, - }); - - fireEvent.click(screen.getByText("Send skjema")); - - await waitFor(() => { expect( - screen.getByText("Vennligst bruk norske bokstaver"), + screen.getByText("Vennligst oppgi et gyldig telefonnummer") ).toBeInTheDocument(); }); expect(emailjs.send).not.toHaveBeenCalled(); }); - - test("disables submit button while submitting", async () => { - render(); - - fireEvent.change(screen.getByLabelText(fulltNavn), { - target: { value: "Bruker Test" }, - }); - fireEvent.change(screen.getByLabelText(telefonNummer), { - target: { value: "12345678" }, - }); - fireEvent.change(screen.getByLabelText(hvaOnskerDu), { - target: { value: "Test melding" }, - }); - - const submitButton = screen.getByText("Send skjema"); - fireEvent.click(submitButton); - - expect(submitButton).toBeDisabled(); - - await waitFor(() => { - expect(screen.getByText("Takk for din beskjed")).toBeInTheDocument(); - }); - }); });