From 662d06a2513f45edaadf3bdddb9fe691581c95f9 Mon Sep 17 00:00:00 2001
From: "google-labs-jules[bot]"
<161369871+google-labs-jules[bot]@users.noreply.github.com>
Date: Wed, 3 Jun 2026 09:29:07 +0000
Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=AA=20Add=20tests=20for=20ErrorMessage?=
=?UTF-8?q?s=20component?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-authored-by: is0692vs <135803462+is0692vs@users.noreply.github.com>
---
.../components/ErrorMessages.test.tsx | 37 +++++++++++++++++++
vitest.config.ts | 1 +
2 files changed, 38 insertions(+)
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..9f5b1e11
--- /dev/null
+++ b/src/app/[username]/components/ErrorMessages.test.tsx
@@ -0,0 +1,37 @@
+import { render, screen } from '@testing-library/react';
+import { describe, it, expect } from 'vitest';
+import ErrorMessages from './ErrorMessages';
+
+describe('ErrorMessages', () => {
+ it('returns null when errors array is undefined', () => {
+ // @ts-expect-error Testing invalid input for robustness
+ const { container } = render();
+ expect(container.firstChild).toBeNull();
+ });
+
+ it('returns null when errors array is empty', () => {
+ const { container } = render();
+ expect(container.firstChild).toBeNull();
+ });
+
+ it('renders a single error message correctly', () => {
+ const errors = [{ section: 'Test Section', message: 'Test message' }];
+ render();
+
+ expect(screen.getByText('Test Section:')).toBeInTheDocument();
+ expect(screen.getByText('Test message')).toBeInTheDocument();
+ });
+
+ it('renders multiple error messages correctly', () => {
+ const errors = [
+ { section: 'Section 1', message: 'Message 1' },
+ { section: 'Section 2', message: 'Message 2' },
+ ];
+ render();
+
+ expect(screen.getByText('Section 1:')).toBeInTheDocument();
+ expect(screen.getByText('Message 1')).toBeInTheDocument();
+ expect(screen.getByText('Section 2:')).toBeInTheDocument();
+ expect(screen.getByText('Message 2')).toBeInTheDocument();
+ });
+});
diff --git a/vitest.config.ts b/vitest.config.ts
index 8ab92149..4d07bfa9 100644
--- a/vitest.config.ts
+++ b/vitest.config.ts
@@ -22,6 +22,7 @@ export default defineConfig({
"src/components/SkillsCard.tsx",
"src/components/LayoutEditor.tsx",
"src/lib/rateLimit.ts",
+ "src/app/[username]/components/ErrorMessages.tsx",
],
thresholds: {
lines: 80,