wix-style-react
Version:
wix-style-react
151 lines (137 loc) • 4.12 kB
JavaScript
import React from 'react';
import textDriverFactory from './Text.driver';
import Text from '.';
import { SIZES, SKINS, WEIGHTS } from './constants';
import { createDriverFactory } from 'wix-ui-test-utils/driver-factory';
import { isEnzymeTestkitExists } from 'wix-ui-test-utils/enzyme';
import { isTestkitExists } from 'wix-ui-test-utils/vanilla';
import { textTestkitFactory } from '../../testkit';
import { textTestkitFactory as enzymeTextTestkitFactory } from '../../testkit/enzyme';
import { mount } from 'enzyme';
describe('Text', function () {
var createDriver = createDriverFactory(textDriverFactory);
describe('size prop', function () {
it('should be ' + SIZES.medium + ' by default', function () {
var wrapper = createDriver(React.createElement(
Text,
null,
'Hello'
));
expect(wrapper.getSize()).toBe(SIZES.medium);
});
Object.keys(SIZES).forEach(function (size) {
it('should be ' + size, function () {
var wrapper = createDriver(React.createElement(
Text,
{ size: size },
'Hello'
));
expect(wrapper.getSize()).toBe(size);
});
});
});
describe('weight prop', function () {
it('should be ' + WEIGHTS.thin + ' by default', function () {
var wrapper = createDriver(React.createElement(
Text,
null,
'Hello'
));
expect(wrapper.getWeight()).toBe(WEIGHTS.thin);
});
Object.keys(WEIGHTS).forEach(function (weight) {
it('should be ' + weight, function () {
var wrapper = createDriver(React.createElement(
Text,
{ weight: weight },
'Hello'
));
expect(wrapper.getWeight()).toBe(weight);
});
});
});
describe('secondary prop', function () {
it('should be false by default', function () {
var wrapper = createDriver(React.createElement(
Text,
null,
'Hello'
));
expect(wrapper.isSecondary()).toBe(false);
});
it('should be true', function () {
var wrapper = createDriver(React.createElement(
Text,
{ secondary: true },
'Hello'
));
expect(wrapper.isSecondary()).toBe(true);
});
});
describe('skin prop', function () {
it('should be ' + SKINS.standard + ' by default', function () {
var wrapper = createDriver(React.createElement(
Text,
null,
'Hello'
));
expect(wrapper.getSkin()).toBe(SKINS.standard);
});
Object.keys(SKINS).forEach(function (skin) {
it('should be ' + skin, function () {
var wrapper = createDriver(React.createElement(
Text,
{ skin: skin },
'Hello'
));
expect(wrapper.getSkin()).toBe(skin);
});
});
});
describe('light prop', function () {
it('should be dark by default', function () {
var wrapper = createDriver(React.createElement(
Text,
null,
'Hello'
));
expect(wrapper.isLight()).toBe(false);
});
it('should be light', function () {
var wrapper = createDriver(React.createElement(
Text,
{ light: true },
'Hello'
));
expect(wrapper.isLight()).toBe(true);
});
[SKINS.error, SKINS.success, SKINS.premium].forEach(function (skin) {
it('should be dark when skin is ' + skin, function () {
var wrapper = createDriver(React.createElement(
Text,
{ skin: skin, light: true },
'Hello'
));
expect(wrapper.isLight()).toBe(false);
});
});
});
describe('testkit', function () {
it('should exist', function () {
expect(isTestkitExists(React.createElement(
Text,
null,
'Hello World'
), textTestkitFactory)).toBe(true);
});
});
describe('enzyme testkit', function () {
it('should exist', function () {
expect(isEnzymeTestkitExists(React.createElement(
Text,
null,
'Hello World'
), enzymeTextTestkitFactory, mount)).toBe(true);
});
});
});