From 4c2d2235beac4308176b54b0778da2e902682f8a Mon Sep 17 00:00:00 2001 From: xidedix Date: Tue, 21 Aug 2018 17:59:33 +0200 Subject: [PATCH] test: add unit test for User.vue --- tests/unit/User.spec.js | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tests/unit/User.spec.js diff --git a/tests/unit/User.spec.js b/tests/unit/User.spec.js new file mode 100644 index 00000000..5253c70a --- /dev/null +++ b/tests/unit/User.spec.js @@ -0,0 +1,49 @@ +import Vue from 'vue' +import { shallowMount, mount, createLocalVue } from '@vue/test-utils' +import VueRouter from 'vue-router' + +const localVue = createLocalVue() +localVue.use(VueRouter) +const router = new VueRouter() + +import BootstrapVue from 'bootstrap-vue' +import User from '@/views/Users/User' + +localVue.use(BootstrapVue) + +describe('User.vue', () => { + it('has a name', () => { + expect(User.name).toMatch('User') + }) + it('has a created hook', () => { + expect(typeof User.data).toMatch('function') + }) + it('sets the correct default data', () => { + expect(typeof User.data).toMatch('function') + const defaultData = User.data() + expect(defaultData.fields).toEqual([{key: 'key'}, {key: 'value'}]) + }) + it('is Vue instance', () => { + const wrapper = shallowMount(User, { + localVue, + router + }) + expect(wrapper.isVueInstance()).toBe(true) + }) + it('is User', () => { + const wrapper = shallowMount(User, { + localVue, + router + }) + expect(wrapper.is(User)).toBe(true) + }) + it('renders props.caption when passed', () => { + const caption = 'User id:' + const wrapper = mount(User, { + propsData: { caption }, + localVue, + router + }) + expect(wrapper.find('div.card-header').text()).toMatch(caption) + }) +})