ant-design/components/radio/__tests__/radio.test.tsx
4091164330
chore: addd unit case (#45781)
(cherry picked from commit b21741d7b9)
2023-11-10 18:33:01 +08:00

62 lines
1.7 KiB
TypeScript

import React from 'react';
import Radio, { Button, Group } from '..';
import focusTest from '../../../tests/shared/focusTest';
import mountTest from '../../../tests/shared/mountTest';
import rtlTest from '../../../tests/shared/rtlTest';
import Form from '../../form';
import { fireEvent, render } from '../../../tests/utils';
describe('Radio', () => {
focusTest(Radio, { refFocus: true });
mountTest(Radio);
mountTest(Group);
mountTest(Button);
rtlTest(Radio);
rtlTest(Group);
rtlTest(Button);
it('should render correctly', () => {
const { container } = render(<Radio className="customized">Test</Radio>);
expect(container.firstChild).toMatchSnapshot();
});
it('responses hover events', () => {
const onMouseEnter = jest.fn();
const onMouseLeave = jest.fn();
const { container } = render(<Radio onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave} />);
fireEvent.mouseEnter(container.querySelector('label')!);
expect(onMouseEnter).toHaveBeenCalled();
fireEvent.mouseLeave(container.querySelector('label')!);
expect(onMouseLeave).toHaveBeenCalled();
});
it('should use own disabled status first', () => {
const { getByRole } = render(
<Form disabled>
<Radio disabled={false} />
</Form>,
);
expect(getByRole('radio')).not.toBeDisabled();
});
it('should obtained correctly disabled status', () => {
const { getByRole } = render(
<Form disabled>
<Radio.Group disabled={false}>
<Radio />
</Radio.Group>
</Form>,
);
expect(getByRole('radio')).not.toBeDisabled();
});
it('have static property for type detecting', () => {
expect(Radio.__ANT_RADIO).toBeTruthy();
});
});