49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
import { mount } from '@vue/test-utils';
|
|
import Chip from './Chip.vue';
|
|
|
|
describe('Chip.vue', () => {
|
|
let wrapper;
|
|
|
|
beforeEach(() => {
|
|
wrapper = mount(Chip, {
|
|
props: {
|
|
label: 'PrimeVue',
|
|
icon: 'pi pi-primevue',
|
|
removable: true
|
|
}
|
|
});
|
|
});
|
|
|
|
afterEach(() => {
|
|
vi.restoreAllMocks();
|
|
});
|
|
|
|
it('should exists', () => {
|
|
expect(wrapper.find('.p-chip.p-component').exists()).toBe(true);
|
|
expect(wrapper.find('.p-chip-icon').classes()).toContain('pi-primevue');
|
|
expect(wrapper.find('.p-chip-text').text()).toBe('PrimeVue');
|
|
expect(wrapper.find('.p-chip-remove-icon').exists()).toBe(true);
|
|
});
|
|
|
|
it('should close icon work', async () => {
|
|
await wrapper.find('.p-chip-remove-icon').trigger('click');
|
|
|
|
expect(wrapper.find('.p-chip.p-component').exists()).toBe(false);
|
|
});
|
|
|
|
it('When removable is true and keydown triggered OnKeydown method should be called', async () => {
|
|
const closeSpy = vi.spyOn(wrapper.vm, 'onKeydown');
|
|
|
|
await wrapper.find('.p-chip-remove-icon').trigger('keydown');
|
|
|
|
expect(closeSpy).toHaveBeenCalled();
|
|
});
|
|
it('When onKeyDown method triggered close method should be called', async () => {
|
|
const closeSpy = vi.spyOn(wrapper.vm, 'close');
|
|
|
|
await wrapper.vm.onKeydown({ key: 'Enter' });
|
|
|
|
expect(closeSpy).toHaveBeenCalled();
|
|
});
|
|
});
|