UNPKG

wix-style-react

Version:
112 lines (90 loc) 4.25 kB
import React from 'react'; import textLinkLayoutDriverFactory from './TextLinkLayout.driver'; import TextLinkLayout from './TextLinkLayout'; import { createDriverFactory } from 'wix-ui-test-utils/driver-factory'; import { textLinkLayoutTestkitFactory } from '../../../testkit'; import { textLinkLayoutTestkitFactory as enzymeTextLinkLayoutTestkitFactory } from '../../../testkit/enzyme'; import { isTestkitExists, isEnzymeTestkitExists } from '../../../test/utils/testkit-sanity'; import { mount } from 'enzyme'; describe('TextLinkLayout', function () { var createDriver = createDriverFactory(textLinkLayoutDriverFactory); it('should have a textLinkLayout', function () { var driver = createDriver(React.createElement(TextLinkLayout, null)); expect(driver.exists()).toBeTruthy(); }); it('should render children', function () { var children = '<div>123</div>'; var driver = createDriver(React.createElement( TextLinkLayout, { link: '' }, children )); expect(driver.getContent()).toBe(children); }); it('should be with medium size by defualt', function () { var driver = createDriver(React.createElement(TextLinkLayout, null)); expect(driver.getSize()).toBe('medium'); }); it('should be with small size', function () { var driver = createDriver(React.createElement(TextLinkLayout, { size: 'small' })); expect(driver.getSize()).toBe('small'); }); it('should be with dark background', function () { var driver = createDriver(React.createElement(TextLinkLayout, { theme: 'darkBackground', size: 'small' })); expect(driver.isDarkBackground()).toBeTruthy(); }); it('should be with greyscale theme', function () { var driver = createDriver(React.createElement(TextLinkLayout, { theme: 'greyScale', size: 'small' })); expect(driver.isGreyScale()).toBeTruthy(); }); it('should be with light background', function () { var driver = createDriver(React.createElement(TextLinkLayout, { size: 'small' })); expect(driver.isLightBackground()).toBeTruthy(); }); it('should be with underline', function () { var driver = createDriver(React.createElement(TextLinkLayout, { underlineStyle: 'always' })); expect(driver.isUnderline()).toBeTruthy(); }); it('should not be with underline', function () { var driver = createDriver(React.createElement(TextLinkLayout, { underlineStyle: 'never' })); driver.hover(); expect(driver.isUnderline()).toBeFalsy(); }); it('should not be with underline by defualt', function () { var driver = createDriver(React.createElement(TextLinkLayout, null)); expect(driver.isUnderline()).toBeFalsy(); }); it('should have underline on hover', function () { var driver = createDriver(React.createElement(TextLinkLayout, null)); driver.hover(); expect(driver.isUnderline()).toBeTruthy(); }); it('should be with display block by defualt', function () { var driver = createDriver(React.createElement(TextLinkLayout, null)); expect(driver.getDisplay()).toBe('block'); }); it('should be with a custom display', function () { var driver = createDriver(React.createElement(TextLinkLayout, { display: 'inline-block' })); expect(driver.getDisplay()).toBe('inline-block'); }); it('should have a prefixIcon', function () { var driver = createDriver(React.createElement(TextLinkLayout, { prefixIcon: React.createElement('div', null) })); expect(driver.isSuffixIconExists()).toBeFalsy(); expect(driver.isPrefixIconExists()).toBeTruthy(); }); it('should have a suffixIcon', function () { var driver = createDriver(React.createElement(TextLinkLayout, { suffixIcon: React.createElement('div', null) })); expect(driver.isPrefixIconExists()).toBeFalsy(); expect(driver.isSuffixIconExists()).toBeTruthy(); }); }); describe('testkit', function () { it('should exist', function () { expect(isTestkitExists(React.createElement(TextLinkLayout, null), textLinkLayoutTestkitFactory)).toBe(true); }); }); describe('enzyme testkit', function () { it('should exist', function () { expect(isEnzymeTestkitExists(React.createElement(TextLinkLayout, null), enzymeTextLinkLayoutTestkitFactory, mount)).toBe(true); }); });