UNPKG

wix-style-react

Version:
81 lines (70 loc) 2.81 kB
import React from 'react'; import ReactTestUtils from 'react-dom/test-utils'; import buttonDriverFactory from './Button.driver'; import Button from './Button'; import { createDriverFactory } from 'wix-ui-test-utils/driver-factory'; import { tpaButtonTestkitFactory as buttonTestkitFactory } from '../../../testkit'; import { tpaButtonTestkitFactory as enzymeButtonTestkitFactory } from '../../../testkit/enzyme'; import { mount } from 'enzyme'; describe('Button', function () { var createDriver = createDriverFactory(buttonDriverFactory); it('should click a button', function () { var onClick = jest.fn(); var driver = createDriver(React.createElement(Button, { onClick: onClick })); driver.click(); expect(onClick).toHaveBeenCalled(); }); it('should not call onClick when disabled', function () { var onClick = jest.fn(); var driver = createDriver(React.createElement(Button, { onClick: onClick, disabled: true })); driver.click(); expect(onClick).toHaveBeenCalledTimes(0); }); it('should get disabled class', function () { var driver = createDriver(React.createElement(Button, { disabled: true })); expect(driver.isButtonDisabled()).toBe(true); }); it('should render children', function () { var children = '<div>123</div>'; var driver = createDriver(React.createElement( Button, null, children )); expect(driver.getButtonTextContent()).toBe(children); }); describe('testkit', function () { it('should exist', function () { var div = document.createElement('div'); var dataHook = 'myDataHook'; var onClick = jest.fn(); var wrapper = div.appendChild(ReactTestUtils.renderIntoDocument(React.createElement( 'div', null, React.createElement(Button, { onClick: onClick, dataHook: dataHook }) ))); var buttonTestkit = buttonTestkitFactory({ wrapper: wrapper, dataHook: dataHook }); expect(buttonTestkit.exists()).toBeTruthy(); }); }); describe('enzyme testkit', function () { it('should exist', function () { var dataHook = 'myDataHook'; var wrapper = mount(React.createElement(Button, { dataHook: dataHook })); var buttonTestkit = enzymeButtonTestkitFactory({ wrapper: wrapper, dataHook: dataHook }); expect(buttonTestkit.exists()).toBeTruthy(); }); it('should have clickable properties', function () { var dataHook = 'myDataHook'; var onClick = jest.fn(); var wrapper = mount(React.createElement( Button, { onClick: onClick, dataHook: dataHook }, 'fdsfds' )); var buttonTestkit = enzymeButtonTestkitFactory({ wrapper: wrapper, dataHook: dataHook }); buttonTestkit.click(); expect(onClick).toHaveBeenCalled(); }); }); });