diff --git a/frontend/src/components/Upload/__tests__/UploadZone.test.tsx b/frontend/src/components/Upload/__tests__/UploadZone.test.tsx
index 8c4c84e..6fc18ea 100644
--- a/frontend/src/components/Upload/__tests__/UploadZone.test.tsx
+++ b/frontend/src/components/Upload/__tests__/UploadZone.test.tsx
@@ -2,6 +2,7 @@ import { describe, test, expect, vi, beforeEach } from 'vitest';
import { render, screen, fireEvent } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import UploadZone from '../UploadZone';
+import { NotificationProvider } from '../../../contexts/NotificationContext';
// Mock API functions
vi.mock('../../../services/api', () => ({
@@ -9,6 +10,15 @@ vi.mock('../../../services/api', () => ({
getUploadProgress: vi.fn(),
}));
+// Helper function to render with NotificationProvider
+const renderWithProvider = (component: React.ReactElement) => {
+ return render(
+
+ {component}
+
+ );
+};
+
const mockProps = {
onUploadSuccess: vi.fn(),
onUploadError: vi.fn(),
@@ -24,28 +34,28 @@ describe('UploadZone', () => {
});
test('renders upload zone with default text', () => {
- render();
+ renderWithProvider();
expect(screen.getByText(/drag and drop files here/i)).toBeInTheDocument();
expect(screen.getByText(/or click to select files/i)).toBeInTheDocument();
});
test('shows accepted file types in UI', () => {
- render();
+ renderWithProvider();
expect(screen.getByText(/accepted file types/i)).toBeInTheDocument();
expect(screen.getByText(/pdf, doc, docx/i)).toBeInTheDocument();
});
test('displays max file size limit', () => {
- render();
+ renderWithProvider();
expect(screen.getByText(/maximum file size/i)).toBeInTheDocument();
expect(screen.getByText(/10 MB/i)).toBeInTheDocument();
});
test('shows browse files button', () => {
- render();
+ renderWithProvider();
const browseButton = screen.getByRole('button', { name: /browse files/i });
expect(browseButton).toBeInTheDocument();
@@ -115,7 +125,7 @@ describe('UploadZone', () => {
test('handles click to browse files', async () => {
const user = userEvent.setup();
- render();
+ renderWithProvider();
const browseButton = screen.getByRole('button', { name: /browse files/i });
@@ -127,7 +137,7 @@ describe('UploadZone', () => {
});
test('renders with custom className', () => {
- const { container } = render(
+ const { container } = renderWithProvider(
);