✅ test: added test file
This commit is contained in:
parent
d38cdce28c
commit
b3fe8a2f00
60
test/VAlert.spec.ts
Normal file
60
test/VAlert.spec.ts
Normal file
|
@ -0,0 +1,60 @@
|
|||
import { mount, flushPromises } from '@vue/test-utils';
|
||||
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
||||
import VAlert from '../src/components/alert/VAlert.vue';
|
||||
import Toast from 'primevue/toast';
|
||||
import ToastService from 'primevue/toastservice';
|
||||
|
||||
vi.mock('primevue/toastservice', () => ({
|
||||
default: {
|
||||
install: () => {},
|
||||
add: vi.fn()
|
||||
}
|
||||
}));
|
||||
|
||||
describe('VAlert.vue', () => {
|
||||
let wrapper: ReturnType<typeof mount>;
|
||||
|
||||
beforeEach(() => {
|
||||
const container = document.createElement('div');
|
||||
container.id = 'app';
|
||||
document.body.appendChild(container);
|
||||
|
||||
wrapper = mount(VAlert, {
|
||||
attachTo: '#app',
|
||||
global: {
|
||||
components: { Toast },
|
||||
plugins: [ToastService]
|
||||
},
|
||||
props: {
|
||||
position: 'top-right'
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 💡 Helper pour injecter un toast et attendre le rendu
|
||||
const renderToast = async (payload: { severity: string; summary: string; detail: string; life: number }) => {
|
||||
wrapper.vm.$toast?.add(payload);
|
||||
await new Promise(resolve => setTimeout(resolve, 50));
|
||||
await flushPromises();
|
||||
};
|
||||
|
||||
it('renders the Toast container via teleport', async () => {
|
||||
await renderToast({
|
||||
severity: 'success',
|
||||
summary: 'Test Title',
|
||||
detail: 'Test description',
|
||||
life: 3000
|
||||
});
|
||||
|
||||
const toast = document.querySelector('.p-toast');
|
||||
expect(toast).toBeTruthy();
|
||||
});
|
||||
|
||||
it('responds to "close" and "life-end" events', async () => {
|
||||
await wrapper.vm.$emit('close', { id: 'test-alert' });
|
||||
await wrapper.vm.$emit('life-end', { id: 'test-alert' });
|
||||
|
||||
expect(wrapper.emitted()).toHaveProperty('close');
|
||||
expect(wrapper.emitted()).toHaveProperty('life-end');
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue
Block a user