import { render, screen } from '@testing-library/react'
import { describe, it, expect } from 'vitest'
import { SpotList } from './SpotList'

const mockSpots = [
  {
    id: 's1',
    name: 'Parque das Nações',
    description: 'Vista incrível sobre o Tejo',
    difficulty: 'BEGINNER' as const,
    coverImage: null,
    tags: ['urbano'],
    avgRating: 4.5,
    reviewCount: 10,
  },
]

describe('SpotList', () => {
  it('renders spot cards', () => {
    render(<SpotList spots={mockSpots} />)
    expect(screen.getByText('Parque das Nações')).toBeInTheDocument()
  })

  it('shows default empty message when no spots', () => {
    render(<SpotList spots={[]} />)
    expect(screen.getByText(/nenhum spot/i)).toBeInTheDocument()
  })

  it('shows custom empty message', () => {
    render(<SpotList spots={[]} emptyMessage="Sem resultados aqui." />)
    expect(screen.getByText('Sem resultados aqui.')).toBeInTheDocument()
  })
})
