vitest/examples/react-enzyme/test/Button.test.tsx
Rob Caldecott 6d8c5103cb
test: add react storybook testing example (#470)
Co-authored-by: Rob Caldecott <robert.caldecott@keyloop.com>
2022-01-12 01:28:11 +08:00

30 lines
813 B
TypeScript

import React from 'react'
import { shallow } from 'enzyme'
import { beforeEach, describe, expect, test, vi } from 'vitest'
import Button from '../components/Button'
describe('Button component', () => {
let wrapper
const mockedOnSubmit = vi.fn()
beforeEach(() => {
wrapper = shallow(<Button onClick={mockedOnSubmit} text={'some-text'} />)
})
test('should render with correct props', () => {
expect(wrapper).toBeDefined()
expect(wrapper.name()).toBe('button')
expect(wrapper.prop('className')).toBe('some-className')
expect(typeof wrapper.prop('onClick')).toBe('function')
expect(wrapper.text()).toBe('some-text')
})
test('should invoke onClick prop by clicking on the button', () => {
wrapper.simulate('click')
expect(mockedOnSubmit).toHaveBeenCalled()
})
})