@kiwicom/smart-faq
Version:
71 lines (62 loc) • 2.23 kB
JavaScript
require("core-js/modules/es.object.get-own-property-descriptor");
var React = _interopRequireWildcard(require("react"));
var _enzyme = require("enzyme");
var _mockdate = _interopRequireDefault(require("mockdate"));
var _context = _interopRequireDefault(require("@kiwicom/nitro/lib/services/log/context"));
var _BookingAnalyticsTracker = require("../BookingAnalyticsTracker");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
// @flow
describe('BookingAnalyticsTracker', function () {
beforeEach(function () {
return _mockdate.default.set('2018-01-01T00:00:00.000Z', {
zone: 'utc'
});
});
afterEach(function () {
return _mockdate.default.reset();
});
it('should send remaining time to departure to analytics', function () {
var log = jest.fn();
var mockRefType
/*: any*/
= null;
var booking = {
$refType: mockRefType,
id: 'abc123==',
type: 'BookingOneWay',
upcomingDeparture: {
departure: {
time: '2018-01-01T04:00:00.000Z'
}
},
trip: {
departure: {
time: '2018-01-01T02:00:00.000Z'
}
}
};
(0, _enzyme.mount)(React.createElement(_context.default.Provider, {
value: {
log: log
}
}, React.createElement(_BookingAnalyticsTracker.RawBookingAnalyticsTracker, {
booking: booking
})));
expect(log).toHaveBeenCalledWith({
category: 'SmartFAQ',
subCategory: 'BookingOverview',
action: 'bookingLoaded',
destinations: {
bigQuery: true,
exponea: true,
ga: false,
logmole: false
}
}, {
timeToSegment: 4,
timeToDeparture: 2
});
});
});
;