UNPKG

wix-style-react

Version:
135 lines (99 loc) 4.57 kB
'use strict'; 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(); }); });