@kiwicom/smart-faq
Version:
90 lines (79 loc) • 2.98 kB
JavaScript
require("core-js/modules/es.array.find");
require("core-js/modules/es.object.assign");
var _react = _interopRequireDefault(require("react"));
var _enzyme = require("enzyme");
var _reactRouterDom = require("react-router-dom");
var _styledComponents = require("styled-components");
var _User = require("../../../context/User");
var _Header = require("../Header");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
describe('ContentHeader', function () {
var props = {
renderOnlyLoggedOut: false,
onLogin: jest.fn(),
location: {
pathname: '/content',
search: '',
hash: ''
},
match: {
params: {
categoryId: '21'
},
isExact: true,
path: '',
url: ''
}
};
var theme = {
orbit: {
colorIconPrimary: '#46515e'
}
};
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(_styledComponents.ThemeProvider, {
theme: theme
}, _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 match = {
params: {},
isExact: true,
path: '',
url: ''
};
var wrapper = (0, _enzyme.render)(_react.default.createElement(_reactRouterDom.MemoryRouter, null, _react.default.createElement(_styledComponents.ThemeProvider, {
theme: theme
}, _react.default.createElement(_Header.RawContentHeader, _extends({}, props, {
renderOnlyLoggedOut: true,
match: match
})))));
expect(wrapper.find('.signInOrBack').children()).toHaveLength(0);
});
});
;