import React from 'react'; import { shallow } from 'enzyme'; import createScrollToTop from '../../src/common/ScrollToTop'; describe('<ScrollToTop />', () => { let wrapper; const window = { scrollTo: jest.fn(), }; beforeEach(() => { const ScrollToTop = createScrollToTop(window); wrapper = shallow(<ScrollToTop locaction={{ href: 'foo' }}>Foobar</ScrollToTop>); }); afterEach(() => { wrapper.unmount(); window.scrollTo.mockReset(); }); it('just renders children', () => expect(wrapper.text()).toEqual('Foobar')); it('scrolls to top when location changes', () => { wrapper.instance().componentDidUpdate({ location: { href: 'bar' } }); expect(window.scrollTo).toHaveBeenCalledTimes(1); }); });