You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1008 B
42 lines
1008 B
import { mount } from '@vue/test-utils'
|
|
import { asyncExpect } from '@/tests/utils'
|
|
import Radio from '../Radio'
|
|
import focusTest from '../../../tests/shared/focusTest'
|
|
|
|
describe('Radio', () => {
|
|
focusTest(Radio)
|
|
|
|
it('should render correctly', () => {
|
|
const wrapper = mount({
|
|
render () {
|
|
return <Radio class='customized'>Test</Radio>
|
|
},
|
|
})
|
|
expect(wrapper.html()).toMatchSnapshot()
|
|
})
|
|
|
|
it('responses hover events', async () => {
|
|
const onMouseEnter = jest.fn()
|
|
const onMouseLeave = jest.fn()
|
|
|
|
const wrapper = mount({
|
|
render () {
|
|
return <Radio
|
|
onMouseenter={onMouseEnter}
|
|
onMouseleave={onMouseLeave}
|
|
/>
|
|
},
|
|
}, { sync: false })
|
|
await asyncExpect(() => {
|
|
wrapper.trigger('mouseenter')
|
|
})
|
|
await asyncExpect(() => {
|
|
expect(onMouseEnter).toHaveBeenCalled()
|
|
})
|
|
wrapper.trigger('mouseleave')
|
|
await asyncExpect(() => {
|
|
expect(onMouseLeave).toHaveBeenCalled()
|
|
})
|
|
})
|
|
})
|