import { render, screen } from '@testing-library/react'; import { describe, it, expect, vi } from 'vitest'; import { SimpleMap } from './simple-map'; import React from 'react'; // Mock the Map component to verify props passed to it vi.mock('../map', () => ({ Map: vi.fn(({ markers, center, zoom }: any) => (
{JSON.stringify(center)} {zoom} {markers.length} {markers.length > 0 && {markers[0].title}}
)), })); describe('SimpleMap', () => { const mockCenter = { lat: 10, lng: 20 }; it('renders Map with correct props', () => { render(); expect(screen.getByTestId('mock-map')).toBeInTheDocument(); expect(screen.getByTestId('center')).toHaveTextContent(JSON.stringify(mockCenter)); expect(screen.getByTestId('zoom')).toHaveTextContent('12'); expect(screen.getByTestId('markers-count')).toHaveTextContent('1'); expect(screen.getByTestId('marker-title')).toHaveTextContent('Test Marker'); }); it('renders without marker when showMarker is false', () => { render(); expect(screen.getByTestId('markers-count')).toHaveTextContent('0'); }); });