import { describe, it, expect, vi } from 'vitest' import type { App } from 'vue' import { createNychthemeron, LoadingIcon } from '../src/index' describe('createNychthemeron', () => { it('returns a Vue plugin with install method', () => { const plugin = createNychthemeron() expect(typeof plugin.install).toBe('function') }) it('install registers NychButton and NychLoadingIcon globally', () => { const plugin = createNychthemeron() const mockApp = { component: vi.fn() } as unknown as App plugin.install(mockApp) expect(mockApp.component).toHaveBeenCalledWith('NychButton', expect.anything()) expect(mockApp.component).toHaveBeenCalledWith('NychLoadingIcon', expect.anything()) }) it('exposes Button and LoadingIcon components', () => { const { Button: btn, LoadingIcon: icon } = createNychthemeron() expect(btn).toBeDefined() expect(icon).toBeDefined() }) }) describe('LoadingIcon', () => { it('is a valid Vue component', () => { expect(LoadingIcon).toBeDefined() }) })