1import { mount, createLocalVue } from '@vue/test-utils';
2import StatusIcon from '@/components/Global/StatusIcon';
3
4const localVue = createLocalVue();
5
6describe('StatusIcon.vue', () => {
7  const wrapper = mount(StatusIcon, {
8    localVue,
9    propsData: {
10      status: 'info',
11    },
12  });
13  it('should exist', () => {
14    expect(wrapper.exists()).toBe(true);
15  });
16  it('should render icon-info element', () => {
17    expect(wrapper.find('.info').exists()).toBe(true);
18  });
19  it('should render icon-success element', async () => {
20    await wrapper.setProps({ status: 'success' });
21    expect(wrapper.find('.success').exists()).toBe(true);
22  });
23  it('should render icon-warning element', async () => {
24    await wrapper.setProps({ status: 'warning' });
25    expect(wrapper.find('.warning').exists()).toBe(true);
26  });
27  it('should render icon-danger element', async () => {
28    await wrapper.setProps({ status: 'danger' });
29    expect(wrapper.find('.danger').exists()).toBe(true);
30  });
31  it('should render icon-secondary element', async () => {
32    await wrapper.setProps({ status: 'secondary' });
33    expect(wrapper.find('.status-icon').exists()).toBe(true);
34  });
35  it('should render correctly', () => {
36    expect(wrapper.element).toMatchSnapshot();
37  });
38});
39