From 27b5e96de0e35ea5811c22cb599baff59cf36bfb Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 06:39:30 +0000 Subject: [PATCH 1/2] test: add unit tests for ErrorMessages component Co-authored-by: is0692vs <135803462+is0692vs@users.noreply.github.com> --- .../components/ErrorMessages.test.tsx | 39 +++++++++++++++++++ vitest.config.ts | 3 +- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 src/app/[username]/components/ErrorMessages.test.tsx diff --git a/src/app/[username]/components/ErrorMessages.test.tsx b/src/app/[username]/components/ErrorMessages.test.tsx new file mode 100644 index 00000000..ac6e3ee1 --- /dev/null +++ b/src/app/[username]/components/ErrorMessages.test.tsx @@ -0,0 +1,39 @@ +// @vitest-environment jsdom +import { render, screen } from "@testing-library/react"; +import { describe, it, expect } from "vitest"; +import ErrorMessages from "./ErrorMessages"; +import "@testing-library/jest-dom"; + +describe("ErrorMessages", () => { + it("returns null when errors array is empty", () => { + const { container } = render(); + expect(container.firstChild).toBeNull(); + }); + + it("returns null when errors is undefined", () => { + // Typecast to any to test the falsy condition handled in the component + const { container } = render(); + expect(container.firstChild).toBeNull(); + }); + + it("renders a single error message", () => { + const errors = [{ section: "API", message: "Failed to fetch data" }]; + render(); + + expect(screen.getByText(/API:/)).toBeInTheDocument(); + expect(screen.getByText(/Failed to fetch data/)).toBeInTheDocument(); + }); + + it("renders multiple error messages", () => { + const errors = [ + { section: "API", message: "Failed to fetch data" }, + { section: "Database", message: "Connection timeout" } + ]; + render(); + + expect(screen.getByText(/API:/)).toBeInTheDocument(); + expect(screen.getByText(/Failed to fetch data/)).toBeInTheDocument(); + expect(screen.getByText(/Database:/)).toBeInTheDocument(); + expect(screen.getByText(/Connection timeout/)).toBeInTheDocument(); + }); +}); diff --git a/vitest.config.ts b/vitest.config.ts index 94048567..288a6b01 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -22,7 +22,8 @@ export default defineConfig({ "src/components/SkillsCard.tsx", "src/components/LayoutEditor.tsx", "src/lib/rateLimit.ts", - "src/app/api/og/[username]/route.tsx" + "src/app/api/og/[username]/route.tsx", + "src/app/[username]/components/ErrorMessages.tsx" ], thresholds: { lines: 80, From 8ec8fa7066f70e3464a830723c0b27a669373ec5 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 06:45:24 +0000 Subject: [PATCH 2/2] test: add unit tests for ErrorMessages component Co-authored-by: is0692vs <135803462+is0692vs@users.noreply.github.com> --- src/app/[username]/components/ErrorMessages.test.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/[username]/components/ErrorMessages.test.tsx b/src/app/[username]/components/ErrorMessages.test.tsx index ac6e3ee1..131634ec 100644 --- a/src/app/[username]/components/ErrorMessages.test.tsx +++ b/src/app/[username]/components/ErrorMessages.test.tsx @@ -12,6 +12,7 @@ describe("ErrorMessages", () => { it("returns null when errors is undefined", () => { // Typecast to any to test the falsy condition handled in the component + // eslint-disable-next-line @typescript-eslint/no-explicit-any const { container } = render(); expect(container.firstChild).toBeNull(); });