wix-style-react
Version:
wix-style-react
79 lines (69 loc) • 2.85 kB
JavaScript
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);
});
});
});