import { mount, createLocalVue } from '@vue/test-utils'; import Search from '@/components/Global/Search'; import BootstrapVue from 'bootstrap-vue'; const localVue = createLocalVue(); localVue.use(BootstrapVue); describe('Search.vue', () => { const wrapper = mount(Search, { localVue, mocks: { $t: (key) => key, }, }); it('should exist', () => { expect(wrapper.exists()).toBe(true); }); it('should emit change-search on triggering onChangeInput', () => { wrapper.find('input').trigger('input'); expect(wrapper.emitted('change-search')).toHaveLength(1); }); it('should emit clear-search on triggering onClearSearch', async () => { await wrapper.setData({ filter: 'true' }); wrapper.find('button').trigger('click'); expect(wrapper.emitted('clear-search')).toHaveLength(1); }); it('should render correctly', () => { expect(wrapper.element).toMatchSnapshot(); }); });