component.test.ts 829 B

12345678910111213141516171819202122232425262728
  1. import { mount } from '@vue/test-utils'
  2. import { describe, expect, it } from 'vitest'
  3. import TheCounter from '../src/components/TheCounter.vue'
  4. describe('component TheCounter.vue', () => {
  5. it('should render', () => {
  6. const wrapper = mount(TheCounter, { props: { initial: 10 } })
  7. expect(wrapper.text()).toContain('10')
  8. expect(wrapper.html()).toMatchSnapshot()
  9. })
  10. it('should be interactive', async () => {
  11. const wrapper = mount(TheCounter, { props: { initial: 0 } })
  12. expect(wrapper.text()).toContain('0')
  13. expect(wrapper.find('.inc').exists()).toBe(true)
  14. expect(wrapper.find('.dec').exists()).toBe(true)
  15. await wrapper.get('.inc').trigger('click')
  16. expect(wrapper.text()).toContain('1')
  17. await wrapper.get('.dec').trigger('click')
  18. expect(wrapper.text()).toContain('0')
  19. })
  20. })