// @vitest-environment node
import { describe, it, expect, vi } from 'vitest'

vi.stubGlobal('defineEventHandler', (fn: () => unknown) => fn)

const urlsModule = await import('./urls')
const handler = urlsModule.default as unknown as () => { loc: string }[]

describe('sitemap urls source', () => {
  it('includes the static award category routes', () => {
    const urls = handler()
    const locs = urls.map((u) => u.loc)

    expect(locs).toContain('/awards/basketball/team')
    expect(locs).toContain('/awards/basketball/player')
    expect(locs).toContain('/awards/volleyball/team')
    expect(locs).toContain('/awards/volleyball/player')
  })

  it('includes a route for every mindful session and staff member', async () => {
    const { mindfulSessions } = await import('../../../data/mindfulSessions')
    const { staffMembers } = await import('../../../data/staff')

    const urls = handler()
    const locs = urls.map((u) => u.loc)

    for (const session of mindfulSessions) {
      expect(locs).toContain(`/mindful-mondays/${session.slug}`)
    }
    for (const member of staffMembers) {
      expect(locs).toContain(`/coaches-staff/${member.id}`)
    }
  })
})
