import { beforeEach, describe, it } from 'vitest' import { elementUpdated, fixture } from '@open-wc/testing-helpers' import type { UsLoader } from './UsLoader' import './UsLoader' describe('UsLoader', () => { let loader: UsLoader beforeEach(async () => { loader = await fixture('') }) it('should be defined', async () => { expect(loader).toBeDefined() expect(loader.tagName).toBe('US-LOADER') }) it('should have correct props', async () => { expect(loader.type).toBe('infinity') expect(loader.value).toBe(25) expect(loader.showPercentages).toBe(false) expect(loader.label).toBe('') expect(loader.doneLabel).toBe('') expect(loader.loaderBackgroundColor).toBe('transparent') expect(loader.workTime).toBe(null) expect(loader.dataTestId).toBe('loader') }) it('should update type property', async () => { loader.type = 'infinity-scroll' await elementUpdated(loader) expect(loader.type).toBe('infinity-scroll') }) it('should update all properties', async () => { loader.value = 50 loader.showPercentages = true loader.label = 'Loading...' loader.doneLabel = 'Completed' loader.loaderBackgroundColor = 'white' loader.workTime = 10 await elementUpdated(loader) expect(loader.value).toBe(50) expect(loader.showPercentages).toBe(true) expect(loader.label).toBe('Loading...') expect(loader.doneLabel).toBe('Completed') expect(loader.loaderBackgroundColor).toBe('white') expect(loader.workTime).toBe(10) }) })