From e0681f1da663b4695d8b5f3560f9512eba5f5bfb Mon Sep 17 00:00:00 2001 From: Paul Valerie GOMA Date: Wed, 23 Jul 2025 19:12:49 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20test:=20added=20test=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/VProgressBar.spec.ts | 57 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 test/VProgressBar.spec.ts diff --git a/test/VProgressBar.spec.ts b/test/VProgressBar.spec.ts new file mode 100644 index 0000000..3d87af4 --- /dev/null +++ b/test/VProgressBar.spec.ts @@ -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'); + }); +});