UNPKG

@kiwicom/smart-faq

Version:

54 lines (47 loc) 1.47 kB
// @flow import * as React from 'react'; import { mount } from 'enzyme'; import PageVariantContext from '../../context/PageVariant'; import { SidebarVersion, FullPageVersion } from '../PageVariant'; const FakeComponent = () => <div>Hello World!</div>; const PrepareComponentForTest = Component => { const PreparedComponent = ({ variant }) => ( <PageVariantContext.Provider value={{ variant }}> <Component> <FakeComponent /> </Component> </PageVariantContext.Provider> ); return PreparedComponent; }; const TestCases = [ { Component: PrepareComponentForTest(SidebarVersion), componentName: 'SidebarVersion', cases: [ { variant: 'sidebar', shouldRender: true }, { variant: 'fullPage', shouldRender: false }, ], }, { Component: PrepareComponentForTest(FullPageVersion), componentName: 'FullPageVersion', cases: [ { variant: 'sidebar', shouldRender: false }, { variant: 'fullPage', shouldRender: true }, ], }, ]; describe('PageVariant', () => { TestCases.forEach(({ Component, componentName, cases }) => { describe(`variant for ${componentName}`, () => { cases.forEach(({ variant, shouldRender }) => { it(`should${shouldRender ? '' : ' not'} render on ${variant}`, () => { expect( mount(<Component variant={variant} />).find(FakeComponent), ).toHaveLength(shouldRender ? 1 : 0); }); }); }); }); });