wix-style-react
Version:
wix-style-react
118 lines (85 loc) • 4.06 kB
JavaScript
;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _testUtils = require('react-dom/test-utils');
var _testUtils2 = _interopRequireDefault(_testUtils);
var _Checkbox = require('./Checkbox.driver');
var _Checkbox2 = _interopRequireDefault(_Checkbox);
var _driverFactory = require('wix-ui-test-utils/driver-factory');
var _testkit = require('../../testkit');
var _Checkbox3 = require('./Checkbox');
var _Checkbox4 = _interopRequireDefault(_Checkbox3);
var _enzyme = require('../../testkit/enzyme');
var _enzyme2 = require('enzyme');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var cachedConsoleWarn = global.console.warn;
describe('Checkbox', function () {
var createDriver = (0, _driverFactory.createDriverFactory)(_Checkbox2.default);
it('should be unchecked and not disabled by default', function () {
var driver = createDriver(_react2.default.createElement(_Checkbox4.default, null));
expect(driver.isChecked()).toBeFalsy();
expect(driver.isDisabled()).toBeFalsy();
});
it('should be checked', function () {
var driver = createDriver(_react2.default.createElement(_Checkbox4.default, { checked: true }));
expect(driver.isChecked()).toBeTruthy();
});
it('should be disabled', function () {
var driver = createDriver(_react2.default.createElement(_Checkbox4.default, { disabled: true }));
expect(driver.isDisabled()).toBeTruthy();
});
it('should have an error state', function () {
var driver = createDriver(_react2.default.createElement(_Checkbox4.default, { hasError: true }));
expect(driver.hasError()).toBeTruthy();
});
it('should call onChange when clicking the Checkbox', function () {
var onChange = jest.fn();
var driver = createDriver(_react2.default.createElement(_Checkbox4.default, { onChange: onChange }));
driver.click();
expect(onChange).toBeCalledWith(expect.objectContaining({ target: { checked: true } }));
});
it('should not call onChange when clicking disabled Checkbox', function () {
var onChange = jest.fn();
var driver = createDriver(_react2.default.createElement(_Checkbox4.default, { onChange: onChange, disabled: true }));
driver.click();
expect(onChange).not.toBeCalled();
});
it('should not run in indeterminate mode when not specified', function () {
var driver = createDriver(_react2.default.createElement(_Checkbox4.default, null));
expect(driver.isIndeterminate()).toBeFalsy();
});
it('should run in indeterminate mode when specified', function () {
var driver = createDriver(_react2.default.createElement(_Checkbox4.default, { indeterminate: true }));
expect(driver.isIndeterminate()).toBeTruthy();
});
it('should not warn with deprecation warning, if no size', function () {
global.console.warn = jest.fn();
createDriver(_react2.default.createElement(_Checkbox4.default, null));
expect(global.console.warn).not.toBeCalled();
global.console.warn = cachedConsoleWarn;
});
describe('testkit', function () {
it('should exist', function () {
var div = document.createElement('div');
var dataHook = 'myDataHook';
var wrapper = div.appendChild(_testUtils2.default.renderIntoDocument(_react2.default.createElement(
'div',
null,
_react2.default.createElement(_Checkbox4.default, { dataHook: dataHook })
)));
var checkboxTestkit = (0, _testkit.checkboxTestkitFactory)({ wrapper: wrapper, dataHook: dataHook });
expect(checkboxTestkit.exists()).toBeTruthy();
});
});
describe('enzyme testkit', function () {
it('should exist', function () {
var dataHook = 'myDataHook';
var wrapper = (0, _enzyme2.mount)(_react2.default.createElement(_Checkbox4.default, { dataHook: dataHook }));
var checkboxTestkit = (0, _enzyme.checkboxTestkitFactory)({
wrapper: wrapper,
dataHook: dataHook
});
expect(checkboxTestkit.exists()).toBeTruthy();
});
});
});