wix-style-react
Version:
wix-style-react
195 lines (145 loc) • 7.56 kB
JavaScript
;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _TextLink = require('./TextLink.driver');
var _TextLink2 = _interopRequireDefault(_TextLink);
var _TextLink3 = require('./TextLink');
var _TextLink4 = _interopRequireDefault(_TextLink3);
var _driverFactory = require('wix-ui-test-utils/driver-factory');
var _testkit = require('../../testkit');
var _enzyme = require('../../testkit/enzyme');
var _testkitSanity = require('../../test/utils/testkit-sanity');
var _sinon = require('sinon');
var _enzyme2 = require('enzyme');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('TextLink', function () {
var createDriver = (0, _driverFactory.createDriverFactory)(_TextLink2.default);
it('should have a textLink', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '' }));
expect(driver.exists()).toBeTruthy();
});
it('should render children', function () {
var children = '<div>123</div>';
var driver = createDriver(_react2.default.createElement(
_TextLink4.default,
{ link: '' },
children
));
expect(driver.getContent()).toBe(children);
});
it('should be with medium size by defualt', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '' }));
expect(driver.getSize()).toBe('medium');
});
it('should be with small size', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '', size: 'small' }));
expect(driver.getSize()).toBe('small');
});
//TODO - this should be deprecated
it('should support deprecated darkBackground', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '', darkBackground: true, size: 'small' }));
expect(driver.isDarkBackground()).toBeTruthy();
});
it('should be with dark background', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '', theme: 'darkBackground', size: 'small' }));
expect(driver.isDarkBackground()).toBeTruthy();
});
it('should be with greyscale theme', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '', theme: 'greyScale', size: 'small' }));
expect(driver.isGreyScale()).toBeTruthy();
});
it('should get greyscale theme', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '', theme: 'greyScale', size: 'small' }));
expect(driver.getTheme()).toEqual('greyScale');
});
it('should get normal theme', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '', size: 'small' }));
expect(driver.getTheme()).toEqual('normal');
});
it('should be with light background', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '', size: 'small' }));
expect(driver.isLightBackground()).toBeTruthy();
});
it('should be with underline', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '', underlineStyle: 'always' }));
expect(driver.isUnderline()).toBeTruthy();
});
it('should not be with underline', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '', underlineStyle: 'never' }));
driver.hover();
expect(driver.isUnderline()).toBeFalsy();
});
it('should not be with underline by defualt', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '' }));
expect(driver.isUnderline()).toBeFalsy();
});
it('should have underline on hover', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '' }));
driver.hover();
expect(driver.isUnderline()).toBeTruthy();
});
it('should have a link', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: 'https://www.wix.com' }));
expect(driver.getLink()).toBe('https://www.wix.com/');
});
it('should have a rel', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { rel: 'bookmark', target: '_blank', link: 'https://www.wix.com' }));
expect(driver.getRel()).toBe('bookmark');
});
it('should have a target', function () {
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { target: '_blank', link: 'https://www.wix.com' }));
expect(driver.getTarget()).toBe('_blank');
});
it('should call `onClick` when clicked', function () {
var onClickFunc = (0, _sinon.spy)();
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '', onClick: onClickFunc }));
driver.click();
expect(onClickFunc.calledOnce).toEqual(true);
});
it('should be disabled when `disabled` is true', function () {
var onClick = (0, _sinon.spy)();
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: '', onClick: onClick, disabled: true }));
expect(driver.isDisabled()).toBe(true);
});
describe('given `onClick` without `link`', function () {
it('should call `preventDefault`', function () {
var onClick = (0, _sinon.spy)();
var preventDefault = (0, _sinon.spy)();
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { onClick: onClick }));
driver.click({ preventDefault: preventDefault });
expect(onClick.calledOnce).toBe(true);
expect(preventDefault.calledOnce).toBe(true);
});
});
describe('given `onClick` with `disabled` property', function () {
it('should call `preventDefault` and not call `onClick` without `link`', function () {
var onClick = (0, _sinon.spy)();
var preventDefault = (0, _sinon.spy)();
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { onClick: onClick, disabled: true }));
driver.click({ preventDefault: preventDefault });
expect(preventDefault.calledOnce).toBe(true);
expect(onClick.calledOnce).toBe(false);
});
it('should call `preventDefault` and not call `onClick` with `link`', function () {
var onClick = (0, _sinon.spy)();
var preventDefault = (0, _sinon.spy)();
var driver = createDriver(_react2.default.createElement(_TextLink4.default, { link: 'http://wix.com/', onClick: onClick, disabled: true }));
driver.click({ preventDefault: preventDefault });
expect(preventDefault.calledOnce).toBe(true);
expect(onClick.calledOnce).toBe(false);
});
});
});
describe('testkit', function () {
it('should exist', function () {
expect((0, _testkitSanity.isTestkitExists)(_react2.default.createElement(_TextLink4.default, { link: '' }), _testkit.textLinkTestkitFactory)).toBe(true);
});
});
describe('enzyme testkit', function () {
it('should exist', function () {
expect((0, _testkitSanity.isEnzymeTestkitExists)(_react2.default.createElement(_TextLink4.default, { link: '' }), _enzyme.textLinkTestkitFactory, _enzyme2.mount)).toBe(true);
});
it('should not exist', function () {
expect((0, _testkitSanity.isEnzymeTestkitExists)(_react2.default.createElement(_TextLink4.default, { link: '' }), _enzyme.textLinkTestkitFactory, _enzyme2.mount, { withoutDataHook: true })).toBe(false);
});
});