import { shallow } from 'enzyme'; import { AppContext } from '@edx/frontend-platform/react'; import CollapseMenuBody from './CollapseMenuBody'; jest.mock('@edx/frontend-platform', () => ({ getConfig: jest.fn(() => ({ ORDER_HISTORY_URL: 'http://account-profile-url.test', CAREER_LINK_URL: 'http://account-profile-url.test', })), })); jest.mock('@edx/frontend-platform/react', () => ({ AppContext: { authenticatedUser: { username: 'username', }, }, })); jest.mock('hooks', () => ({ reduxHooks: { useEnterpriseDashboardData: () => ({ url: 'url', dashboard: false, }), usePlatformSettingsData: () => ({ courseSearchUrl: '/courseSearchUrl', }), }, })); jest.mock('../hooks', () => ({ findCoursesNavDropdownClicked: (url) => jest.fn().mockName(`findCoursesNavDropdownClicked("${url}")`), })); describe('CollapseMenuBody', () => { test('render', () => { const wrapper = shallow(); expect(wrapper).toMatchSnapshot(); }); test('render empty if not open', () => { const wrapper = shallow(); expect(wrapper).toMatchSnapshot(); expect(wrapper.isEmptyRender()).toBe(true); }); test('render unauthenticated', () => { const { authenticatedUser } = AppContext; AppContext.authenticatedUser = null; const wrapper = shallow(); expect(wrapper).toMatchSnapshot(); AppContext.authenticatedUser = authenticatedUser; }); });