@kiwicom/smart-faq
Version:
Smart FAQ
67 lines (59 loc) • 2.2 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _enzyme = require("enzyme");
var _reactRouterDom = require("react-router-dom");
var _User = require("../../../context/User");
var _Header = require("../Header");
// @flow
describe('ContentHeader', function () {
var props = {
renderOnlyLoggedOut: false,
onLogin: jest.fn(),
location: {
pathname: '/content'
},
match: {
params: {
categoryId: '21'
}
}
};
var 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', function () {
var wrapper = (0, _enzyme.render)(_react.default.createElement(_User.UserContext.Provider, {
value: user
}, _react.default.createElement(_reactRouterDom.MemoryRouter, null, _react.default.createElement(_Header.RawContentHeader, props))));
expect(wrapper.find('.loggedIn')).toHaveLength(1);
expect(wrapper).toMatchSnapshot();
});
it('should render loggedOut user header', function () {
var wrapper = (0, _enzyme.render)(_react.default.createElement(_reactRouterDom.MemoryRouter, null, _react.default.createElement(_Header.RawContentHeader, props)));
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', function () {
var wrapper = (0, _enzyme.render)(_react.default.createElement(_reactRouterDom.MemoryRouter, null, _react.default.createElement(_Header.RawContentHeader, (0, _extends2.default)({}, props, {
renderOnlyLoggedOut: true,
match: {
params: {}
}
}))));
expect(wrapper.find('.signInOrBack').children()).toHaveLength(0);
});
});
;