UNPKG

wix-style-react

Version:
195 lines (145 loc) • 7.56 kB
'use strict'; 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); }); });