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();
- });
- });
});