UNPKG

wix-style-react

Version:
151 lines (137 loc) 4.12 kB
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); }); }); });