UNPKG

wix-style-react

Version:
83 lines (71 loc) 2.81 kB
import { mount } from 'enzyme'; import React from 'react'; import sinon from 'sinon'; import { buttonHeaderTestkitFactory, buttonTestkitFactory } from '../../../testkit'; import { buttonHeaderTestkitFactory as enzymeButtonHeaderTestkitFactory } from '../../../testkit/enzyme'; import { createDriverFactory } from 'wix-ui-test-utils/driver-factory'; import ButtonHeader from './ButtonHeader'; import buttonHeaderDriverFactory from './ButtonHeader.driver'; import { isTestkitExists, isEnzymeTestkitExists } from '../../../test/utils/testkit-sanity'; describe('ButtonHeader', function () { var createDriver = createDriverFactory(buttonHeaderDriverFactory); it('should have a title', function () { var driver = createDriver(React.createElement(ButtonHeader, { buttonOnClick: function buttonOnClick() {}, buttonTitle: 'Click me', title: 'Header Title' })); expect(driver.title()).toBe('Header Title'); }); it('should have a subtitle', function () { var driver = createDriver(React.createElement(ButtonHeader, { buttonOnClick: function buttonOnClick() {}, buttonTitle: 'Click me', subtitle: 'Header Subtitle', title: 'Header Title' })); expect(driver.subtitle()).toBe('Header Subtitle'); }); it('should have a button testKit', function () { var driver = createDriver(React.createElement(ButtonHeader, { buttonOnClick: function buttonOnClick() {}, buttonTitle: 'Click me', subtitle: 'Header Subtitle', title: 'Header Title' })); var buttonDriverTestkit = buttonTestkitFactory({ wrapper: driver.element(), dataHook: driver.buttonDataHook() }); expect(buttonDriverTestkit.getButtonTextContent()).toBe('Click me'); }); it('should click on button', function () { var onClick = sinon.spy(); var driver = createDriver(React.createElement(ButtonHeader, { buttonOnClick: onClick, buttonTitle: 'Click me', subtitle: 'Header Subtitle', title: 'Header Title' })); driver.click(); expect(onClick.calledOnce).toBeTruthy(); }); describe('testkits', function () { it('should exist', function () { expect(isTestkitExists(React.createElement(ButtonHeader, { buttonTitle: 'Click me', subtitle: 'Header Subtitle', title: 'Header Title', buttonOnClick: function buttonOnClick() {} }), buttonHeaderTestkitFactory)).toBe(true); }); it('should exist for enzyme', function () { expect(isEnzymeTestkitExists(React.createElement(ButtonHeader, { buttonTitle: 'Click me', subtitle: 'Header Subtitle', title: 'Header Title', buttonOnClick: function buttonOnClick() {} }), enzymeButtonHeaderTestkitFactory, mount)).toBe(true); }); }); });