UNPKG

2.26 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var tslib_1 = require("tslib");
4var http_1 = require("../../commons/utils/http");
5var event_1 = require("../../event/core/event");
6var hipervarejo_runner_1 = require("./hipervarejo-runner");
7var hiperRunner = new hipervarejo_runner_1.HipervarejoRunner();
8beforeEach(function () {
9 var post = jest.fn().mockReturnValue({ status: 204 });
10 post.mockClear();
11 http_1.Http.post = post;
12});
13test("running the hipervarejo runner when price is over 999 shoudld result in number price", function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
14 return tslib_1.__generator(this, function (_a) {
15 switch (_a.label) {
16 case 0:
17 window.dataLayer = [
18 {
19 pageType: "PURCHASE",
20 transactionID: "orderId",
21 transactionProducts: [
22 {
23 id: "productId",
24 quantity: 1,
25 price: "2,999.99",
26 },
27 ],
28 },
29 ];
30 hiperRunner.start();
31 // Wait for all events to be processed.
32 return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 1000); })];
33 case 1:
34 // Wait for all events to be processed.
35 _a.sent();
36 expect(http_1.Http.post).toHaveBeenCalledTimes(2);
37 expect(http_1.Http.post).toHaveBeenNthCalledWith(1, expect.any(String), expect.objectContaining({ type: event_1.EventType.SessionPing }));
38 expect(http_1.Http.post).toHaveBeenNthCalledWith(2, expect.any(String), expect.objectContaining({
39 type: event_1.EventType.PageConfirmation,
40 products: expect.arrayContaining([
41 expect.objectContaining({
42 price: 2999.99,
43 }),
44 ]),
45 }));
46 return [2 /*return*/];
47 }
48 });
49}); });
50//# sourceMappingURL=hipervarejo-runner.test.js.map
\No newline at end of file