import { describe, test, expect, vi, beforeEach } from 'vitest'; import { screen } from '@testing-library/react'; import NotificationPanel from '../NotificationPanel'; import { NotificationProvider } from '../../../contexts/NotificationContext'; import { renderWithProviders, setupTestEnvironment } from '../../../test/test-utils'; import React from 'react'; // Mock date-fns vi.mock('date-fns', () => ({ formatDistanceToNow: vi.fn(() => '2 minutes ago'), })); const createMockAnchorEl = () => { const mockEl = document.createElement('div'); Object.defineProperty(mockEl, 'getBoundingClientRect', { value: () => ({ bottom: 100, top: 50, left: 200, right: 250, width: 50, height: 50, }), }); return mockEl; }; describe('NotificationPanel - Simple Tests', () => { beforeEach(() => { setupTestEnvironment(); }); test('should not render when anchorEl is null', () => { const { container } = renderWithProviders( ); expect(container.firstChild).toBeNull(); }); test('should render notification panel with header when anchorEl is provided', () => { const mockAnchorEl = createMockAnchorEl(); renderWithProviders( ); expect(screen.getByText('Notifications')).toBeInTheDocument(); }); test('should show empty state when no notifications', () => { const mockAnchorEl = createMockAnchorEl(); renderWithProviders( ); expect(screen.getByText('No notifications')).toBeInTheDocument(); }); test('should render with theme provider correctly', () => { const mockAnchorEl = createMockAnchorEl(); const { container } = renderWithProviders( ); // Should render without crashing expect(container.firstChild).toBeTruthy(); }); });