UNPKG

scratch-gui

Version:

GraphicaL User Interface for creating and running Scratch 3.0 projects

35 lines (30 loc) 1.41 kB
import React from 'react'; import HashParserHOC from '../../../src/lib/hash-parser-hoc.jsx'; import {mount} from 'enzyme'; jest.mock('react-ga'); describe('HashParserHOC', () => { test('when there is a hash, it passes the hash as projectId', () => { const Component = ({projectId}) => <div>{projectId}</div>; const WrappedComponent = HashParserHOC(Component); window.location.hash = '#winning'; const mounted = mount(<WrappedComponent />); expect(mounted.state().projectId).toEqual('winning'); }); test('when there is no hash, it passes 0 as the projectId', () => { const Component = ({projectId}) => <div>{projectId}</div>; const WrappedComponent = HashParserHOC(Component); window.location.hash = ''; const mounted = mount(<WrappedComponent />); expect(mounted.state().projectId).toEqual(0); }); test('when hash change happens, the projectId state is changed', () => { const Component = ({projectId}) => <div>{projectId}</div>; const WrappedComponent = HashParserHOC(Component); window.location.hash = ''; const mounted = mount(<WrappedComponent />); expect(mounted.state().projectId).toEqual(0); window.location.hash = '#winning'; mounted.instance().handleHashChange(); expect(mounted.state().projectId).toEqual('winning'); }); });