{
  "config": {
    "configFile": "/var/www/360lm/playwright.config.js",
    "rootDir": "/var/www/360lm/tests",
    "forbidOnly": false,
    "fullyParallel": false,
    "globalSetup": null,
    "globalTeardown": null,
    "globalTimeout": 0,
    "grep": {},
    "grepInvert": null,
    "maxFailures": 0,
    "metadata": {
      "actualWorkers": 1
    },
    "preserveOutput": "always",
    "projects": [
      {
        "outputDir": "/var/www/360lm/test-results",
        "repeatEach": 1,
        "retries": 1,
        "metadata": {
          "actualWorkers": 1
        },
        "id": "android-chrome",
        "name": "android-chrome",
        "testDir": "/var/www/360lm/tests",
        "testIgnore": [],
        "testMatch": [
          "**/*.@(spec|test).?(c|m)[jt]s?(x)"
        ],
        "timeout": 30000
      },
      {
        "outputDir": "/var/www/360lm/test-results",
        "repeatEach": 1,
        "retries": 1,
        "metadata": {
          "actualWorkers": 1
        },
        "id": "desktop-chrome",
        "name": "desktop-chrome",
        "testDir": "/var/www/360lm/tests",
        "testIgnore": [],
        "testMatch": [
          "**/*.@(spec|test).?(c|m)[jt]s?(x)"
        ],
        "timeout": 30000
      }
    ],
    "quiet": false,
    "reporter": [
      [
        "json"
      ]
    ],
    "reportSlowTests": {
      "max": 5,
      "threshold": 300000
    },
    "shard": null,
    "tags": [],
    "updateSnapshots": "missing",
    "updateSourceMethod": "patch",
    "version": "1.60.0",
    "workers": 1,
    "webServer": null
  },
  "suites": [
    {
      "title": "vehicle.spec.js",
      "file": "vehicle.spec.js",
      "column": 0,
      "line": 0,
      "specs": [],
      "suites": [
        {
          "title": "Vehicle Log — Smoke",
          "file": "vehicle.spec.js",
          "line": 9,
          "column": 6,
          "specs": [
            {
              "title": "page or hub loads",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 2146,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:14.677Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-c69be7604bfc5bd3eecf",
              "file": "vehicle.spec.js",
              "line": 10,
              "column": 3
            },
            {
              "title": "manifest.json returns 200",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 494,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:17.377Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-0af762c479f72f5c2368",
              "file": "vehicle.spec.js",
              "line": 17,
              "column": 3
            },
            {
              "title": "sw.js contains vehicle-v29",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 572,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:17.968Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-7b11354351200d7b88d6",
              "file": "vehicle.spec.js",
              "line": 22,
              "column": 3
            },
            {
              "title": "page or hub loads",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 2269,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:21.932Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-f19cecc0003599b5d468",
              "file": "vehicle.spec.js",
              "line": 10,
              "column": 3
            },
            {
              "title": "manifest.json returns 200",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 649,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:24.695Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-6d3329d2335f2eb6f7a3",
              "file": "vehicle.spec.js",
              "line": 17,
              "column": 3
            },
            {
              "title": "sw.js contains vehicle-v29",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 696,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:25.457Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-8a844510d6d40c56d30f",
              "file": "vehicle.spec.js",
              "line": 22,
              "column": 3
            }
          ]
        },
        {
          "title": "Vehicle Log — HTML Structure (v18)",
          "file": "vehicle.spec.js",
          "line": 29,
          "column": 6,
          "specs": [
            {
              "title": "edit+delegate modals and edit-log screen present",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 205,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:18.594Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-61ff6582f0f0b6314fd2",
              "file": "vehicle.spec.js",
              "line": 30,
              "column": 3
            },
            {
              "title": "canBypassPhoto and canEditEntry functions present in JS",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 81,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:18.845Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-e3848d43d66a83c9c8de",
              "file": "vehicle.spec.js",
              "line": 50,
              "column": 3
            },
            {
              "title": "photo bypass guards present (4 locations)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 104,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:19.016Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-9b6dda5ff14592fbe0ed",
              "file": "vehicle.spec.js",
              "line": 64,
              "column": 3
            },
            {
              "title": "edit+delegate modals and edit-log screen present",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 234,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:26.328Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-eecfce8c5bbdcfc30b12",
              "file": "vehicle.spec.js",
              "line": 30,
              "column": 3
            },
            {
              "title": "canBypassPhoto and canEditEntry functions present in JS",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 76,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:26.622Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-1da678b2208dbba484d5",
              "file": "vehicle.spec.js",
              "line": 50,
              "column": 3
            },
            {
              "title": "photo bypass guards present (4 locations)",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 91,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:26.745Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-d807e8ea32c68934afb9",
              "file": "vehicle.spec.js",
              "line": 64,
              "column": 3
            }
          ]
        },
        {
          "title": "Vehicle Log — HTML Structure (v22)",
          "file": "vehicle.spec.js",
          "line": 76,
          "column": 6,
          "specs": [
            {
              "title": "mileage segment functions and retro-switch present",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 55,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:19.206Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-e81fe7704c34b9bba4d8",
              "file": "vehicle.spec.js",
              "line": 77,
              "column": 3
            },
            {
              "title": "mileage segment functions and retro-switch present",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 58,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:26.881Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-4ad5358a0f338a97379f",
              "file": "vehicle.spec.js",
              "line": 77,
              "column": 3
            }
          ]
        },
        {
          "title": "Vehicle Log — HTML Structure (v25)",
          "file": "vehicle.spec.js",
          "line": 93,
          "column": 6,
          "specs": [
            {
              "title": "fuel bill photo and CC slip photo elements present",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 46,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:19.328Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-4ccd65b60ead57af1fd6",
              "file": "vehicle.spec.js",
              "line": 94,
              "column": 3
            },
            {
              "title": "fuel bill and CC slip handler functions present",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 119,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:19.424Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-6be3e9e521885024edcc",
              "file": "vehicle.spec.js",
              "line": 108,
              "column": 3
            },
            {
              "title": "fuel bill photo and CC slip photo elements present",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 65,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:26.978Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-ce93d65c65ac5105f143",
              "file": "vehicle.spec.js",
              "line": 94,
              "column": 3
            },
            {
              "title": "fuel bill and CC slip handler functions present",
              "ok": true,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "passed",
                      "duration": 44,
                      "errors": [],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-06-15T08:54:27.098Z",
                      "annotations": [],
                      "attachments": []
                    }
                  ],
                  "status": "expected"
                }
              ],
              "id": "084e7535606ab6e45f08-c8df628ad737ecf34fd7",
              "file": "vehicle.spec.js",
              "line": 108,
              "column": 3
            }
          ]
        }
      ]
    }
  ],
  "errors": [],
  "stats": {
    "startTime": "2026-06-15T08:54:12.218Z",
    "duration": 15239.609,
    "expected": 18,
    "skipped": 0,
    "unexpected": 0,
    "flaky": 0
  }
}
