import * as React from 'react'; import { createDriverFactory } from 'wix-ui-test-utils/driver-factory'; import { circularProgressBarDriverFactory } from './CircularProgressBar.driver'; import { CircularProgressBar, CircularProgressBarProps } from './CircularProgressBar'; import { circularProgressBarTestkitFactory } from '../../testkit'; import { circularProgressBarTestkitFactory as CircularLinearProgressBarTestkitFactory } from '../../testkit/enzyme'; import { runTestkitExistsSuite } from '../../common/testkitTests'; import { Size } from './constants'; describe('CircularProgressBar', () => { const createDriver = createDriverFactory(circularProgressBarDriverFactory); const defaultProps = { value: 40 } describe('on error', () => { const errorProps = { error: true, errorMessage: 'No soup for you', showProgressIndication: true } it('should display tooltip text only on hover', () => { const driver = createDriver(); expect(driver.isTooltipShown()).toBe(false); driver.getTooltip().mouseEnter(); expect(driver.isTooltipShown()).toBe(true); expect(driver.getTooltip().getContentElement().innerHTML).toContain(errorProps.errorMessage); }); it('should display error icon', () => { const driver = createDriver(); expect(driver.isErrorIconShown()).toBe(true); }); }); describe('on completion', () => { const successProps: CircularProgressBarProps = { value: 100, showProgressIndication: true, } it('should display success icon', () => { const driver = createDriver(); expect(driver.isSuccessIconShown()).toBe(true); }); }); describe('size prop', () => { Object.keys(Size).forEach((size: Size) => { it(`should be ${size}`, () => { const driver = createDriver(); expect(driver.getSize()).toBe(size); }); }); it(`should be default ${Size.medium}`, () => { const driver = createDriver(); expect(driver.getSize()).toBe(Size.medium); }); }); it(`should not throw an error when component isn't rendered`, () => { const driverFactoryWrapper = { createDriver } const isComponentRendered = false; jest.spyOn(driverFactoryWrapper, 'createDriver'); driverFactoryWrapper.createDriver(
{isComponentRendered && }
); expect(driverFactoryWrapper.createDriver).not.toThrow(); }); runTestkitExistsSuite({ Element: , testkitFactory: circularProgressBarTestkitFactory, enzymeTestkitFactory: CircularLinearProgressBarTestkitFactory }); });