import { describe, it, expect, beforeEach, afterEach } from 'vitest'
import { useCotLayers } from '../../app/composables/useCotLayers.js'

describe('useCotLayers', () => {
  beforeEach(() => {
    localStorage.clear()
  })

  afterEach(() => {
    localStorage.clear()
  })

  it('defaults all layers on', () => {
    const { layers, layerQuery } = useCotLayers()
    expect(layers.value).toEqual({ air: true, surface: true, ground: true })
    expect(layerQuery.value).toBe('air,surface,ground')
  })

  it('toggles layers and persists to localStorage', () => {
    const { layers, toggleLayer, layerQuery } = useCotLayers()
    toggleLayer('air')
    expect(layers.value.air).toBe(false)
    expect(layerQuery.value).toBe('surface,ground')
    const stored = JSON.parse(localStorage.getItem('kestrel-cot-layers'))
    expect(stored.air).toBe(false)
  })
})

describe('useCotStream helpers', () => {
  it('layer query none when all off', () => {
    localStorage.clear()
    const { toggleLayer, layerQuery } = useCotLayers()
    toggleLayer('air')
    toggleLayer('surface')
    toggleLayer('ground')
    expect(layerQuery.value).toBe('none')
  })
})
