wix-style-react
Version:
wix-style-react
81 lines (70 loc) • 2.81 kB
JavaScript
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();
});
});
});