import { mount } from '@vue/test-utils'; import { asyncExpect } from '@/tests/utils'; import Radio, { Group, Button } from '..'; import focusTest from '../../../tests/shared/focusTest'; import mountTest from '../../../tests/shared/mountTest'; describe('Radio', () => { focusTest(Radio); mountTest(Radio); mountTest(Group); mountTest(Button); it('should render correctly', () => { const wrapper = mount({ render() { return Test; }, }); expect(wrapper.html()).toMatchSnapshot(); }); it('responses hover events', async () => { const onMouseEnter = jest.fn(); const onMouseLeave = jest.fn(); const wrapper = mount( { render() { return ; }, }, { sync: false }, ); await asyncExpect(() => { wrapper.find('label').trigger('mouseenter'); }); await asyncExpect(() => { expect(onMouseEnter).toHaveBeenCalled(); }); wrapper.find('label').trigger('mouseleave'); await asyncExpect(() => { expect(onMouseLeave).toHaveBeenCalled(); }); }); });