{
  "stats": {
    "suites": 9,
    "tests": 38,
    "passes": 38,
    "pending": 0,
    "failures": 0,
    "start": "2026-04-10T05:34:30.789Z",
    "end": "2026-04-10T05:34:31.715Z",
    "duration": 926,
    "testsRegistered": 38,
    "passPercent": 100,
    "pendingPercent": 0,
    "other": 0,
    "hasOther": false,
    "skipped": 0,
    "hasSkipped": false
  },
  "results": [
    {
      "uuid": "9f88add9-116c-4d94-bae1-a648cb3ac8dd",
      "title": "",
      "fullFile": "",
      "file": "",
      "beforeHooks": [],
      "afterHooks": [],
      "tests": [],
      "suites": [
        {
          "uuid": "d6546ade-a94a-4ea3-9a55-85a5c42a25d9",
          "title": "Loading script",
          "fullFile": "/var/lib/jenkins/workspace/priceza-web/test-js/test/test-tracker.js",
          "file": "/test/test-tracker.js",
          "beforeHooks": [],
          "afterHooks": [],
          "tests": [
            {
              "title": "correctly register function [saveClick]",
              "fullTitle": "Loading script correctly register function [saveClick]",
              "timedOut": false,
              "duration": 1,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "assert.ok(!!window.PZ3[fn] && typeof(window.PZ3[fn]) === 'function', `function [${fn}] not registered`);",
              "err": {},
              "uuid": "cec50c1b-60fa-44ac-a51e-bec244fb1797",
              "parentUUID": "d6546ade-a94a-4ea3-9a55-85a5c42a25d9",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "correctly register function [loadClick]",
              "fullTitle": "Loading script correctly register function [loadClick]",
              "timedOut": false,
              "duration": 0,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "assert.ok(!!window.PZ3[fn] && typeof(window.PZ3[fn]) === 'function', `function [${fn}] not registered`);",
              "err": {},
              "uuid": "d95791da-2681-46c6-a72e-1308bd2a0efa",
              "parentUUID": "d6546ade-a94a-4ea3-9a55-85a5c42a25d9",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "correctly register function [process]",
              "fullTitle": "Loading script correctly register function [process]",
              "timedOut": false,
              "duration": 0,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "assert.ok(!!window.PZ3[fn] && typeof(window.PZ3[fn]) === 'function', `function [${fn}] not registered`);",
              "err": {},
              "uuid": "a2009134-8811-4639-9a3c-4970b015a1e9",
              "parentUUID": "d6546ade-a94a-4ea3-9a55-85a5c42a25d9",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "correctly register function [sendConv]",
              "fullTitle": "Loading script correctly register function [sendConv]",
              "timedOut": false,
              "duration": 0,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "assert.ok(!!window.PZ3[fn] && typeof(window.PZ3[fn]) === 'function', `function [${fn}] not registered`);",
              "err": {},
              "uuid": "3499e9e7-c5fd-48ae-9cf2-c0f331ca978e",
              "parentUUID": "d6546ade-a94a-4ea3-9a55-85a5c42a25d9",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "correctly register function [createScript]",
              "fullTitle": "Loading script correctly register function [createScript]",
              "timedOut": false,
              "duration": 0,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "assert.ok(!!window.PZ3[fn] && typeof(window.PZ3[fn]) === 'function', `function [${fn}] not registered`);",
              "err": {},
              "uuid": "550b8f1a-ec8c-40d6-a854-99aa3df5c39c",
              "parentUUID": "d6546ade-a94a-4ea3-9a55-85a5c42a25d9",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "correctly register function [createFrame]",
              "fullTitle": "Loading script correctly register function [createFrame]",
              "timedOut": false,
              "duration": 0,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "assert.ok(!!window.PZ3[fn] && typeof(window.PZ3[fn]) === 'function', `function [${fn}] not registered`);",
              "err": {},
              "uuid": "81991ffe-2b52-4750-900e-c9fa1361c8e8",
              "parentUUID": "d6546ade-a94a-4ea3-9a55-85a5c42a25d9",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "cec50c1b-60fa-44ac-a51e-bec244fb1797",
            "d95791da-2681-46c6-a72e-1308bd2a0efa",
            "a2009134-8811-4639-9a3c-4970b015a1e9",
            "3499e9e7-c5fd-48ae-9cf2-c0f331ca978e",
            "550b8f1a-ec8c-40d6-a854-99aa3df5c39c",
            "81991ffe-2b52-4750-900e-c9fa1361c8e8"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 1,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        },
        {
          "uuid": "d20214bd-cae8-4904-97fc-8c84972b10c9",
          "title": "Sending conversion : core",
          "fullFile": "/var/lib/jenkins/workspace/priceza-web/test-js/test/test-tracker.js",
          "file": "/test/test-tracker.js",
          "beforeHooks": [],
          "afterHooks": [],
          "tests": [
            {
              "title": "create frame with proper arguments",
              "fullTitle": "Sending conversion : core create frame with proper arguments",
              "timedOut": false,
              "duration": 122,
              "state": "passed",
              "speed": "slow",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "const window = loadDOM('http://localhost?pzclickid=u-th--300214--uuid--uid');\n\nwindow.PZ3.sendConv({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 300214,\n\t\"orderId\": \"666\",\n\t\"filter\": \"creditcard\",\n\t\"items\": [\n\t\t{ \"productId\": \"sku-1\", \"quantity\": 1, \"unitPrice\": 50 }\n\t]\n});\n\nconst queryParams = extractConversionFrame(window);\nassert.equal(queryParams.get('t'), 'purchase');\nassert.equal(queryParams.get('m'), '300214');\nassert.equal(queryParams.get('d'), '666');\nassert.equal(queryParams.get('f'), 'creditcard');\nassert.equal(queryParams.get('p'), 'sku-1');\nassert.equal(queryParams.get('v'), '50');\nassert.equal(queryParams.get('qty'), '1');\nassert.equal(queryParams.get('clickid'), 'u-th--300214--uuid--uid');",
              "err": {},
              "uuid": "79a49419-e084-4901-80a4-f564cf03f7d5",
              "parentUUID": "d20214bd-cae8-4904-97fc-8c84972b10c9",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can send conversion with no pzclickid",
              "fullTitle": "Sending conversion : core can send conversion with no pzclickid",
              "timedOut": false,
              "duration": 35,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "const window = loadDOM('http://localhost');\n\nconst pzClickId = window.PZ3.loadClick('pz-clickid');\nassert.strictEqual(pzClickId, null);\n\nwindow.PZ3.sendConv({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 300214,\n\t\"orderId\": \"no-pzclickid\",\n\t\"filter\": \"creditcard\"\n});\n\nconst queryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('d'), 'no-pzclickid');\nassert.strictEqual(queryParams.has('clickid'), false);",
              "err": {},
              "uuid": "5472785a-2027-4156-ab6a-85189bd41602",
              "parentUUID": "d20214bd-cae8-4904-97fc-8c84972b10c9",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "79a49419-e084-4901-80a4-f564cf03f7d5",
            "5472785a-2027-4156-ab6a-85189bd41602"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 157,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        },
        {
          "uuid": "a4529b71-14d6-4776-bc8b-3d44509156d5",
          "title": "Sending conversion : pzConvData",
          "fullFile": "/var/lib/jenkins/workspace/priceza-web/test-js/test/test-tracker.js",
          "file": "/test/test-tracker.js",
          "beforeHooks": [],
          "afterHooks": [],
          "tests": [
            {
              "title": "can predefine conversion payload before loading script",
              "fullTitle": "Sending conversion : pzConvData can predefine conversion payload before loading script",
              "timedOut": false,
              "duration": 34,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "const window = createBaseDOM(\"http://localhost\");\nwindow.pzConvData = window.pzConvData || [];\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 300214,\n\t\"orderId\": \"preload-pzConvData\",\n\t\"filter\": \"creditcard\"\n});\n\nloadTrackingJS(window);\n\nconst queryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('d'), 'preload-pzConvData');",
              "err": {},
              "uuid": "95e97931-bd37-47ea-81da-e57cc1fe66f9",
              "parentUUID": "a4529b71-14d6-4776-bc8b-3d44509156d5",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can push conversion payload after script is loaded",
              "fullTitle": "Sending conversion : pzConvData can push conversion payload after script is loaded",
              "timedOut": false,
              "duration": 27,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "const window = loadDOM('http://localhost');\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 300214,\n\t\"orderId\": \"manual-trigger-pzConvData\",\n\t\"filter\": \"creditcard\",\n\t\"items\": []\n});\n\nconst queryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('d'), 'manual-trigger-pzConvData');",
              "err": {},
              "uuid": "60bb8c29-1b47-4ec6-9a56-c0ebecb3227d",
              "parentUUID": "a4529b71-14d6-4776-bc8b-3d44509156d5",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can push conversion payload after script is loaded, even if variable is predefined",
              "fullTitle": "Sending conversion : pzConvData can push conversion payload after script is loaded, even if variable is predefined",
              "timedOut": false,
              "duration": 39,
              "state": "passed",
              "speed": "medium",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "const window = createBaseDOM(\"http://localhost\");\nwindow.pzConvData = window.pzConvData || [];\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 300214,\n\t\"orderId\": \"preload-pzConvData\",\n\t\"filter\": \"creditcard\",\n\t\"items\": []\n});\n\nloadTrackingJS(window);\n\nlet queryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('d'), 'preload-pzConvData');\n\n// push additional data\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 300214,\n\t\"orderId\": \"manual-trigger-pzConvData\",\n\t\"filter\": \"creditcard\",\n\t\"items\": []\n});\n\nqueryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('d'), 'manual-trigger-pzConvData');",
              "err": {},
              "uuid": "2dcaed5f-3273-4db6-87af-7719f3bc0c58",
              "parentUUID": "a4529b71-14d6-4776-bc8b-3d44509156d5",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "95e97931-bd37-47ea-81da-e57cc1fe66f9",
            "60bb8c29-1b47-4ec6-9a56-c0ebecb3227d",
            "2dcaed5f-3273-4db6-87af-7719f3bc0c58"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 100,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        },
        {
          "uuid": "4d37440d-d98f-4734-ba15-78746cddd68b",
          "title": "Transforming conversion payload",
          "fullFile": "/var/lib/jenkins/workspace/priceza-web/test-js/test/test-tracker.js",
          "file": "/test/test-tracker.js",
          "beforeHooks": [],
          "afterHooks": [],
          "tests": [
            {
              "title": "support v1 payload",
              "fullTitle": "Transforming conversion payload support v1 payload",
              "timedOut": false,
              "duration": 26,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "const window = loadDOM('http://localhost');\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 300214,\n\t\"productId\": \"sku-01|sku-02\",\n\t\"value\": '351|412',\n\t\"data\": \"order-v1\",\n\t\"filter\": \"QR\"\n});\n\nconst queryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('t'), 'purchase');\nassert.strictEqual(queryParams.get('m'), '300214');\nassert.strictEqual(queryParams.get('p'), 'sku-01|sku-02');\nassert.strictEqual(queryParams.get('v'), '351|412');\nassert.strictEqual(queryParams.get('d'), 'order-v1');\nassert.strictEqual(queryParams.get('f'), 'QR');",
              "err": {},
              "uuid": "b0258e26-0123-4a94-b44b-04b9136a2a0d",
              "parentUUID": "4d37440d-d98f-4734-ba15-78746cddd68b",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "support v1 payload (bare minimum)",
              "fullTitle": "Transforming conversion payload support v1 payload (bare minimum)",
              "timedOut": false,
              "duration": 43,
              "state": "passed",
              "speed": "medium",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "const window = loadDOM('http://localhost');\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 300214,\n\t\"data\": \"event-name\"\n});\n\nconst queryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('t'), 'purchase');\nassert.strictEqual(queryParams.get('m'), '300214');\nassert.strictEqual(queryParams.get('p'), null);\nassert.strictEqual(queryParams.get('v'), null);\nassert.strictEqual(queryParams.get('d'), 'event-name');\nassert.strictEqual(queryParams.get('f'), null);",
              "err": {},
              "uuid": "f860321f-2a2e-49a2-954c-1d6add2fcf02",
              "parentUUID": "4d37440d-d98f-4734-ba15-78746cddd68b",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "support v2 payload",
              "fullTitle": "Transforming conversion payload support v2 payload",
              "timedOut": false,
              "duration": 91,
              "state": "passed",
              "speed": "slow",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "const window = loadDOM('http://localhost');\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 300214,\n\t\"orderId\": \"order-v2\",\n\t\"filter\": \"creditcard\",\n\t\"orderStatus\": \"completed\",\n\t\"coupon\": \"BLV400\",\n\t\"finalValue\": 380,\n\t\"shipping\": '50',\n\t\"items\": [{\n\t\t\"productId\": \"sku-01\",\n\t\t\"quantity\": 2,\n\t\t\"unitPrice\": 200,\n\t\t\"orderItemId\": \"item-01\",\n\t\t\"category\": \"cat-01\",\n\t\t\"note\": \"note-01\",\n\t\t\"addOn\": \"addon-01\"\n\t}]\n});\n\nconst queryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('t'), 'purchase');\nassert.strictEqual(queryParams.get('m'), '300214');\nassert.strictEqual(queryParams.get('d'), 'order-v2');\nassert.strictEqual(queryParams.get('f'), 'creditcard');\nassert.strictEqual(queryParams.get('os'), 'completed');\nassert.strictEqual(queryParams.get('p'), 'sku-01');\nassert.strictEqual(queryParams.get('v'), '200');\nassert.strictEqual(queryParams.get('qty'), '2');\nassert.strictEqual(queryParams.get('iid'), 'item-01');\nassert.strictEqual(queryParams.get('cat'), 'cat-01');\nassert.strictEqual(queryParams.get('note'), 'note-01');\nassert.strictEqual(queryParams.get('ao'), 'addon-01');\nassert.strictEqual(queryParams.get('cp'), 'BLV400');\nassert.strictEqual(queryParams.get('fv'), '380');\nassert.strictEqual(queryParams.get('sp'), '50');",
              "err": {},
              "uuid": "e9bf4ac4-b0a0-468a-abd6-8da8ee67b4e1",
              "parentUUID": "4d37440d-d98f-4734-ba15-78746cddd68b",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "support v2 payload w/ multiple items",
              "fullTitle": "Transforming conversion payload support v2 payload w/ multiple items",
              "timedOut": false,
              "duration": 25,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "const window = loadDOM('http://localhost');\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 300214,\n\t\"orderId\": \"order-v2\",\n\t\"filter\": \"creditcard\",\n\t\"orderStatus\": \"completed\",\n\t\"items\": [{\n\t\t\"productId\": \"sku-01\",\n\t\t\"quantity\": 2,\n\t\t\"unitPrice\": 200,\n\t\t\"orderItemId\": \"item-01\",\n\t\t\"category\": \"cat-01\",\n\t\t\"note\": \"note-01\",\n\t\t\"addOn\": \"addon-01\"\n\t}, {\n\t\t\"productId\": \"sku-02\",\n\t\t\"quantity\": 4,\n\t\t\"unitPrice\": 120,\n\t\t\"orderItemId\": \"item-02\",\n\t\t\"category\": \"cat-02\",\n\t\t\"note\": \"note-02\",\n\t\t\"addOn\": \"addon-02\"\n\t}, {\n\t\t\"productId\": \"sku-03\",\n\t\t\"quantity\": 3,\n\t\t\"unitPrice\": 80,\n\t\t\"orderItemId\": \"item-03\",\n\t\t\"category\": \"cat-03\",\n\t\t\"note\": \"note-03\",\n\t\t\"addOn\": \"addon-03\"\n\t},{\n\t\t\"quantity\": 5,\n\t\t\"unitPrice\": 10,\n\t\t\"orderItemId\": \"item-04-no-pid-removed\",\n\t\t\"category\": \"cat-04\",\n\t\t\"note\": \"note-04\",\n\t\t\"addOn\": \"addon-04\"\n\t}]\n});\n\nconst queryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('t'), 'purchase');\nassert.strictEqual(queryParams.get('m'), '300214');\nassert.strictEqual(queryParams.get('d'), 'order-v2');\nassert.strictEqual(queryParams.get('f'), 'creditcard');\nassert.strictEqual(queryParams.get('os'), 'completed');\nassert.strictEqual(queryParams.get('p'), 'sku-01|sku-02|sku-03');\nassert.strictEqual(queryParams.get('v'), '200|120|80');\nassert.strictEqual(queryParams.get('qty'), '2|4|3');\nassert.strictEqual(queryParams.get('iid'), 'item-01|item-02|item-03');\nassert.strictEqual(queryParams.get('cat'), 'cat-01|cat-02|cat-03');\nassert.strictEqual(queryParams.get('note'), 'note-01|note-02|note-03');\nassert.strictEqual(queryParams.get('ao'), 'addon-01|addon-02|addon-03');",
              "err": {},
              "uuid": "a3d01fd3-e4a8-4dd8-877c-a7d3ca2814d9",
              "parentUUID": "4d37440d-d98f-4734-ba15-78746cddd68b",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "support v2 payload (bare minimum)",
              "fullTitle": "Transforming conversion payload support v2 payload (bare minimum)",
              "timedOut": false,
              "duration": 23,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "const window = loadDOM('http://localhost');\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 300214,\n\t\"orderId\": \"event-name\"\n});\n\nconst queryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('t'), 'purchase');\nassert.strictEqual(queryParams.get('m'), '300214');\nassert.strictEqual(queryParams.get('d'), 'event-name');\nassert.strictEqual(queryParams.get('f'), null);\nassert.strictEqual(queryParams.get('os'), null);\nassert.strictEqual(queryParams.get('p'), '');\nassert.strictEqual(queryParams.get('v'), '');\nassert.strictEqual(queryParams.get('qty'), '');\nassert.strictEqual(queryParams.get('iid'), '');\nassert.strictEqual(queryParams.get('cat'), '');\nassert.strictEqual(queryParams.get('note'), '');\nassert.strictEqual(queryParams.get('ao'), '');",
              "err": {},
              "uuid": "26ff4920-8518-4268-81b7-a73d0db9bc91",
              "parentUUID": "4d37440d-d98f-4734-ba15-78746cddd68b",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "support v2 payload (bare minimum w/ items)",
              "fullTitle": "Transforming conversion payload support v2 payload (bare minimum w/ items)",
              "timedOut": false,
              "duration": 23,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "const window = loadDOM('http://localhost');\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 300214,\n\t\"orderId\": \"order-v2-bmi\",\n\t\"items\": [{\n\t\t\"productId\": \"sku-a1\",\n\t\t\"unitPrice\": 204\n\t}]\n});\n\nconst queryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('t'), 'purchase');\nassert.strictEqual(queryParams.get('m'), '300214');\nassert.strictEqual(queryParams.get('d'), 'order-v2-bmi');\nassert.strictEqual(queryParams.get('f'), null);\nassert.strictEqual(queryParams.get('os'), null);\nassert.strictEqual(queryParams.get('p'), 'sku-a1');\nassert.strictEqual(queryParams.get('v'), '204');\nassert.strictEqual(queryParams.get('qty'), '1');\nassert.strictEqual(queryParams.get('iid'), '');\nassert.strictEqual(queryParams.get('cat'), '');\nassert.strictEqual(queryParams.get('note'), '');\nassert.strictEqual(queryParams.get('ao'), '');\nassert.strictEqual(queryParams.get('cp'), null);\nassert.strictEqual(queryParams.get('fv'), null);",
              "err": {},
              "uuid": "0f166964-90fe-47d5-aa36-4514c4389648",
              "parentUUID": "4d37440d-d98f-4734-ba15-78746cddd68b",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "support v2 payload (w/ number in some fields) e.g. Officemate",
              "fullTitle": "Transforming conversion payload support v2 payload (w/ number in some fields) e.g. Officemate",
              "timedOut": false,
              "duration": 24,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "const window = loadDOM('http://localhost');\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 300214,\n\t\"orderId\": \"order-v2-num\",\n\t\"coupon\": 3344567,\n\t\"finalValue\": 380,\n\t\"shipping\": 50, \n\t\"items\": [{\n\t\t\"productId\": 110023,\n\t\t\"quantity\": 2,\n\t\t\"unitPrice\": 200,\n\t\t\"orderItemId\": 12345,\n\t\t\"category\": 111002,\n\t\t\"note\": 55566,\n\t\t\"addOn\": 1234\n\t}]\n});\n\nconst queryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('t'), 'purchase');\nassert.strictEqual(queryParams.get('m'), '300214');\nassert.strictEqual(queryParams.get('d'), 'order-v2-num');\nassert.strictEqual(queryParams.get('f'), null);\nassert.strictEqual(queryParams.get('os'), null);\nassert.strictEqual(queryParams.get('p'), '110023');\nassert.strictEqual(queryParams.get('v'), '200');\nassert.strictEqual(queryParams.get('qty'), '2');\nassert.strictEqual(queryParams.get('iid'), '12345');\nassert.strictEqual(queryParams.get('cat'), '111002');\nassert.strictEqual(queryParams.get('note'), '55566');\nassert.strictEqual(queryParams.get('ao'), '1234');\nassert.strictEqual(queryParams.get('cp'), '3344567');\nassert.strictEqual(queryParams.get('fv'), '380');\nassert.strictEqual(queryParams.get('sp'), '50');",
              "err": {},
              "uuid": "db9b9b4e-0503-4301-9ef6-3a4744c3a13e",
              "parentUUID": "4d37440d-d98f-4734-ba15-78746cddd68b",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "b0258e26-0123-4a94-b44b-04b9136a2a0d",
            "f860321f-2a2e-49a2-954c-1d6add2fcf02",
            "e9bf4ac4-b0a0-468a-abd6-8da8ee67b4e1",
            "a3d01fd3-e4a8-4dd8-877c-a7d3ca2814d9",
            "26ff4920-8518-4268-81b7-a73d0db9bc91",
            "0f166964-90fe-47d5-aa36-4514c4389648",
            "db9b9b4e-0503-4301-9ef6-3a4744c3a13e"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 255,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        },
        {
          "uuid": "97175ab9-f135-4ad6-b9a0-cce50ede931f",
          "title": "Tracker degradation",
          "fullFile": "/var/lib/jenkins/workspace/priceza-web/test-js/test/test-tracker.js",
          "file": "/test/test-tracker.js",
          "beforeHooks": [],
          "afterHooks": [],
          "tests": [
            {
              "title": "degrade tracker after first conversion",
              "fullTitle": "Tracker degradation degrade tracker after first conversion",
              "timedOut": false,
              "duration": 38,
              "state": "passed",
              "speed": "medium",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "const window = loadDOM('http://localhost?pzclickid=u-th--301277--uuid--uid');\nconst clickid = window.PZ3.loadClick('pz-clickid');\nassert.equal(clickid, 'u-th--301277--uuid--uid');\n\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 301277,\n\t\"orderId\": \"event-1\"\n});\n\nlet queryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('clickid'), 'u-th--301277--uuid--uid');\nassert.strictEqual(queryParams.get('d'), 'event-1');\n\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 301277,\n\t\"orderId\": \"event-2\"\n});\n\nqueryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('clickid'), 'u-th--301277--uuid--uid--x');\nassert.strictEqual(queryParams.get('d'), 'event-2');",
              "err": {},
              "uuid": "87f84bd0-36c6-48c9-9dc3-f238df5103fe",
              "parentUUID": "97175ab9-f135-4ad6-b9a0-cce50ede931f",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "only apply on target mid",
              "fullTitle": "Tracker degradation only apply on target mid",
              "timedOut": false,
              "duration": 80,
              "state": "passed",
              "speed": "slow",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost?pzclickid=u-th--301277--uuid--uid');\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 301277,\n\t\"orderId\": \"event-name\"\n});\n\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 301277,\n\t\"orderId\": \"event-2\"\n});\n\nlet queryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('clickid'), 'u-th--301277--uuid--uid--x', 'clickid not degrade on target mid');\n\nwindow = loadDOM('http://localhost?pzclickid=u-th--301001--uuid--uid');\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 301001,\n\t\"orderId\": \"event-name\"\n});\n\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 301001,\n\t\"orderId\": \"event-2\"\n});\n\nqueryParam = extractConversionFrame(window);\nassert.strictEqual(queryParam.get('clickid'), 'u-th--301001--uuid--uid', 'clickid degrade on non-target mid');",
              "err": {},
              "uuid": "0b092069-b02b-4b68-9b4f-b2ad1ec6485f",
              "parentUUID": "97175ab9-f135-4ad6-b9a0-cce50ede931f",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "87f84bd0-36c6-48c9-9dc3-f238df5103fe",
            "0b092069-b02b-4b68-9b4f-b2ad1ec6485f"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 118,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        },
        {
          "uuid": "3bc6df19-a5b5-4e28-a3e0-5193ce257dcb",
          "title": "Saving clickid",
          "fullFile": "/var/lib/jenkins/workspace/priceza-web/test-js/test/test-tracker.js",
          "file": "/test/test-tracker.js",
          "beforeHooks": [],
          "afterHooks": [],
          "tests": [
            {
              "title": "can load with no error on no clickid param",
              "fullTitle": "Saving clickid can load with no error on no clickid param",
              "timedOut": false,
              "duration": 9,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost');\nconst clickid = window.PZ3.loadClick('pz-clickid');\nassert.equal(clickid, null);",
              "err": {},
              "uuid": "4e48dba3-aaf4-4f0d-beca-21074819c3db",
              "parentUUID": "3bc6df19-a5b5-4e28-a3e0-5193ce257dcb",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can extract query param [pzclickid]",
              "fullTitle": "Saving clickid can extract query param [pzclickid]",
              "timedOut": false,
              "duration": 8,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost?pzclickid=u-th--301277--uuid--uid');\nconst clickid = window.PZ3.loadClick('pz-clickid');\nassert.equal(clickid, 'u-th--301277--uuid--uid');",
              "err": {},
              "uuid": "c74c7cef-a51a-4969-a0e4-64630d495e6f",
              "parentUUID": "3bc6df19-a5b5-4e28-a3e0-5193ce257dcb",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can extract query param [clickid]",
              "fullTitle": "Saving clickid can extract query param [clickid]",
              "timedOut": false,
              "duration": 9,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost?clickid=u-th--301277--uuid--uid');\nconst clickid = window.PZ3.loadClick('pz-clickid');\nassert.equal(clickid, 'u-th--301277--uuid--uid');",
              "err": {},
              "uuid": "3f797bc5-9f13-4c65-beba-359d919839d7",
              "parentUUID": "3bc6df19-a5b5-4e28-a3e0-5193ce257dcb",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can extract query param [clickid], but not mixup with non-priceza clickid",
              "fullTitle": "Saving clickid can extract query param [clickid], but not mixup with non-priceza clickid",
              "timedOut": false,
              "duration": 8,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost?clickid=6914fb4c-631d-44b3-aec9-ee7537968c6f');\nconst clickid = window.PZ3.loadClick('pz-clickid');\nassert.equal(clickid, null);",
              "err": {},
              "uuid": "f7dce299-e682-4a9b-84fb-7f3257204380",
              "parentUUID": "3bc6df19-a5b5-4e28-a3e0-5193ce257dcb",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can generate clickid when AppFlyer clickid missing [pzclickid]",
              "fullTitle": "Saving clickid can generate clickid when AppFlyer clickid missing [pzclickid]",
              "timedOut": false,
              "duration": 8,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost?pzclickid=&af_siteid=301273&c=pspn-test');\nconst clickid = window.PZ3.loadClick('pz-clickid');\nassert.ok(clickid.startsWith('r-th--301273--appflyer::pspn-test--'));",
              "err": {},
              "uuid": "b6dd496d-d357-4c2d-b6a5-84fb33e05c4e",
              "parentUUID": "3bc6df19-a5b5-4e28-a3e0-5193ce257dcb",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can generate clickid when AppFlyer clickid missing [clickid]",
              "fullTitle": "Saving clickid can generate clickid when AppFlyer clickid missing [clickid]",
              "timedOut": false,
              "duration": 8,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost?clickid=&af_siteid=301002&c=pspn-user');\nconst clickid = window.PZ3.loadClick('pz-clickid');\nassert.ok(clickid.startsWith('r-th--301002--appflyer::pspn-user--'));",
              "err": {},
              "uuid": "41d0dde3-f14d-4756-adec-ed5d8692419c",
              "parentUUID": "3bc6df19-a5b5-4e28-a3e0-5193ce257dcb",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can generate clickid when AppFlyer clickid missing [UAT]",
              "fullTitle": "Saving clickid can generate clickid when AppFlyer clickid missing [UAT]",
              "timedOut": false,
              "duration": 8,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost?clickid=&af_siteid=U301002&c=pspn-user');\nconst clickid = window.PZ3.loadClick('pz-clickid');\nassert.ok(clickid.startsWith('u-th--301002--appflyer::pspn-user--'));",
              "err": {},
              "uuid": "285f5d21-ec94-4028-9f35-1e4e9f059c0e",
              "parentUUID": "3bc6df19-a5b5-4e28-a3e0-5193ce257dcb",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "4e48dba3-aaf4-4f0d-beca-21074819c3db",
            "c74c7cef-a51a-4969-a0e4-64630d495e6f",
            "3f797bc5-9f13-4c65-beba-359d919839d7",
            "f7dce299-e682-4a9b-84fb-7f3257204380",
            "b6dd496d-d357-4c2d-b6a5-84fb33e05c4e",
            "41d0dde3-f14d-4756-adec-ed5d8692419c",
            "285f5d21-ec94-4028-9f35-1e4e9f059c0e"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 58,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        },
        {
          "uuid": "3988d58a-5706-4de3-b8ff-bbabe9cf0957",
          "title": "Script must not throw error when anything crash",
          "fullFile": "/var/lib/jenkins/workspace/priceza-web/test-js/test/test-tracker.js",
          "file": "/test/test-tracker.js",
          "beforeHooks": [],
          "afterHooks": [],
          "tests": [
            {
              "title": "simulate crash by force error on function [createFrame]",
              "fullTitle": "Script must not throw error when anything crash simulate crash by force error on function [createFrame]",
              "timedOut": false,
              "duration": 8,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost');\nwindow.console = {\n\tmsg: '',\n\twarn: function(msg) { this.msg = msg; },\n\terror: function(msg) { this.msg = msg; }\n};\n\nwindow.PZ3[fn] = function() {\n\tthrow `[Mock error: ${fn} failure]`;\n}\n\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 301277,\n\t\"orderId\": \"event-name\"\n});\n\nassert.equal(window.console.msg, `[Mock error: ${fn} failure]`);",
              "err": {},
              "uuid": "22c83e4c-b379-4d9c-a85d-5c9f7319c831",
              "parentUUID": "3988d58a-5706-4de3-b8ff-bbabe9cf0957",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "simulate crash by force error on function [convParam]",
              "fullTitle": "Script must not throw error when anything crash simulate crash by force error on function [convParam]",
              "timedOut": false,
              "duration": 7,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost');\nwindow.console = {\n\tmsg: '',\n\twarn: function(msg) { this.msg = msg; },\n\terror: function(msg) { this.msg = msg; }\n};\n\nwindow.PZ3[fn] = function() {\n\tthrow `[Mock error: ${fn} failure]`;\n}\n\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 301277,\n\t\"orderId\": \"event-name\"\n});\n\nassert.equal(window.console.msg, `[Mock error: ${fn} failure]`);",
              "err": {},
              "uuid": "50e6faa3-67f2-4385-bed8-e4765a5b11db",
              "parentUUID": "3988d58a-5706-4de3-b8ff-bbabe9cf0957",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "simulate crash by force error on function [sendConv]",
              "fullTitle": "Script must not throw error when anything crash simulate crash by force error on function [sendConv]",
              "timedOut": false,
              "duration": 7,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost');\nwindow.console = {\n\tmsg: '',\n\twarn: function(msg) { this.msg = msg; },\n\terror: function(msg) { this.msg = msg; }\n};\n\nwindow.PZ3[fn] = function() {\n\tthrow `[Mock error: ${fn} failure]`;\n}\n\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 301277,\n\t\"orderId\": \"event-name\"\n});\n\nassert.equal(window.console.msg, `[Mock error: ${fn} failure]`);",
              "err": {},
              "uuid": "47326172-1ff7-46c5-81de-9fbd1e7b5f1b",
              "parentUUID": "3988d58a-5706-4de3-b8ff-bbabe9cf0957",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "simulate crash by force error on function [loadClick]",
              "fullTitle": "Script must not throw error when anything crash simulate crash by force error on function [loadClick]",
              "timedOut": false,
              "duration": 7,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost');\nwindow.console = {\n\tmsg: '',\n\twarn: function(msg) { this.msg = msg; },\n\terror: function(msg) { this.msg = msg; }\n};\n\nwindow.PZ3[fn] = function() {\n\tthrow `[Mock error: ${fn} failure]`;\n}\n\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 301277,\n\t\"orderId\": \"event-name\"\n});\n\nassert.equal(window.console.msg, `[Mock error: ${fn} failure]`);",
              "err": {},
              "uuid": "ef20ddab-0cf5-431e-8952-ce9781e4ad5f",
              "parentUUID": "3988d58a-5706-4de3-b8ff-bbabe9cf0957",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "simulate crash by force error on function [process]",
              "fullTitle": "Script must not throw error when anything crash simulate crash by force error on function [process]",
              "timedOut": false,
              "duration": 7,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost');\nwindow.console = {\n\tmsg: '',\n\twarn: function(msg) { this.msg = msg; },\n\terror: function(msg) { this.msg = msg; }\n};\n\nwindow.PZ3[fn] = function() {\n\tthrow `[Mock error: ${fn} failure]`;\n}\n\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 301277,\n\t\"orderId\": \"event-name\"\n});\n\nassert.equal(window.console.msg, `[Mock error: ${fn} failure]`);",
              "err": {},
              "uuid": "b7d335ad-ed64-4621-a92c-10c05cfad307",
              "parentUUID": "3988d58a-5706-4de3-b8ff-bbabe9cf0957",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "simulate crash on loading click",
              "fullTitle": "Script must not throw error when anything crash simulate crash on loading click",
              "timedOut": false,
              "duration": 8,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = createBaseDOM('about:blank'); // this will cause SecurityError on loading localstorage\nwindow.console = {\n\tmsg: '',\n\twarn: function(msg) { this.msg = msg; },\n\terror: function(msg) { this.msg = msg; }\n};\nloadTrackingJS(window);\n\nvar err = window.console.msg;\nassert.ok(err.toString().startsWith('SecurityError: localStorage'));",
              "err": {},
              "uuid": "87a9bfc4-7261-4104-afa1-760a57504407",
              "parentUUID": "3988d58a-5706-4de3-b8ff-bbabe9cf0957",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "22c83e4c-b379-4d9c-a85d-5c9f7319c831",
            "50e6faa3-67f2-4385-bed8-e4765a5b11db",
            "47326172-1ff7-46c5-81de-9fbd1e7b5f1b",
            "ef20ddab-0cf5-431e-8952-ce9781e4ad5f",
            "b7d335ad-ed64-4621-a92c-10c05cfad307",
            "87a9bfc4-7261-4104-afa1-760a57504407"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 44,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        },
        {
          "uuid": "81a0e592-5421-4b26-ad04-3bca698c22cf",
          "title": "[Viriyah]",
          "fullFile": "/var/lib/jenkins/workspace/priceza-web/test-js/test/test-tracker.js",
          "file": "/test/test-tracker.js",
          "beforeHooks": [],
          "afterHooks": [],
          "tests": [
            {
              "title": "can load with no error on no clickid param",
              "fullTitle": "[Viriyah] can load with no error on no clickid param",
              "timedOut": false,
              "duration": 8,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost');\nconst clickid = window.PZ3.loadClick('pz-clickid');\nassert.equal(clickid, null);",
              "err": {},
              "uuid": "2bc4729f-2628-4aa2-ab8d-8b28765591b7",
              "parentUUID": "81a0e592-5421-4b26-ad04-3bca698c22cf",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can submit conversion on no clickid param",
              "fullTitle": "[Viriyah] can submit conversion on no clickid param",
              "timedOut": false,
              "duration": 25,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost');\nconst clickid = window.PZ3.loadClick('pz-clickid');\nassert.equal(clickid, null);\n\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 301277,\n\t\"orderId\": \"event-name\"\n});\nqueryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('d'), 'event-name');",
              "err": {},
              "uuid": "42a0d5a2-2f21-480f-9702-3b6793420ce0",
              "parentUUID": "81a0e592-5421-4b26-ad04-3bca698c22cf",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can submit conversion on with pz-clickid param",
              "fullTitle": "[Viriyah] can submit conversion on with pz-clickid param",
              "timedOut": false,
              "duration": 26,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost?pzclickid=u-th--301277--uuid--uid');\nconst clickid = window.PZ3.loadClick('pz-clickid');\nassert.equal(clickid, 'u-th--301277--uuid--uid');\n\nwindow.pzConvData.push({\n\t\"type\": \"purchase\",\n\t\"merchantId\": 301277,\n\t\"orderId\": \"event-name\"\n});\nqueryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('clickid'), 'u-th--301277--uuid--uid');\nassert.strictEqual(queryParams.get('m'), '301277');\nassert.strictEqual(queryParams.get('d'), 'event-name');",
              "err": {},
              "uuid": "a96d1429-ca88-4470-a31b-d9f4e724c9f0",
              "parentUUID": "81a0e592-5421-4b26-ad04-3bca698c22cf",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "2bc4729f-2628-4aa2-ab8d-8b28765591b7",
            "42a0d5a2-2f21-480f-9702-3b6793420ce0",
            "a96d1429-ca88-4470-a31b-d9f4e724c9f0"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 59,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        },
        {
          "uuid": "ff9715f0-6224-4d21-b37b-a7ed1baf10c3",
          "title": "[BNN]",
          "fullFile": "/var/lib/jenkins/workspace/priceza-web/test-js/test/test-tracker.js",
          "file": "/test/test-tracker.js",
          "beforeHooks": [],
          "afterHooks": [],
          "tests": [
            {
              "title": "can submit payload w/ multiple value",
              "fullTitle": "[BNN] can submit payload w/ multiple value",
              "timedOut": false,
              "duration": 27,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost?pzclickid=u-th--301266--uuid--uid');\nwindow.pzConvData.push({type:\"purchase\",merchantId:\"20001\",productId:\"619659186784|710123456725\",value:\"290|290\",data:\"BNN2603020227\",filter:\"undefined\"});\n\nqueryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('clickid'), 'u-th--301266--uuid--uid');\nassert.strictEqual(queryParams.get('m'), '20001');\nassert.strictEqual(queryParams.get('d'), 'BNN2603020227');\nassert.strictEqual(queryParams.get('p'), '619659186784|710123456725');\nassert.strictEqual(queryParams.get('v'), '290|290');",
              "err": {},
              "uuid": "34d9224e-dcfe-457e-b282-2c93c300a885",
              "parentUUID": "ff9715f0-6224-4d21-b37b-a7ed1baf10c3",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can submit payload w/ multiple value, weird format",
              "fullTitle": "[BNN] can submit payload w/ multiple value, weird format",
              "timedOut": false,
              "duration": 26,
              "state": "passed",
              "speed": "fast",
              "pass": true,
              "fail": false,
              "pending": false,
              "context": null,
              "code": "let window = loadDOM('http://localhost?pzclickid=u-th--301266--uuid--uid');\nwindow.pzConvData=window.pzConvData||[];window.pzConvData.push({type:\"purchase\",merchantId:\"20001\",orderId:\"BNN2603020227\",filter:\"undefined\",items:[{productId:\"619659186784|710123456725\",quantity:\"undefined|undefined\",unitPrice:\"290|290\",orderItemId:\"619659186784|710123456725\",category:\"1157|467\"}]});\n\nqueryParams = extractConversionFrame(window);\nassert.strictEqual(queryParams.get('clickid'), 'u-th--301266--uuid--uid');\nassert.strictEqual(queryParams.get('m'), '20001');\nassert.strictEqual(queryParams.get('d'), 'BNN2603020227');\nassert.strictEqual(queryParams.get('p'), '619659186784|710123456725');\nassert.strictEqual(queryParams.get('v'), '290|290');",
              "err": {},
              "uuid": "73c0ee48-4dda-440e-bc32-4fc2f06fd225",
              "parentUUID": "ff9715f0-6224-4d21-b37b-a7ed1baf10c3",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "34d9224e-dcfe-457e-b282-2c93c300a885",
            "73c0ee48-4dda-440e-bc32-4fc2f06fd225"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 53,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        }
      ],
      "passes": [],
      "failures": [],
      "pending": [],
      "skipped": [],
      "duration": 0,
      "root": true,
      "rootEmpty": true,
      "_timeout": 2000
    }
  ],
  "meta": {
    "mocha": {
      "version": "11.7.5"
    },
    "mochawesome": {
      "options": {
        "quiet": false,
        "reportFilename": "results.html",
        "saveHtml": true,
        "saveJson": true,
        "consoleReporter": "spec",
        "useInlineDiffs": false,
        "code": true
      },
      "version": "7.1.4"
    },
    "marge": {
      "options": {
        "reportFilename": "results.html"
      },
      "version": "6.3.2"
    }
  }
}