UNPKG

wix-style-react

Version:
79 lines (69 loc) 2.85 kB
import React from 'react'; import RadioButton from './RadioButton'; import radioButtonDriverFactory from './RadioButton.driver'; import { createDriverFactory } from 'wix-ui-test-utils/driver-factory'; import { radioButtonTestkitFactory } from '../../../testkit'; import { isTestkitExists, isEnzymeTestkitExists } from '../../../test/utils/testkit-sanity'; import { radioButtonTestkitFactory as enzymeRadioButtonTestkitFactory } from '../../../testkit/enzyme'; import { mount } from 'enzyme'; describe('RadioButton', function () { var createDriver = createDriverFactory(radioButtonDriverFactory); it('should have a label', function () { var label = 'myLabel'; var driver = createDriver(React.createElement( RadioButton, { value: '1' }, label )); expect(driver.getLabel()).toBe(label); }); it('should be disabled', function () { var driver = createDriver(React.createElement(RadioButton, { value: '1', disabled: true })); expect(driver.isDisabled()).toBe(true); }); it('should be checked', function () { var driver = createDriver(React.createElement(RadioButton, { value: '1', checked: true })); expect(driver.isChecked()).toBe(true); }); it('should call onChange', function () { var onChange = jest.fn(); var value = 1; var driver = createDriver(React.createElement(RadioButton, { value: value, onChange: onChange })); driver.check(); expect(onChange).toBeCalledWith(value); }); it('should not call onChange if already checked', function () { var onChange = jest.fn(); var value = 1; var driver = createDriver(React.createElement(RadioButton, { value: value, onChange: onChange, checked: true })); driver.check(); expect(onChange).not.toBeCalledWith(value); }); it('should not call onChange if disabled', function () { var onChange = jest.fn(); var value = 1; var driver = createDriver(React.createElement(RadioButton, { value: value, onChange: onChange, disabled: true })); driver.check(); expect(onChange).not.toBeCalledWith(value); }); describe('given `content` prop', function () { it('should render node from that prop', function () { var driver = createDriver(React.createElement(RadioButton, { content: React.createElement( 'span', null, 'Hello' ) })); expect(driver.getContent().textContent).toBe('Hello'); }); }); describe('testkit', function () { it('should exist', function () { expect(isTestkitExists(React.createElement(RadioButton, null), radioButtonTestkitFactory)).toBe(true); }); }); describe('enzyme testkit', function () { it('should exist', function () { expect(isEnzymeTestkitExists(React.createElement(RadioButton, null), enzymeRadioButtonTestkitFactory, mount)).toBe(true); }); }); });