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