/** * Basic test file to verify state components are properly exported and typed */ import { LoadingWrapper } from '../LoadingWrapper'; import { ErrorDisplay } from '../ErrorDisplay'; import { EmptyState } from '../EmptyState'; import { StateContainer } from '../StateContainer'; import { useDataFetching } from '../../hooks/useDataFetching'; import { ApiError } from '@/lib/api/base/ApiError'; // This file just verifies that all components can be imported and are properly typed // Full testing would be done in separate test files describe('State Components - Basic Type Checking', () => { it('should export all components', () => { expect(LoadingWrapper).toBeDefined(); expect(ErrorDisplay).toBeDefined(); expect(EmptyState).toBeDefined(); expect(StateContainer).toBeDefined(); expect(useDataFetching).toBeDefined(); }); it('should have proper component signatures', () => { // LoadingWrapper accepts props const loadingProps = { variant: 'spinner' as const, message: 'Loading...', size: 'md' as const, }; expect(loadingProps).toBeDefined(); // ErrorDisplay accepts ApiError const mockError = new ApiError( 'Test error', 'NETWORK_ERROR', { timestamp: new Date().toISOString() } ); expect(mockError).toBeDefined(); expect(mockError.isRetryable()).toBe(true); // EmptyState accepts icon and title const emptyProps = { icon: require('lucide-react').Activity, title: 'No data', }; expect(emptyProps).toBeDefined(); // StateContainer accepts data and state const stateProps = { data: null, isLoading: false, error: null, retry: async () => {}, children: (data: any) =>