import { renderHook } from '@testing-library/react'; import { FC, PropsWithChildren } from 'react'; import { MFEMetadataContext, useMFEMetadataContext } from '../mfe-metadata-context'; describe(`[web-components] ${useMFEMetadataContext.name}`, () => { const subject = (wrapper?: FC) => renderHook(() => useMFEMetadataContext(), { wrapper }); describe('when the MFEMetadataContext is provided by a parent', () => { const shadowRoot = document.createElement('div').attachShadow({ mode: 'open' }); const portalShadowRoot = document.createElement('span').attachShadow({ mode: 'open' }); const metadata = { shadowRoot, portalShadowRoot }; const Wrapper: FC = ({ children }) => { return ( {children} ); }; test('returns the context', () => { expect(subject(Wrapper).result.current).toEqual(metadata); }); }); describe('when the MFEMetadataContext is not provided by a parent', () => { const Wrapper: FC = ({ children }) => { return
{children}
; }; test('returns an empty object', () => { expect(subject(Wrapper).result.current).toEqual({}); }); }); });