UNPKG

@cainiaofe/cn-ui-m

Version:
29 lines (28 loc) 1.39 kB
import React from 'react'; import { render, fireEvent } from '@testing-library/react'; import { CnSwitch } from '../index'; describe('CnSwitch', function () { it('renders without errors', function () { var container = render(React.createElement(CnSwitch, null)).container; expect(container).toBeInTheDocument(); }); it('should handle onChange event', function () { var handleChange = jest.fn(); var getByTestId = render(React.createElement(CnSwitch, { onChange: handleChange })).getByTestId; var switchElement = getByTestId('cn-switch'); fireEvent.click(switchElement); expect(handleChange).toHaveBeenCalledTimes(1); }); it('should toggle the switch when clicked', function () { var getByTestId = render(React.createElement(CnSwitch, null)).getByTestId; var switchElement = getByTestId('cn-switch'); fireEvent.click(switchElement); expect(switchElement.classList.contains('cn-ui-m-switch--checked')).toBe(true); }); it('should not toggle the switch when disabled', function () { var getByTestId = render(React.createElement(CnSwitch, { disabled: true })).getByTestId; var switchElement = getByTestId('cn-switch'); fireEvent.click(switchElement); expect(switchElement.classList.contains('cn-ui-m-switch--checked')).toBe(false); }); });