import * as React from 'react';
import {textDriverFactory, TextDriver} from './Text.driver';
import {Text} from './';
import {Size, Skin} 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 {mount} from 'enzyme';
import {textTestkitFactory} from '../../testkit';
import {textTestkitFactory as enzymeTextTestkitFactory} from '../../testkit/enzyme';
import { runTestkitExistsSuite } from '../../common/testkitTests';
import { enumValues } from '../../utils';
describe('Text', () => {
const createDriver = createDriverFactory(textDriverFactory);
describe('size prop', () => {
it('should be medium by default', () => {
const wrapper = createDriver(Hello);
expect(wrapper.getSize()).toBe('medium');
});
enumValues(Size).forEach((size: Size) => {
it(`should be ${size}`, () => {
const wrapper = createDriver(Hello);
expect(wrapper.getSize()).toBe(size);
});
});
});
describe('secondary prop', () => {
it('should be false by default', () => {
const wrapper = createDriver(Hello);
expect(wrapper.isSecondary()).toBe(false);
});
it(`should be true`, () => {
const wrapper = createDriver(Hello);
expect(wrapper.isSecondary()).toBe(true);
});
});
describe('skin prop', () => {
it('should be standard by default', () => {
const wrapper = createDriver(Hello);
expect(wrapper.getSkin()).toBe('standard');
});
enumValues(Skin).forEach((skin: Skin) => {
it(`should be ${skin}`, () => {
const wrapper = createDriver(Hello);
expect(wrapper.getSkin()).toBe(skin);
});
});
});
describe('light prop', () => {
it('should be dark by default', () => {
const wrapper = createDriver(Hello);
expect(wrapper.isLight()).toBe(false);
});
it('should be light', () => {
const wrapper = createDriver(Hello);
expect(wrapper.isLight()).toBe(true);
});
[Skin.success, Skin.error, Skin.premium].forEach(skin => {
it(`should be dark when skin is ${skin}`, () => {
const wrapper = createDriver(Hello);
expect(wrapper.isLight()).toBe(false);
});
});
});
describe('bold prop', () => {
it('should not be bold by default', () => {
const wrapper = createDriver(Hello);
expect(wrapper.isBold()).toBe(false);
});
it('should be bold', () => {
const wrapper = createDriver(Hello);
expect(wrapper.isBold()).toBe(true);
});
});
runTestkitExistsSuite({Element:,testkitFactory:textTestkitFactory,enzymeTestkitFactory:enzymeTextTestkitFactory});
});