import { describe, it, expect } from 'vitest'
import { SLOT_FIXTURES } from './slot-fixtures'

describe('SLOT_FIXTURES', () => {
  it('covers the named-slot risk set', () => {
    expect(Object.keys(SLOT_FIXTURES).sort()).toEqual(['FormItem', 'PillStatus', 'TopBar'])
  })
  it('every fixture declares non-empty slots and expectTokens', () => {
    for (const [name, fx] of Object.entries(SLOT_FIXTURES)) {
      expect(Object.keys(fx.slots).length, name).toBeGreaterThan(0)
      expect(fx.expectTokens.length, name).toBeGreaterThan(0)
      // expectTokens 必须都出现在某个 slot 值里（否则断言恒失败）
      const allSlotText = Object.values(fx.slots).join(' ')
      for (const tok of fx.expectTokens) expect(allSlotText, `${name}:${tok}`).toContain(tok)
    }
  })
})
