wix-style-react
Version:
wix-style-react
112 lines (90 loc) • 4.25 kB
JavaScript
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);
});
});