From 2938e3bd2bfe4aea36840112bc6eb3e19d6f81cc Mon Sep 17 00:00:00 2001 From: Paul Valerie GOMA Date: Sun, 27 Jul 2025 03:58:56 +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/VFileUpload.spec.ts | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 test/VFileUpload.spec.ts diff --git a/test/VFileUpload.spec.ts b/test/VFileUpload.spec.ts new file mode 100644 index 0000000..cd44ec4 --- /dev/null +++ b/test/VFileUpload.spec.ts @@ -0,0 +1,45 @@ +import { mount } from '@vue/test-utils'; +import { describe, it, expect, vi } from 'vitest'; +import VFileUpload from '../src/components/file/VFileUpload.vue' + +describe('VFileUpload emits', () => { + it('doit émettre les événements personnalisés', async () => { + // Création des mocks + const onSelect = vi.fn(); + const onUpload = vi.fn(); + const onError = vi.fn(); + const onRemove = vi.fn(); + const onClear = vi.fn(); + + const wrapper = mount(VFileUpload, { + props: { + advanced: true, + onSelect, + onUpload, + onError, + onRemove, + onClear + } + }); + + // Simule une sélection de fichier + await wrapper.vm.$emit('select', { files: [{ name: 'test.png' }] }); + expect(onSelect).toHaveBeenCalledWith({ files: [{ name: 'test.png' }] }); + + // Simule une erreur + await wrapper.vm.$emit('error', { message: 'Erreur test' }); + expect(onError).toHaveBeenCalledWith({ message: 'Erreur test' }); + + // Simule un upload + await wrapper.vm.$emit('upload', { files: ['fichier1'] }); + expect(onUpload).toHaveBeenCalledWith({ files: ['fichier1'] }); + + // Simule une suppression + await wrapper.vm.$emit('remove', { file: 'test.png' }); + expect(onRemove).toHaveBeenCalledWith({ file: 'test.png' }); + + // Simule un clear + await wrapper.vm.$emit('clear'); + expect(onClear).toHaveBeenCalled(); + }); +});