import * as React from 'react'; import { createDriverFactory } from 'wix-ui-test-utils/driver-factory'; import { linearProgressBarDriverFactory } from './LinearProgressBar.driver'; import { LinearProgressBar, LinearProgressBarProps } from './LinearProgressBar'; import { linearProgressBarTestkitFactory } from '../../testkit'; import { linearProgressBarTestkitFactory as enzymeLinearProgressBarTestkitFactory } from '../../testkit/enzyme'; import { runTestkitExistsSuite } from '../../common/testkitTests'; describe('LinearProgressBar', () => { const createDriver = createDriverFactory(linearProgressBarDriverFactory); 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: LinearProgressBarProps = { value: 100, showProgressIndication: true, } it('should display success icon', () => { const driver = createDriver(); expect(driver.isSuccessIconShown()).toBe(true); }); }); 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: linearProgressBarTestkitFactory, enzymeTestkitFactory: enzymeLinearProgressBarTestkitFactory }); });