diff options
-rw-r--r-- | tests/unit/Global/StatusIcon.spec.js | 38 | ||||
-rw-r--r-- | tests/unit/Global/__snapshots__/StatusIcon.spec.js.snap | 27 |
2 files changed, 65 insertions, 0 deletions
diff --git a/tests/unit/Global/StatusIcon.spec.js b/tests/unit/Global/StatusIcon.spec.js new file mode 100644 index 00000000..0fc8b7c9 --- /dev/null +++ b/tests/unit/Global/StatusIcon.spec.js @@ -0,0 +1,38 @@ +import { mount, createLocalVue } from '@vue/test-utils'; +import StatusIcon from '@/components/Global/StatusIcon'; + +const localVue = createLocalVue(); + +describe('StatusIcon.vue', () => { + const wrapper = mount(StatusIcon, { + localVue, + propsData: { + status: 'info', + }, + }); + it('should exist', () => { + expect(wrapper.exists()).toBe(true); + }); + it('should render icon-info element', () => { + expect(wrapper.find('.info').exists()).toBe(true); + }); + it('should render icon-success element', async () => { + await wrapper.setProps({ status: 'success' }); + expect(wrapper.find('.success').exists()).toBe(true); + }); + it('should render icon-warning element', async () => { + await wrapper.setProps({ status: 'warning' }); + expect(wrapper.find('.warning').exists()).toBe(true); + }); + it('should render icon-danger element', async () => { + await wrapper.setProps({ status: 'danger' }); + expect(wrapper.find('.danger').exists()).toBe(true); + }); + it('should render icon-secondary element', async () => { + await wrapper.setProps({ status: 'secondary' }); + expect(wrapper.find('.status-icon').exists()).toBe(true); + }); + it('should render correctly', () => { + expect(wrapper.element).toMatchSnapshot(); + }); +}); diff --git a/tests/unit/Global/__snapshots__/StatusIcon.spec.js.snap b/tests/unit/Global/__snapshots__/StatusIcon.spec.js.snap new file mode 100644 index 00000000..347a5538 --- /dev/null +++ b/tests/unit/Global/__snapshots__/StatusIcon.spec.js.snap @@ -0,0 +1,27 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`StatusIcon.vue should render correctly 1`] = ` +<span + class="status-icon secondary" +> + <svg + aria-hidden="true" + fill="currentColor" + focusable="false" + height="20" + preserveAspectRatio="xMidYMid meet" + viewBox="0 0 20 20" + width="20" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z" + /> + <path + d="M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z" + data-icon-path="inner-path" + opacity="0" + /> + </svg> +</span> +`; |