wix-style-react
Version:
wix-style-react
135 lines (99 loc) • 4.57 kB
JavaScript
;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _testUtils = require('react-dom/test-utils');
var _testUtils2 = _interopRequireDefault(_testUtils);
var _Button = require('./Button.driver');
var _Button2 = _interopRequireDefault(_Button);
var _Button3 = require('./Button');
var _Button4 = _interopRequireDefault(_Button3);
var _driverFactory = require('wix-ui-test-utils/driver-factory');
var _testkit = require('../../../testkit');
var _enzyme = require('../../../testkit/enzyme');
var _enzyme2 = require('enzyme');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Button', function () {
var createDriver = (0, _driverFactory.createDriverFactory)(_Button2.default);
it('should click a button', function () {
var onClick = jest.fn();
var driver = createDriver(_react2.default.createElement(_Button4.default, { onClick: onClick }));
driver.click();
expect(onClick).toBeCalled();
});
it('should not call onClick when disabled', function () {
var onClick = jest.fn();
var driver = createDriver(_react2.default.createElement(_Button4.default, { onClick: onClick, disabled: true }));
driver.click();
expect(onClick).toHaveBeenCalledTimes(0);
});
it('should not call focusableOnFocus when disabled', function () {
var focus = jest.fn();
var driver = createDriver(_react2.default.createElement(_Button4.default, { focusableOnFocus: focus, disabled: true }));
driver.focus();
expect(focus).toHaveBeenCalledTimes(0);
});
it('should not call focusableOnBlur when disabled', function () {
var blur = jest.fn();
var driver = createDriver(_react2.default.createElement(_Button4.default, { focusableOnBlur: blur, disabled: true }));
driver.blur();
expect(blur).toHaveBeenCalledTimes(0);
});
it('should call onMouseEnter when disabled', function () {
var mouseEnter = jest.fn();
var driver = createDriver(_react2.default.createElement(_Button4.default, { onMouseEnter: mouseEnter, disabled: true }));
driver.mouseEnter();
expect(mouseEnter).toHaveBeenCalledTimes(1);
});
it('should call onMouseLeave when disabled', function () {
var mouseLeave = jest.fn();
var driver = createDriver(_react2.default.createElement(_Button4.default, { onMouseLeave: mouseLeave, disabled: true }));
driver.mouseLeave();
expect(mouseLeave).toHaveBeenCalledTimes(1);
});
it('should get disabled class', function () {
var driver = createDriver(_react2.default.createElement(_Button4.default, { disabled: true }));
expect(driver.isButtonDisabled()).toBe(true);
});
it('should render children', function () {
var children = '<div>123</div>';
var driver = createDriver(_react2.default.createElement(
_Button4.default,
null,
children
));
expect(driver.getButtonTextContent()).toBe(children);
});
it('should have a prefixIcon', function () {
var driver = createDriver(_react2.default.createElement(_Button4.default, { prefixIcon: _react2.default.createElement('div', null) }));
expect(driver.isSuffixIconExists()).toBeFalsy();
expect(driver.isPrefixIconExists()).toBeTruthy();
});
it('should have a suffixIcon', function () {
var driver = createDriver(_react2.default.createElement(_Button4.default, { suffixIcon: _react2.default.createElement('div', null) }));
expect(driver.isPrefixIconExists()).toBeFalsy();
expect(driver.isSuffixIconExists()).toBeTruthy();
});
});
describe('testkit', function () {
it('should exist', function () {
var div = document.createElement('div');
var dataHook = 'myDataHook';
var onClick = jest.fn();
var wrapper = div.appendChild(_testUtils2.default.renderIntoDocument(_react2.default.createElement(
'div',
null,
_react2.default.createElement(_Button4.default, { onClick: onClick, dataHook: dataHook })
)));
var buttonTestkit = (0, _testkit.buttonTestkitFactory)({ wrapper: wrapper, dataHook: dataHook });
expect(buttonTestkit.exists()).toBeTruthy();
});
});
describe('enzyme testkit', function () {
it('should exist', function () {
var dataHook = 'myDataHook';
var onClick = jest.fn();
var wrapper = (0, _enzyme2.mount)(_react2.default.createElement(_Button4.default, { onClick: onClick, dataHook: dataHook }));
var buttonTestkit = (0, _enzyme.buttonTestkitFactory)({ wrapper: wrapper, dataHook: dataHook });
expect(buttonTestkit.exists()).toBeTruthy();
});
});