{
  "stats": {
    "suites": 6,
    "tests": 27,
    "passes": 27,
    "pending": 0,
    "failures": 0,
    "start": "2026-02-12T04:54:38.827Z",
    "end": "2026-02-12T04:54:39.604Z",
    "duration": 777,
    "testsRegistered": 27,
    "passPercent": 100,
    "pendingPercent": 0,
    "other": 0,
    "hasOther": false,
    "skipped": 0,
    "hasSkipped": false
  },
  "results": [
    {
      "uuid": "7073b5fd-0f40-4adc-84d3-53386964470f",
      "title": "",
      "fullFile": "",
      "file": "",
      "beforeHooks": [],
      "afterHooks": [],
      "tests": [],
      "suites": [
        {
          "uuid": "9413d3e0-0da2-4a86-aa5c-b1875c7b68a9",
          "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": "d90570ff-02c4-44e9-b2b1-dd2a044aef57",
              "parentUUID": "9413d3e0-0da2-4a86-aa5c-b1875c7b68a9",
              "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": "29e3d431-ae11-43c6-b0e0-417fd67536eb",
              "parentUUID": "9413d3e0-0da2-4a86-aa5c-b1875c7b68a9",
              "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": "f9ebfe42-37c3-4291-a25b-0e132ed91d24",
              "parentUUID": "9413d3e0-0da2-4a86-aa5c-b1875c7b68a9",
              "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": "f2f01ed7-e8c6-45d3-b9b7-c5fc9b1cdd4d",
              "parentUUID": "9413d3e0-0da2-4a86-aa5c-b1875c7b68a9",
              "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": "e1298f80-2a8d-4620-a1f8-842f9772e0c9",
              "parentUUID": "9413d3e0-0da2-4a86-aa5c-b1875c7b68a9",
              "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": "3e0917b9-d44c-4bb7-8372-964017ac8feb",
              "parentUUID": "9413d3e0-0da2-4a86-aa5c-b1875c7b68a9",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "d90570ff-02c4-44e9-b2b1-dd2a044aef57",
            "29e3d431-ae11-43c6-b0e0-417fd67536eb",
            "f9ebfe42-37c3-4291-a25b-0e132ed91d24",
            "f2f01ed7-e8c6-45d3-b9b7-c5fc9b1cdd4d",
            "e1298f80-2a8d-4620-a1f8-842f9772e0c9",
            "3e0917b9-d44c-4bb7-8372-964017ac8feb"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 1,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        },
        {
          "uuid": "ca6c0cb4-76d1-49e5-88be-cc15c7ad875c",
          "title": "Sending conversion",
          "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 create frame with proper arguments",
              "timedOut": false,
              "duration": 123,
              "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": "027bf1d7-f9ba-4a8d-9487-f390c1a9e9d5",
              "parentUUID": "ca6c0cb4-76d1-49e5-88be-cc15c7ad875c",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can send conversion with no pzclickid",
              "fullTitle": "Sending conversion 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": "df1a9d77-562e-4c1c-824f-e4a6da5e5709",
              "parentUUID": "ca6c0cb4-76d1-49e5-88be-cc15c7ad875c",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "027bf1d7-f9ba-4a8d-9487-f390c1a9e9d5",
            "df1a9d77-562e-4c1c-824f-e4a6da5e5709"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 158,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        },
        {
          "uuid": "f7c7567e-dc6d-4589-a27d-7872a44fc95c",
          "title": "Pushing payload through 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 payload before loading script",
              "fullTitle": "Pushing payload through pzConvData can predefine payload before loading script",
              "timedOut": false,
              "duration": 33,
              "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": "e4910206-b9b5-41b1-bba5-81ce3384fc6d",
              "parentUUID": "f7c7567e-dc6d-4589-a27d-7872a44fc95c",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can push payload after script loaded",
              "fullTitle": "Pushing payload through pzConvData can push payload after script loaded",
              "timedOut": false,
              "duration": 28,
              "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": "2d07dc78-ab08-40fb-b32c-36f79ab8657e",
              "parentUUID": "f7c7567e-dc6d-4589-a27d-7872a44fc95c",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can push payload after script loaded, even if variable is predefined",
              "fullTitle": "Pushing payload through pzConvData can push payload after script loaded, even if variable is predefined",
              "timedOut": false,
              "duration": 44,
              "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": "06dd46f6-6ce5-46fc-ac73-d3f2448bcf73",
              "parentUUID": "f7c7567e-dc6d-4589-a27d-7872a44fc95c",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "e4910206-b9b5-41b1-bba5-81ce3384fc6d",
            "2d07dc78-ab08-40fb-b32c-36f79ab8657e",
            "06dd46f6-6ce5-46fc-ac73-d3f2448bcf73"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 105,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        },
        {
          "uuid": "80b743e8-611e-4841-9a1c-cd66577b45ba",
          "title": "Transforming 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 payload support v1 payload",
              "timedOut": false,
              "duration": 30,
              "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": "94086e71-0314-4b2d-860e-eb80987d955a",
              "parentUUID": "80b743e8-611e-4841-9a1c-cd66577b45ba",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "support v1 payload (bare minimum)",
              "fullTitle": "Transforming payload support v1 payload (bare minimum)",
              "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\"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": "913a8872-ed17-4fb2-827b-cee405e7def7",
              "parentUUID": "80b743e8-611e-4841-9a1c-cd66577b45ba",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "support v2 payload",
              "fullTitle": "Transforming payload support v2 payload",
              "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\",\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});\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');",
              "err": {},
              "uuid": "7211dd89-f7f4-4dc4-b47b-6e3365a4f5d9",
              "parentUUID": "80b743e8-611e-4841-9a1c-cd66577b45ba",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "support v2 payload w/ multiple items",
              "fullTitle": "Transforming payload support v2 payload w/ multiple items",
              "timedOut": false,
              "duration": 29,
              "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": "bf7931da-e94b-4bbe-a041-b9798b08037e",
              "parentUUID": "80b743e8-611e-4841-9a1c-cd66577b45ba",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "support v2 payload (bare minimum)",
              "fullTitle": "Transforming payload support v2 payload (bare minimum)",
              "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\": \"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": "8b128b1a-bfdc-4073-ab0c-84d9a43d4663",
              "parentUUID": "80b743e8-611e-4841-9a1c-cd66577b45ba",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "support v2 payload (bare minimum w/ items)",
              "fullTitle": "Transforming payload support v2 payload (bare minimum w/ items)",
              "timedOut": false,
              "duration": 52,
              "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\"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'), '');",
              "err": {},
              "uuid": "37ec5f37-c7ba-410f-b03e-24244f68f36a",
              "parentUUID": "80b743e8-611e-4841-9a1c-cd66577b45ba",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "support v2 payload, forbidden character removed",
              "fullTitle": "Transforming payload support v2 payload, forbidden character removed",
              "timedOut": false,
              "duration": 90,
              "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\"items\": [{\n\t\t\"productId\": \"sku-01|2\",\n\t\t\"quantity\": 2,\n\t\t\"unitPrice\": 200,\n\t\t\"orderItemId\": \"item-01|2\",\n\t\t\"category\": \"cat-01|2\",\n\t\t\"note\": \"note-01|2\",\n\t\t\"addOn\": \"addon-01|2\"\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_2');\nassert.strictEqual(queryParams.get('v'), '200');\nassert.strictEqual(queryParams.get('qty'), '2');\nassert.strictEqual(queryParams.get('iid'), 'item-01_2');\nassert.strictEqual(queryParams.get('cat'), 'cat-01_2');\nassert.strictEqual(queryParams.get('note'), 'note-01_2');\nassert.strictEqual(queryParams.get('ao'), 'addon-01_2');",
              "err": {},
              "uuid": "f7b45c31-f2f4-4de0-a001-9bf79bb8a523",
              "parentUUID": "80b743e8-611e-4841-9a1c-cd66577b45ba",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "94086e71-0314-4b2d-860e-eb80987d955a",
            "913a8872-ed17-4fb2-827b-cee405e7def7",
            "7211dd89-f7f4-4dc4-b47b-6e3365a4f5d9",
            "bf7931da-e94b-4bbe-a041-b9798b08037e",
            "8b128b1a-bfdc-4073-ab0c-84d9a43d4663",
            "37ec5f37-c7ba-410f-b03e-24244f68f36a",
            "f7b45c31-f2f4-4de0-a001-9bf79bb8a523"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 275,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        },
        {
          "uuid": "43137f7a-6a80-4223-a966-4990e55cb4f6",
          "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": 42,
              "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": "1af1d98b-f923-4aca-817b-89349676ed64",
              "parentUUID": "43137f7a-6a80-4223-a966-4990e55cb4f6",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "only apply on target mid",
              "fullTitle": "Tracker degradation only apply on target mid",
              "timedOut": false,
              "duration": 72,
              "state": "passed",
              "speed": "medium",
              "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": "937192ab-276b-4fe8-bcac-04fb98e0bf98",
              "parentUUID": "43137f7a-6a80-4223-a966-4990e55cb4f6",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "1af1d98b-f923-4aca-817b-89349676ed64",
            "937192ab-276b-4fe8-bcac-04fb98e0bf98"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 114,
          "root": false,
          "rootEmpty": false,
          "_timeout": 2000
        },
        {
          "uuid": "27b07ad3-bca2-4308-85a1-ebf899915e7d",
          "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": 7,
              "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": "9095025d-fdb9-4f98-a84a-de3c6fbf1c5e",
              "parentUUID": "27b07ad3-bca2-4308-85a1-ebf899915e7d",
              "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": "3e725d51-916c-4748-9b13-746c05e8d91f",
              "parentUUID": "27b07ad3-bca2-4308-85a1-ebf899915e7d",
              "isHook": false,
              "skipped": false
            },
            {
              "title": "can extract query param [clickid]",
              "fullTitle": "Saving clickid can extract query param [clickid]",
              "timedOut": false,
              "duration": 8,
              "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": "d34ce971-4b18-478b-86e5-3bde77ee336e",
              "parentUUID": "27b07ad3-bca2-4308-85a1-ebf899915e7d",
              "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": 7,
              "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": "fb95efcc-f8c3-4d86-a8fa-b0cd568e0577",
              "parentUUID": "27b07ad3-bca2-4308-85a1-ebf899915e7d",
              "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": "d53b7fcb-9be0-4801-beed-b57cb2c97c18",
              "parentUUID": "27b07ad3-bca2-4308-85a1-ebf899915e7d",
              "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": 7,
              "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": "10b85f3e-d746-402e-9e62-e1f252519ca1",
              "parentUUID": "27b07ad3-bca2-4308-85a1-ebf899915e7d",
              "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": 9,
              "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": "0112d781-2663-4d26-b5d0-70a7b6795c26",
              "parentUUID": "27b07ad3-bca2-4308-85a1-ebf899915e7d",
              "isHook": false,
              "skipped": false
            }
          ],
          "suites": [],
          "passes": [
            "9095025d-fdb9-4f98-a84a-de3c6fbf1c5e",
            "3e725d51-916c-4748-9b13-746c05e8d91f",
            "d34ce971-4b18-478b-86e5-3bde77ee336e",
            "fb95efcc-f8c3-4d86-a8fa-b0cd568e0577",
            "d53b7fcb-9be0-4801-beed-b57cb2c97c18",
            "10b85f3e-d746-402e-9e62-e1f252519ca1",
            "0112d781-2663-4d26-b5d0-70a7b6795c26"
          ],
          "failures": [],
          "pending": [],
          "skipped": [],
          "duration": 54,
          "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": "mochawesome",
        "saveHtml": true,
        "saveJson": true,
        "consoleReporter": "spec",
        "useInlineDiffs": false,
        "code": true
      },
      "version": "7.1.4"
    },
    "marge": {
      "options": null,
      "version": "6.3.2"
    }
  }
}