jest-vue-matcher
2.0.0 • Public • Published

jest-vue-matcher
Additional jest matchers for vue
Install
yarn add jest-vue-matcher -D
Setup
import { mount } from '@vue/test-utils'
import matchers from 'jest-vue-matcher'
import MyComponent from '@/components/MyComponent.vue'
let wrapper
describe('MyComponent', () => {
beforeEach(() => {
wrapper = mount(MyComponent)
expect.extend(matchers(wrapper))
})
})
Matchers available
- toHaveText(text)
expect('h1').toHaveText('My title')
expect('h1').not.toHaveText('Not my title')
- toBeADomElement()
expect('h1').toBeADomElement()
expect('notH1').not.toBeADomElement()
- toHaveClass(className)
expect('h1').toHaveClass('title')
expect('h1').not.toHaveClass('not-title')
- toHaveAttribute(attributeName, attributeValue)
expect('h1').toHaveAttribute('class', 'title')
expect('h1').not.toHaveAClass('class', 'not-title')
- toHaveValue(value)
expect('input[type=text]').toHaveValue('plop')
expect('input[type=text]').not.toHaveValue('not plop')
- toHaveProp(propName)
expect(wrapper).toHaveProp('propName')
expect(wrapper).not.toHaveProp('not-propName')
- toEmit(eventName)
expect(wrapper).toEmit('eventName')
expect(wrapper).not.toEmit('not eventName')
- toEmitWith(eventName, eventValue)
expect(wrapper).toEmitWith('eventName', 'eventValue')
expect(wrapper).not.toEmitWith('not eventName', { data: 'eventValue' })
Inspiration
Inspirated by mwangaben-vthelpers
Package Sidebar
Install
Weekly Downloads