Files
portal/app/tests/Frontend/DashboardCountUp.spec.ts
T

34 lines
1.3 KiB
TypeScript

import { describe, it, expect, beforeEach, vi } from 'vitest';
import { mount, flushPromises } from '@vue/test-utils';
import { createPinia, setActivePinia } from 'pinia';
import { createVuetify } from 'vuetify';
import DashboardView from '../../resources/js/views/DashboardView.vue';
describe('DashboardView — KPI count-up', () => {
beforeEach(() => {
setActivePinia(createPinia());
Object.defineProperty(window, 'matchMedia', {
writable: true,
configurable: true,
value: vi.fn().mockReturnValue({ matches: false, addEventListener: vi.fn(), removeEventListener: vi.fn() }),
});
});
it('renders KPI strip with JetBrains Mono number', async () => {
const w = mount(DashboardView, {
global: { plugins: [createVuetify()], stubs: { RouterLink: true } },
});
await flushPromises();
const kpis = w.findAll('.ld-kpi__value');
expect(kpis.length).toBeGreaterThan(0);
expect(kpis[0].classes()).toContain('ld-mono');
});
it('shows live pulse indicator', () => {
const w = mount(DashboardView, {
global: { plugins: [createVuetify()], stubs: { RouterLink: true } },
});
expect(w.find('.ld-pulse').exists()).toBe(true);
});
});