https://github.com/14nrv/jest-vue-matcher
Additional jest matchers for vue
https://github.com/14nrv/jest-vue-matcher
jest jest-matchers vue vue-test vue-test-utils vue-testing-tools vuejs wallaby
Last synced: 3 months ago
JSON representation
Additional jest matchers for vue
- Host: GitHub
- URL: https://github.com/14nrv/jest-vue-matcher
- Owner: 14nrv
- License: mit
- Created: 2018-10-19T13:13:00.000Z (over 6 years ago)
- Default Branch: dev
- Last Pushed: 2020-10-25T02:41:13.000Z (over 4 years ago)
- Last Synced: 2025-03-28T17:04:04.802Z (4 months ago)
- Topics: jest, jest-matchers, vue, vue-test, vue-test-utils, vue-testing-tools, vuejs, wallaby
- Language: JavaScript
- Size: 388 KB
- Stars: 8
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.npmjs.com/package/jest-vue-matcher)
[](https://travis-ci.org/14nrv/jest-vue-matcher)
[](https://codeclimate.com/github/14nrv/jest-vue-matcher/test_coverage)
[](https://codeclimate.com/github/14nrv/jest-vue-matcher/maintainability)
[](https://opensource.org/licenses/MIT)
[](https://github.com/semantic-release/semantic-release)
# jest-vue-matcher
Additional jest matchers for vue## Install
```
yarn add jest-vue-matcher -D
```## Setup
```js
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)
```js
expect('h1').toHaveText('My title')
expect('h1').not.toHaveText('Not my title')
```
* toBeADomElement()
```js
expect('h1').toBeADomElement()
expect('notH1').not.toBeADomElement()
```
* toHaveClass(className)
```js
expect('h1').toHaveClass('title')
expect('h1').not.toHaveClass('not-title')
```
* toHaveAttribute(attributeName, attributeValue)
```js
expect('h1').toHaveAttribute('class', 'title')
expect('h1').not.toHaveAClass('class', 'not-title')
```
* toHaveValue(value)
```js
expect('input[type=text]').toHaveValue('plop')
expect('input[type=text]').not.toHaveValue('not plop')
```
* toHaveProp(propName)
```js
expect(wrapper).toHaveProp('propName')
expect(wrapper).not.toHaveProp('not-propName')
```
* toEmit(eventName)
```js
expect(wrapper).toEmit('eventName')
expect(wrapper).not.toEmit('not eventName')
```
* toEmitWith(eventName, eventValue)
```js
expect(wrapper).toEmitWith('eventName', 'eventValue')
expect(wrapper).not.toEmitWith('not eventName', { data: 'eventValue' })
```## Inspiration
Inspirated by [mwangaben-vthelpers](https://github.com/mwangaben/mwangaben-vthelpers)