29 lines
804 B
TypeScript
29 lines
804 B
TypeScript
import { mount } from '@vue/test-utils'
|
|
import { describe, expect, it } from 'vitest'
|
|
import Counter from '../src/components/Counter.vue'
|
|
|
|
describe('Counter.vue', () => {
|
|
it('should render', () => {
|
|
const wrapper = mount(Counter, { props: { initial: 10 } })
|
|
expect(wrapper.text()).toContain('10')
|
|
expect(wrapper.html()).toMatchSnapshot()
|
|
})
|
|
|
|
it('should be interactive', async () => {
|
|
const wrapper = mount(Counter, { props: { initial: 0 } })
|
|
expect(wrapper.text()).toContain('0')
|
|
|
|
expect(wrapper.find('.inc').exists()).toBe(true)
|
|
|
|
expect(wrapper.find('.dec').exists()).toBe(true)
|
|
|
|
await wrapper.get('.inc').trigger('click')
|
|
|
|
expect(wrapper.text()).toContain('1')
|
|
|
|
await wrapper.get('.dec').trigger('click')
|
|
|
|
expect(wrapper.text()).toContain('0')
|
|
})
|
|
})
|