test: added test file

This commit is contained in:
Paul Valerie GOMA 2025-07-23 19:12:49 +02:00
parent e1ce3e44d4
commit e0681f1da6

57
test/VProgressBar.spec.ts Normal file
View File

@ -0,0 +1,57 @@
import { describe, it, expect } from 'vitest';
import { mount } from '@vue/test-utils';
import VProgressBar from '../src/components/progressbar/VProgressBar.vue';
describe('VProgressBar', () => {
it('renders with default props', () => {
const wrapper = mount(VProgressBar);
const progressBar = wrapper.findComponent({ name: 'ProgressBar' });
expect(progressBar.exists()).toBe(true);
expect(progressBar.props('value')).toBe(0);
expect(progressBar.props('mode')).toBe('determinate');
expect(progressBar.props('showValue')).toBe(false);
});
it('renders with custom value', () => {
const wrapper = mount(VProgressBar, {
props: { value: 75 }
});
expect(wrapper.findComponent({ name: 'ProgressBar' }).props('value')).toBe(75);
});
it('renders in indeterminate mode', () => {
const wrapper = mount(VProgressBar, {
props: { indeterminate: true, value: 75 }
});
expect(wrapper.findComponent({ name: 'ProgressBar' }).props('mode')).toBe('indeterminate');
});
it('hides value when small is true even if showValue is true', () => {
const wrapper = mount(VProgressBar, {
props: { showValue: true, small: true, value: 25 }
});
expect(wrapper.findComponent({ name: 'ProgressBar' }).props('showValue')).toBe(false);
});
it('applies small class when small is true', () => {
const wrapper = mount(VProgressBar, {
props: { small: true, value: 15 }
});
expect(wrapper.find('.p-progressbar').classes()).toContain('small');
});
it('renders slot content', () => {
const wrapper = mount(VProgressBar, {
props: { value: 43, showValue: true },
slots: {
default: 'Valeur: 43/100'
}
});
expect(wrapper.html()).toContain('Valeur: 43/100');
});
});