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

vi.mock('next/navigation', () => ({ useRouter: () => ({ push: vi.fn() }) }))

import { SpotForm } from './SpotForm'

describe('SpotForm', () => {
  it('renders name and description fields', () => {
    render(<SpotForm />)
    expect(screen.getByLabelText(/nome do spot/i)).toBeInTheDocument()
    expect(screen.getByLabelText(/descrição/i)).toBeInTheDocument()
  })

  it('renders lat/lng fields', () => {
    render(<SpotForm />)
    expect(screen.getByLabelText(/latitude/i)).toBeInTheDocument()
    expect(screen.getByLabelText(/longitude/i)).toBeInTheDocument()
  })

  it('renders difficulty select', () => {
    render(<SpotForm />)
    expect(screen.getByLabelText(/dificuldade/i)).toBeInTheDocument()
  })

  it('renders submit button', () => {
    render(<SpotForm />)
    expect(screen.getByRole('button', { name: /submeter spot/i })).toBeInTheDocument()
  })
})
