UNPKG

@kiwicom/smart-faq

Version:

96 lines (86 loc) 2.22 kB
// @flow import React from 'react'; import { render } from 'enzyme'; import { MemoryRouter } from 'react-router-dom'; import { ThemeProvider } from 'styled-components'; import { UserContext } from '../../../context/User'; import { RawContentHeader } from '../Header'; describe('ContentHeader', () => { const props = { renderOnlyLoggedOut: false, onLogin: jest.fn(), location: { pathname: '/content', search: '', hash: '', }, match: { params: { categoryId: '21', }, isExact: true, path: '', url: '', }, }; const theme = { orbit: { colorIconPrimary: '#46515e', }, }; const user = { brand: 'kiwicom', user: { id: '1', email: 'joe.doe@example.com', firstname: 'Joe', lastname: 'Doe', }, loginToken: 'AAAABBBBCCCC', simpleToken: null, kwAuthToken: null, onLogin: jest.fn(), onLogout: jest.fn(), }; it('should render loggedIn user header', () => { const wrapper = render( <UserContext.Provider value={user}> <MemoryRouter> <RawContentHeader {...props} /> </MemoryRouter> </UserContext.Provider>, ); expect(wrapper.find('.loggedIn')).toHaveLength(1); expect(wrapper).toMatchSnapshot(); }); it('should render loggedOut user header', () => { const wrapper = render( <MemoryRouter> <ThemeProvider theme={theme}> <RawContentHeader {...props} /> </ThemeProvider> </MemoryRouter>, ); expect(wrapper.find('.backButton').text()).toEqual( 'smartfaq.back_button.back', ); expect(wrapper.find('.loggedOut')).toHaveLength(1); expect(wrapper).toMatchSnapshot(); }); it('should render without SignIn on Home page without booking', () => { const match = { params: {}, isExact: true, path: '', url: '', }; const wrapper = render( <MemoryRouter> <ThemeProvider theme={theme}> <RawContentHeader {...props} renderOnlyLoggedOut match={match} /> </ThemeProvider> </MemoryRouter>, ); expect(wrapper.find('.signInOrBack').children()).toHaveLength(0); }); });