EVOLUTION-MANAGER
Edit File: SideMenu.test.tsx
import React from 'react'; import { shallow } from 'enzyme'; import { SideMenu } from './SideMenu'; import appEvents from '../../app_events'; import { CoreEvents } from 'app/types'; jest.mock('../../app_events', () => ({ emit: jest.fn(), })); jest.mock('app/store/store', () => ({ store: { getState: jest.fn().mockReturnValue({ location: { lastUpdated: 0, }, }), }, })); jest.mock('app/core/services/context_srv', () => ({ contextSrv: { sidemenu: true, user: {}, isSignedIn: false, isGrafanaAdmin: false, isEditor: false, hasEditPermissionFolders: false, }, })); const setup = (propOverrides?: object) => { const props = Object.assign( { loginUrl: '', user: {}, mainLinks: [], bottomeLinks: [], isSignedIn: false, }, propOverrides ); return shallow(<SideMenu {...props} />); }; describe('Render', () => { it('should render component', () => { const wrapper = setup(); expect(wrapper).toMatchSnapshot(); }); }); describe('Functions', () => { describe('toggle side menu on mobile', () => { const wrapper = setup(); const instance = wrapper.instance() as SideMenu; instance.toggleSideMenuSmallBreakpoint(); it('should emit toggle sidemenu event', () => { expect(appEvents.emit).toHaveBeenCalledWith(CoreEvents.toggleSidemenuMobile); }); }); });