import { describe, it, expect } from 'vitest'
import { isBare, resolve, list } from '@/components/ui/registry.js'
describe('UI component registry', () => {
it('resolves card_grid by snake_case name', () => {
const cmp = resolve('card_grid')
expect(cmp).toBeTruthy()
})
it('resolves CardGrid by PascalCase name', () => {
const cmp = resolve('CardGrid')
expect(cmp).toBeTruthy()
})
it('returns null for unknown component', () => {
expect(resolve('nonexistent')).toBeNull()
})
it('lists registered names', () => {
const names = list()
expect(names.length).toBeGreaterThan(0)
expect(names).toContain('card_grid')
expect(names).toContain('CardGrid')
})
it('marks a self-framed component bare under both names', () => {
expect(isBare('skill_proposal')).toBe(true)
expect(isBare('SkillProposal')).toBe(true)
})
it('does not mark a framed component bare', () => {
expect(isBare('card_grid')).toBe(false)
expect(isBare('')).toBe(false)
expect(isBare(undefined)).toBe(false)
})
})