import { render, screen, renderHook } from '@testing-library/react'; import { describe, it, expect, vi, beforeEach } from 'vitest'; import { GoogleMapsProvider, useGoogleMapsLoader } from './google-maps-loader'; import React from 'react'; describe('GoogleMapsLoader', () => { beforeEach(() => { vi.clearAllMocks(); global.google = { maps: { importLibrary: vi.fn().mockResolvedValue({}), }, } as any; }); it('provides loading state', () => { const wrapper = ({ children }: { children: React.ReactNode }) => ( {children} ); const { result } = renderHook(() => useGoogleMapsLoader(), { wrapper }); expect(result.current).toBeDefined(); expect(typeof result.current.isLoaded).toBe('boolean'); }); it('renders children', () => { render(
Child
); expect(screen.getByTestId('child')).toBeInTheDocument(); }); });