50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
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)
|
|
})
|
|
})
|