import * as React from 'react'; import expect from 'expect'; import { render } from '@testing-library/react'; import { ListContext } from './ListContext'; import { useListContext } from './useListContext'; describe('useListContext', () => { const NaiveList = () => { const { isPending, error, data } = useListContext(); if (isPending || error) { return null; } return ( ); }; it('should return the listController props form the ListContext', () => { const { getByText } = render( ); expect(getByText('hello')).not.toBeNull(); }); it('should throw when called outside of a ListContextProvider', () => { jest.spyOn(console, 'error').mockImplementation(() => {}); expect(() => render()).toThrow( 'useListContext must be used inside a ListContextProvider' ); }); });