1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var tslib_1 = require("tslib");
|
4 | var http_1 = require("../../commons/utils/http");
|
5 | var event_1 = require("../../event/core/event");
|
6 | var hipervarejo_runner_1 = require("./hipervarejo-runner");
|
7 | var hiperRunner = new hipervarejo_runner_1.HipervarejoRunner();
|
8 | beforeEach(function () {
|
9 | var post = jest.fn().mockReturnValue({ status: 204 });
|
10 | post.mockClear();
|
11 | http_1.Http.post = post;
|
12 | });
|
13 | test("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 |
|
32 | return [4 , new Promise(function (resolve) { return setTimeout(resolve, 1000); })];
|
33 | case 1:
|
34 |
|
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 ];
|
47 | }
|
48 | });
|
49 | }); });
|
50 |
|
\ | No newline at end of file |