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