wix-style-react
Version:
63 lines (51 loc) • 1.76 kB
JavaScript
import React from 'react';
import {
createRendererWithDriver,
createRendererWithUniDriver,
cleanup,
} from '../../../test/utils/react';
import InfoIcon from '../InfoIcon';
import { infoIconDriverFactory } from '../InfoIcon.uni.driver';
import InfoIconDriverFactory from '../InfoIcon.driver';
const defaultContent = 'Lorem ipsum? Dolor sit!';
const createInfoIcon = ({ content = defaultContent, ...rest } = {}) => (
<InfoIcon content={content} {...rest} />
);
afterEach(() => {
cleanup();
});
describe('InfoIcon', () => {
describe('[sync]', () => {
runTests(createRendererWithDriver(InfoIconDriverFactory));
});
describe('[async]', () => {
runTests(createRendererWithUniDriver(infoIconDriverFactory));
});
function runTests(render) {
afterEach(cleanup);
it('should render', async () => {
const { driver } = render(createInfoIcon());
expect(await driver.exists()).toBe(true);
});
describe('content prop', () => {
it('should set value', async () => {
const { driver } = render(createInfoIcon());
expect(await driver.getContent()).toBe(defaultContent);
});
});
describe('size prop', () => {
it('should have default value "medium"', async () => {
const { driver } = render(createInfoIcon());
expect(await driver.getSize()).toBe('medium');
});
it('should set value to "medium"', async () => {
const { driver } = render(createInfoIcon({ size: 'medium' }));
expect(await driver.getSize()).toBe('medium');
});
it('should set value to "small"', async () => {
const { driver } = render(createInfoIcon({ size: 'small' }));
expect(await driver.getSize()).toBe('small');
});
});
}
});