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