/** * Header component */ import React from 'react'; import { shallow } from 'enzyme'; import Header from '../../../../src/webui/components/Header'; console.error = jest.fn(); describe('<Header /> component shallow', () => { it('should give error for required props', () => { shallow(<Header />); expect(console.error).toHaveBeenCalled(); }); it('should load header component in login state', () => { const props = { username: 'verdaccio', logo: 'logo.png', scope: 'scope:', handleLogout: jest.fn(), toggleLoginModal: () => {} } const wrapper = shallow(<Header {...props} />); wrapper.find('.header-button-logout').simulate('click'); expect(props.handleLogout).toHaveBeenCalled(); expect(wrapper.html()).toMatchSnapshot(); }); it('should load header component in logout state', () => { const props = { username: undefined, logo: 'logo.png', scope: 'scope:', handleLogout: () => {}, toggleLoginModal: jest.fn() } const wrapper = shallow(<Header {...props} />); wrapper.find('.header-button-login').simulate('click'); expect(props.toggleLoginModal).toHaveBeenCalled(); expect(wrapper.html()).toMatchSnapshot(); }); })