{
  "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 loads with splash or redirects to hub",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 0,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 1118,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:11:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 11
                        },
                        "snippet": "   9 | test.describe(`${PWA_NAME} — Smoke`, () => {\n  10 |   test('page loads with splash or redirects to hub', async ({ page }) => {\n> 11 |     await page.goto(BASE_URL);\n     |                ^\n  12 |     // Either shows splash screen or redirects to hub (unauthenticated)\n  13 |     const url = page.url();\n  14 |     const isHub = url.includes('/hub/') || url.includes('/vehicle/');"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 11
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n   9 | test.describe(`${PWA_NAME} — Smoke`, () => {\n  10 |   test('page loads with splash or redirects to hub', async ({ page }) => {\n> 11 |     await page.goto(BASE_URL);\n     |                ^\n  12 |     // Either shows splash screen or redirects to hub (unauthenticated)\n  13 |     const url = page.url();\n  14 |     const isHub = url.includes('/hub/') || url.includes('/vehicle/');\n    at /var/www/360lm/tests/vehicle.spec.js:11:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:46:11.881Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-9fee8--splash-or-redirects-to-hub-android-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-9fee8--splash-or-redirects-to-hub-android-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 11
                      }
                    },
                    {
                      "workerIndex": 1,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 366,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:11:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 11
                        },
                        "snippet": "   9 | test.describe(`${PWA_NAME} — Smoke`, () => {\n  10 |   test('page loads with splash or redirects to hub', async ({ page }) => {\n> 11 |     await page.goto(BASE_URL);\n     |                ^\n  12 |     // Either shows splash screen or redirects to hub (unauthenticated)\n  13 |     const url = page.url();\n  14 |     const isHub = url.includes('/hub/') || url.includes('/vehicle/');"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 11
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n   9 | test.describe(`${PWA_NAME} — Smoke`, () => {\n  10 |   test('page loads with splash or redirects to hub', async ({ page }) => {\n> 11 |     await page.goto(BASE_URL);\n     |                ^\n  12 |     // Either shows splash screen or redirects to hub (unauthenticated)\n  13 |     const url = page.url();\n  14 |     const isHub = url.includes('/hub/') || url.includes('/vehicle/');\n    at /var/www/360lm/tests/vehicle.spec.js:11:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:46:14.971Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-9fee8--splash-or-redirects-to-hub-android-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-9fee8--splash-or-redirects-to-hub-android-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 11
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-5a7e6d7abcf3e7a25ef6",
              "file": "vehicle.spec.js",
              "line": 10,
              "column": 3
            },
            {
              "title": "SW registered and manifest present",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 2,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 375,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/manifest.json\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/manifest.json\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/manifest.json\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/manifest.json\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:19:37",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 37,
                          "line": 19
                        },
                        "snippet": "  17 |\n  18 |   test('SW registered and manifest present', async ({ page }) => {\n> 19 |     const manifestResp = await page.goto(BASE_URL + 'manifest.json');\n     |                                     ^\n  20 |     expect(manifestResp?.status()).toBe(200);\n  21 |   });\n  22 | });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 37,
                            "line": 19
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/manifest.json\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/manifest.json\", waiting until \"load\"\u001b[22m\n\n\n  17 |\n  18 |   test('SW registered and manifest present', async ({ page }) => {\n> 19 |     const manifestResp = await page.goto(BASE_URL + 'manifest.json');\n     |                                     ^\n  20 |     expect(manifestResp?.status()).toBe(200);\n  21 |   });\n  22 | });\n    at /var/www/360lm/tests/vehicle.spec.js:19:37"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:46:16.436Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-a023f-stered-and-manifest-present-android-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-a023f-stered-and-manifest-present-android-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 37,
                        "line": 19
                      }
                    },
                    {
                      "workerIndex": 3,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 345,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/manifest.json\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/manifest.json\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/manifest.json\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/manifest.json\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:19:37",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 37,
                          "line": 19
                        },
                        "snippet": "  17 |\n  18 |   test('SW registered and manifest present', async ({ page }) => {\n> 19 |     const manifestResp = await page.goto(BASE_URL + 'manifest.json');\n     |                                     ^\n  20 |     expect(manifestResp?.status()).toBe(200);\n  21 |   });\n  22 | });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 37,
                            "line": 19
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/manifest.json\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/manifest.json\", waiting until \"load\"\u001b[22m\n\n\n  17 |\n  18 |   test('SW registered and manifest present', async ({ page }) => {\n> 19 |     const manifestResp = await page.goto(BASE_URL + 'manifest.json');\n     |                                     ^\n  20 |     expect(manifestResp?.status()).toBe(200);\n  21 |   });\n  22 | });\n    at /var/www/360lm/tests/vehicle.spec.js:19:37"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:46:18.022Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-a023f-stered-and-manifest-present-android-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-a023f-stered-and-manifest-present-android-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 37,
                        "line": 19
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-22d7c7469d6711054f32",
              "file": "vehicle.spec.js",
              "line": 18,
              "column": 3
            },
            {
              "title": "page loads with splash or redirects to hub",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 14,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 466,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:11:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 11
                        },
                        "snippet": "   9 | test.describe(`${PWA_NAME} — Smoke`, () => {\n  10 |   test('page loads with splash or redirects to hub', async ({ page }) => {\n> 11 |     await page.goto(BASE_URL);\n     |                ^\n  12 |     // Either shows splash screen or redirects to hub (unauthenticated)\n  13 |     const url = page.url();\n  14 |     const isHub = url.includes('/hub/') || url.includes('/vehicle/');"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 11
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n   9 | test.describe(`${PWA_NAME} — Smoke`, () => {\n  10 |   test('page loads with splash or redirects to hub', async ({ page }) => {\n> 11 |     await page.goto(BASE_URL);\n     |                ^\n  12 |     // Either shows splash screen or redirects to hub (unauthenticated)\n  13 |     const url = page.url();\n  14 |     const isHub = url.includes('/hub/') || url.includes('/vehicle/');\n    at /var/www/360lm/tests/vehicle.spec.js:11:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:46:35.050Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-9fee8--splash-or-redirects-to-hub-desktop-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-9fee8--splash-or-redirects-to-hub-desktop-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 11
                      }
                    },
                    {
                      "workerIndex": 15,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 358,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:11:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 11
                        },
                        "snippet": "   9 | test.describe(`${PWA_NAME} — Smoke`, () => {\n  10 |   test('page loads with splash or redirects to hub', async ({ page }) => {\n> 11 |     await page.goto(BASE_URL);\n     |                ^\n  12 |     // Either shows splash screen or redirects to hub (unauthenticated)\n  13 |     const url = page.url();\n  14 |     const isHub = url.includes('/hub/') || url.includes('/vehicle/');"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 11
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n   9 | test.describe(`${PWA_NAME} — Smoke`, () => {\n  10 |   test('page loads with splash or redirects to hub', async ({ page }) => {\n> 11 |     await page.goto(BASE_URL);\n     |                ^\n  12 |     // Either shows splash screen or redirects to hub (unauthenticated)\n  13 |     const url = page.url();\n  14 |     const isHub = url.includes('/hub/') || url.includes('/vehicle/');\n    at /var/www/360lm/tests/vehicle.spec.js:11:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:46:37.060Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-9fee8--splash-or-redirects-to-hub-desktop-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-9fee8--splash-or-redirects-to-hub-desktop-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 11
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-25bcd16fb613013e9883",
              "file": "vehicle.spec.js",
              "line": 10,
              "column": 3
            },
            {
              "title": "SW registered and manifest present",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 16,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 462,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/manifest.json\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/manifest.json\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/manifest.json\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/manifest.json\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:19:37",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 37,
                          "line": 19
                        },
                        "snippet": "  17 |\n  18 |   test('SW registered and manifest present', async ({ page }) => {\n> 19 |     const manifestResp = await page.goto(BASE_URL + 'manifest.json');\n     |                                     ^\n  20 |     expect(manifestResp?.status()).toBe(200);\n  21 |   });\n  22 | });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 37,
                            "line": 19
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/manifest.json\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/manifest.json\", waiting until \"load\"\u001b[22m\n\n\n  17 |\n  18 |   test('SW registered and manifest present', async ({ page }) => {\n> 19 |     const manifestResp = await page.goto(BASE_URL + 'manifest.json');\n     |                                     ^\n  20 |     expect(manifestResp?.status()).toBe(200);\n  21 |   });\n  22 | });\n    at /var/www/360lm/tests/vehicle.spec.js:19:37"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:46:38.630Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-a023f-stered-and-manifest-present-desktop-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-a023f-stered-and-manifest-present-desktop-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 37,
                        "line": 19
                      }
                    },
                    {
                      "workerIndex": 17,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 874,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/manifest.json\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/manifest.json\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/manifest.json\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/manifest.json\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:19:37",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 37,
                          "line": 19
                        },
                        "snippet": "  17 |\n  18 |   test('SW registered and manifest present', async ({ page }) => {\n> 19 |     const manifestResp = await page.goto(BASE_URL + 'manifest.json');\n     |                                     ^\n  20 |     expect(manifestResp?.status()).toBe(200);\n  21 |   });\n  22 | });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 37,
                            "line": 19
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/manifest.json\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/manifest.json\", waiting until \"load\"\u001b[22m\n\n\n  17 |\n  18 |   test('SW registered and manifest present', async ({ page }) => {\n> 19 |     const manifestResp = await page.goto(BASE_URL + 'manifest.json');\n     |                                     ^\n  20 |     expect(manifestResp?.status()).toBe(200);\n  21 |   });\n  22 | });\n    at /var/www/360lm/tests/vehicle.spec.js:19:37"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:46:40.947Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-a023f-stered-and-manifest-present-desktop-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Smok-a023f-stered-and-manifest-present-desktop-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 37,
                        "line": 19
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-c624b8094eeebcf008f3",
              "file": "vehicle.spec.js",
              "line": 18,
              "column": 3
            }
          ]
        },
        {
          "title": "Vehicle Log — Unauthenticated",
          "file": "vehicle.spec.js",
          "line": 24,
          "column": 6,
          "specs": [
            {
              "title": "login screen shows employee selector and PIN pad",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 4,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 349,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:27:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 27
                        },
                        "snippet": "  25 |   test('login screen shows employee selector and PIN pad', async ({ page }) => {\n  26 |     // Clear session to force login screen\n> 27 |     await page.goto(BASE_URL);\n     |                ^\n  28 |     await page.evaluate(() => localStorage.removeItem('lm360-session'));\n  29 |     await page.reload();\n  30 |     // Should show login or redirect"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 27
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  25 |   test('login screen shows employee selector and PIN pad', async ({ page }) => {\n  26 |     // Clear session to force login screen\n> 27 |     await page.goto(BASE_URL);\n     |                ^\n  28 |     await page.evaluate(() => localStorage.removeItem('lm360-session'));\n  29 |     await page.reload();\n  30 |     // Should show login or redirect\n    at /var/www/360lm/tests/vehicle.spec.js:27:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:46:19.528Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Unau-62231-ployee-selector-and-PIN-pad-android-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Unau-62231-ployee-selector-and-PIN-pad-android-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 27
                      }
                    },
                    {
                      "workerIndex": 5,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 361,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:27:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 27
                        },
                        "snippet": "  25 |   test('login screen shows employee selector and PIN pad', async ({ page }) => {\n  26 |     // Clear session to force login screen\n> 27 |     await page.goto(BASE_URL);\n     |                ^\n  28 |     await page.evaluate(() => localStorage.removeItem('lm360-session'));\n  29 |     await page.reload();\n  30 |     // Should show login or redirect"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 27
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  25 |   test('login screen shows employee selector and PIN pad', async ({ page }) => {\n  26 |     // Clear session to force login screen\n> 27 |     await page.goto(BASE_URL);\n     |                ^\n  28 |     await page.evaluate(() => localStorage.removeItem('lm360-session'));\n  29 |     await page.reload();\n  30 |     // Should show login or redirect\n    at /var/www/360lm/tests/vehicle.spec.js:27:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:46:21.058Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Unau-62231-ployee-selector-and-PIN-pad-android-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Unau-62231-ployee-selector-and-PIN-pad-android-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 27
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-97483cb2b59cbb12231c",
              "file": "vehicle.spec.js",
              "line": 25,
              "column": 3
            },
            {
              "title": "login screen shows employee selector and PIN pad",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 18,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 2224,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:27:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 27
                        },
                        "snippet": "  25 |   test('login screen shows employee selector and PIN pad', async ({ page }) => {\n  26 |     // Clear session to force login screen\n> 27 |     await page.goto(BASE_URL);\n     |                ^\n  28 |     await page.evaluate(() => localStorage.removeItem('lm360-session'));\n  29 |     await page.reload();\n  30 |     // Should show login or redirect"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 27
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  25 |   test('login screen shows employee selector and PIN pad', async ({ page }) => {\n  26 |     // Clear session to force login screen\n> 27 |     await page.goto(BASE_URL);\n     |                ^\n  28 |     await page.evaluate(() => localStorage.removeItem('lm360-session'));\n  29 |     await page.reload();\n  30 |     // Should show login or redirect\n    at /var/www/360lm/tests/vehicle.spec.js:27:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:46:44.891Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Unau-62231-ployee-selector-and-PIN-pad-desktop-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Unau-62231-ployee-selector-and-PIN-pad-desktop-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 27
                      }
                    },
                    {
                      "workerIndex": 19,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 803,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:27:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 27
                        },
                        "snippet": "  25 |   test('login screen shows employee selector and PIN pad', async ({ page }) => {\n  26 |     // Clear session to force login screen\n> 27 |     await page.goto(BASE_URL);\n     |                ^\n  28 |     await page.evaluate(() => localStorage.removeItem('lm360-session'));\n  29 |     await page.reload();\n  30 |     // Should show login or redirect"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 27
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  25 |   test('login screen shows employee selector and PIN pad', async ({ page }) => {\n  26 |     // Clear session to force login screen\n> 27 |     await page.goto(BASE_URL);\n     |                ^\n  28 |     await page.evaluate(() => localStorage.removeItem('lm360-session'));\n  29 |     await page.reload();\n  30 |     // Should show login or redirect\n    at /var/www/360lm/tests/vehicle.spec.js:27:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:46:49.512Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Unau-62231-ployee-selector-and-PIN-pad-desktop-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Unau-62231-ployee-selector-and-PIN-pad-desktop-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 27
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-3e1f06ee513a33c4a08b",
              "file": "vehicle.spec.js",
              "line": 25,
              "column": 3
            }
          ]
        },
        {
          "title": "Vehicle Log — Edit & Delegation UI",
          "file": "vehicle.spec.js",
          "line": 38,
          "column": 6,
          "specs": [
            {
              "title": "edit modal elements exist in DOM",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 6,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 360,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:40:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 40
                        },
                        "snippet": "  38 | test.describe(`${PWA_NAME} — Edit & Delegation UI`, () => {\n  39 |   test('edit modal elements exist in DOM', async ({ page }) => {\n> 40 |     await page.goto(BASE_URL);\n     |                ^\n  41 |     // Even without login the modal HTML should be in the DOM\n  42 |     const editModal = page.locator('#modal-edit-entry');\n  43 |     await expect(editModal).toBeAttached();"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 40
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  38 | test.describe(`${PWA_NAME} — Edit & Delegation UI`, () => {\n  39 |   test('edit modal elements exist in DOM', async ({ page }) => {\n> 40 |     await page.goto(BASE_URL);\n     |                ^\n  41 |     // Even without login the modal HTML should be in the DOM\n  42 |     const editModal = page.locator('#modal-edit-entry');\n  43 |     await expect(editModal).toBeAttached();\n    at /var/www/360lm/tests/vehicle.spec.js:40:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:46:22.525Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-368db-modal-elements-exist-in-DOM-android-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-368db-modal-elements-exist-in-DOM-android-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 40
                      }
                    },
                    {
                      "workerIndex": 7,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 333,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:40:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 40
                        },
                        "snippet": "  38 | test.describe(`${PWA_NAME} — Edit & Delegation UI`, () => {\n  39 |   test('edit modal elements exist in DOM', async ({ page }) => {\n> 40 |     await page.goto(BASE_URL);\n     |                ^\n  41 |     // Even without login the modal HTML should be in the DOM\n  42 |     const editModal = page.locator('#modal-edit-entry');\n  43 |     await expect(editModal).toBeAttached();"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 40
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  38 | test.describe(`${PWA_NAME} — Edit & Delegation UI`, () => {\n  39 |   test('edit modal elements exist in DOM', async ({ page }) => {\n> 40 |     await page.goto(BASE_URL);\n     |                ^\n  41 |     // Even without login the modal HTML should be in the DOM\n  42 |     const editModal = page.locator('#modal-edit-entry');\n  43 |     await expect(editModal).toBeAttached();\n    at /var/www/360lm/tests/vehicle.spec.js:40:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:46:24.232Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-368db-modal-elements-exist-in-DOM-android-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-368db-modal-elements-exist-in-DOM-android-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 40
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-2cd65b9089caa2754303",
              "file": "vehicle.spec.js",
              "line": 39,
              "column": 3
            },
            {
              "title": "delegation modal elements exist in DOM",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 8,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 369,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:47:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 47
                        },
                        "snippet": "  45 |\n  46 |   test('delegation modal elements exist in DOM', async ({ page }) => {\n> 47 |     await page.goto(BASE_URL);\n     |                ^\n  48 |     const delegateModal = page.locator('#modal-delegate');\n  49 |     await expect(delegateModal).toBeAttached();\n  50 |   });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 47
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  45 |\n  46 |   test('delegation modal elements exist in DOM', async ({ page }) => {\n> 47 |     await page.goto(BASE_URL);\n     |                ^\n  48 |     const delegateModal = page.locator('#modal-delegate');\n  49 |     await expect(delegateModal).toBeAttached();\n  50 |   });\n    at /var/www/360lm/tests/vehicle.spec.js:47:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:46:25.834Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-34bfa-modal-elements-exist-in-DOM-android-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-34bfa-modal-elements-exist-in-DOM-android-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 47
                      }
                    },
                    {
                      "workerIndex": 9,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 390,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:47:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 47
                        },
                        "snippet": "  45 |\n  46 |   test('delegation modal elements exist in DOM', async ({ page }) => {\n> 47 |     await page.goto(BASE_URL);\n     |                ^\n  48 |     const delegateModal = page.locator('#modal-delegate');\n  49 |     await expect(delegateModal).toBeAttached();\n  50 |   });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 47
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  45 |\n  46 |   test('delegation modal elements exist in DOM', async ({ page }) => {\n> 47 |     await page.goto(BASE_URL);\n     |                ^\n  48 |     const delegateModal = page.locator('#modal-delegate');\n  49 |     await expect(delegateModal).toBeAttached();\n  50 |   });\n    at /var/www/360lm/tests/vehicle.spec.js:47:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:46:27.312Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-34bfa-modal-elements-exist-in-DOM-android-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-34bfa-modal-elements-exist-in-DOM-android-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 47
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-d22702c730c29399d708",
              "file": "vehicle.spec.js",
              "line": 46,
              "column": 3
            },
            {
              "title": "edit-log screen exists in DOM",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 10,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 403,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:53:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 53
                        },
                        "snippet": "  51 |\n  52 |   test('edit-log screen exists in DOM', async ({ page }) => {\n> 53 |     await page.goto(BASE_URL);\n     |                ^\n  54 |     const editLog = page.locator('#screen-edit-log');\n  55 |     await expect(editLog).toBeAttached();\n  56 |   });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 53
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  51 |\n  52 |   test('edit-log screen exists in DOM', async ({ page }) => {\n> 53 |     await page.goto(BASE_URL);\n     |                ^\n  54 |     const editLog = page.locator('#screen-edit-log');\n  55 |     await expect(editLog).toBeAttached();\n  56 |   });\n    at /var/www/360lm/tests/vehicle.spec.js:53:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:46:28.899Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-76bdf-it-log-screen-exists-in-DOM-android-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-76bdf-it-log-screen-exists-in-DOM-android-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 53
                      }
                    },
                    {
                      "workerIndex": 11,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 300,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:53:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 53
                        },
                        "snippet": "  51 |\n  52 |   test('edit-log screen exists in DOM', async ({ page }) => {\n> 53 |     await page.goto(BASE_URL);\n     |                ^\n  54 |     const editLog = page.locator('#screen-edit-log');\n  55 |     await expect(editLog).toBeAttached();\n  56 |   });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 53
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  51 |\n  52 |   test('edit-log screen exists in DOM', async ({ page }) => {\n> 53 |     await page.goto(BASE_URL);\n     |                ^\n  54 |     const editLog = page.locator('#screen-edit-log');\n  55 |     await expect(editLog).toBeAttached();\n  56 |   });\n    at /var/www/360lm/tests/vehicle.spec.js:53:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:46:30.487Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-76bdf-it-log-screen-exists-in-DOM-android-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-76bdf-it-log-screen-exists-in-DOM-android-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 53
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-bbea803ce82985049b5a",
              "file": "vehicle.spec.js",
              "line": 52,
              "column": 3
            },
            {
              "title": "pin pad for edit modal exists",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "android-chrome",
                  "projectName": "android-chrome",
                  "results": [
                    {
                      "workerIndex": 12,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 341,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:59:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 59
                        },
                        "snippet": "  57 |\n  58 |   test('pin pad for edit modal exists', async ({ page }) => {\n> 59 |     await page.goto(BASE_URL);\n     |                ^\n  60 |     const pinPad = page.locator('#edit-pin-pad');\n  61 |     await expect(pinPad).toBeAttached();\n  62 |   });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 59
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  57 |\n  58 |   test('pin pad for edit modal exists', async ({ page }) => {\n> 59 |     await page.goto(BASE_URL);\n     |                ^\n  60 |     const pinPad = page.locator('#edit-pin-pad');\n  61 |     await expect(pinPad).toBeAttached();\n  62 |   });\n    at /var/www/360lm/tests/vehicle.spec.js:59:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:46:31.925Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-6a00e-n-pad-for-edit-modal-exists-android-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-6a00e-n-pad-for-edit-modal-exists-android-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 59
                      }
                    },
                    {
                      "workerIndex": 13,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 410,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:59:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 59
                        },
                        "snippet": "  57 |\n  58 |   test('pin pad for edit modal exists', async ({ page }) => {\n> 59 |     await page.goto(BASE_URL);\n     |                ^\n  60 |     const pinPad = page.locator('#edit-pin-pad');\n  61 |     await expect(pinPad).toBeAttached();\n  62 |   });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 59
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  57 |\n  58 |   test('pin pad for edit modal exists', async ({ page }) => {\n> 59 |     await page.goto(BASE_URL);\n     |                ^\n  60 |     const pinPad = page.locator('#edit-pin-pad');\n  61 |     await expect(pinPad).toBeAttached();\n  62 |   });\n    at /var/www/360lm/tests/vehicle.spec.js:59:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:46:33.441Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-6a00e-n-pad-for-edit-modal-exists-android-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-6a00e-n-pad-for-edit-modal-exists-android-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 59
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-05b820b8d089238d5302",
              "file": "vehicle.spec.js",
              "line": 58,
              "column": 3
            },
            {
              "title": "edit modal elements exist in DOM",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 20,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 498,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:40:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 40
                        },
                        "snippet": "  38 | test.describe(`${PWA_NAME} — Edit & Delegation UI`, () => {\n  39 |   test('edit modal elements exist in DOM', async ({ page }) => {\n> 40 |     await page.goto(BASE_URL);\n     |                ^\n  41 |     // Even without login the modal HTML should be in the DOM\n  42 |     const editModal = page.locator('#modal-edit-entry');\n  43 |     await expect(editModal).toBeAttached();"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 40
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  38 | test.describe(`${PWA_NAME} — Edit & Delegation UI`, () => {\n  39 |   test('edit modal elements exist in DOM', async ({ page }) => {\n> 40 |     await page.goto(BASE_URL);\n     |                ^\n  41 |     // Even without login the modal HTML should be in the DOM\n  42 |     const editModal = page.locator('#modal-edit-entry');\n  43 |     await expect(editModal).toBeAttached();\n    at /var/www/360lm/tests/vehicle.spec.js:40:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:46:52.055Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-368db-modal-elements-exist-in-DOM-desktop-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-368db-modal-elements-exist-in-DOM-desktop-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 40
                      }
                    },
                    {
                      "workerIndex": 21,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 499,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:40:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 40
                        },
                        "snippet": "  38 | test.describe(`${PWA_NAME} — Edit & Delegation UI`, () => {\n  39 |   test('edit modal elements exist in DOM', async ({ page }) => {\n> 40 |     await page.goto(BASE_URL);\n     |                ^\n  41 |     // Even without login the modal HTML should be in the DOM\n  42 |     const editModal = page.locator('#modal-edit-entry');\n  43 |     await expect(editModal).toBeAttached();"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 40
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  38 | test.describe(`${PWA_NAME} — Edit & Delegation UI`, () => {\n  39 |   test('edit modal elements exist in DOM', async ({ page }) => {\n> 40 |     await page.goto(BASE_URL);\n     |                ^\n  41 |     // Even without login the modal HTML should be in the DOM\n  42 |     const editModal = page.locator('#modal-edit-entry');\n  43 |     await expect(editModal).toBeAttached();\n    at /var/www/360lm/tests/vehicle.spec.js:40:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:46:54.256Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-368db-modal-elements-exist-in-DOM-desktop-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-368db-modal-elements-exist-in-DOM-desktop-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 40
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-8a0facaceeb17c7808a3",
              "file": "vehicle.spec.js",
              "line": 39,
              "column": 3
            },
            {
              "title": "delegation modal elements exist in DOM",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 22,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 676,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:47:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 47
                        },
                        "snippet": "  45 |\n  46 |   test('delegation modal elements exist in DOM', async ({ page }) => {\n> 47 |     await page.goto(BASE_URL);\n     |                ^\n  48 |     const delegateModal = page.locator('#modal-delegate');\n  49 |     await expect(delegateModal).toBeAttached();\n  50 |   });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 47
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  45 |\n  46 |   test('delegation modal elements exist in DOM', async ({ page }) => {\n> 47 |     await page.goto(BASE_URL);\n     |                ^\n  48 |     const delegateModal = page.locator('#modal-delegate');\n  49 |     await expect(delegateModal).toBeAttached();\n  50 |   });\n    at /var/www/360lm/tests/vehicle.spec.js:47:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:46:56.428Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-34bfa-modal-elements-exist-in-DOM-desktop-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-34bfa-modal-elements-exist-in-DOM-desktop-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 47
                      }
                    },
                    {
                      "workerIndex": 23,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 654,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:47:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 47
                        },
                        "snippet": "  45 |\n  46 |   test('delegation modal elements exist in DOM', async ({ page }) => {\n> 47 |     await page.goto(BASE_URL);\n     |                ^\n  48 |     const delegateModal = page.locator('#modal-delegate');\n  49 |     await expect(delegateModal).toBeAttached();\n  50 |   });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 47
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  45 |\n  46 |   test('delegation modal elements exist in DOM', async ({ page }) => {\n> 47 |     await page.goto(BASE_URL);\n     |                ^\n  48 |     const delegateModal = page.locator('#modal-delegate');\n  49 |     await expect(delegateModal).toBeAttached();\n  50 |   });\n    at /var/www/360lm/tests/vehicle.spec.js:47:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:46:58.658Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-34bfa-modal-elements-exist-in-DOM-desktop-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-34bfa-modal-elements-exist-in-DOM-desktop-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 47
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-a8d8b329bce653d131cd",
              "file": "vehicle.spec.js",
              "line": 46,
              "column": 3
            },
            {
              "title": "edit-log screen exists in DOM",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 24,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 656,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:53:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 53
                        },
                        "snippet": "  51 |\n  52 |   test('edit-log screen exists in DOM', async ({ page }) => {\n> 53 |     await page.goto(BASE_URL);\n     |                ^\n  54 |     const editLog = page.locator('#screen-edit-log');\n  55 |     await expect(editLog).toBeAttached();\n  56 |   });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 53
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  51 |\n  52 |   test('edit-log screen exists in DOM', async ({ page }) => {\n> 53 |     await page.goto(BASE_URL);\n     |                ^\n  54 |     const editLog = page.locator('#screen-edit-log');\n  55 |     await expect(editLog).toBeAttached();\n  56 |   });\n    at /var/www/360lm/tests/vehicle.spec.js:53:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:47:01.185Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-76bdf-it-log-screen-exists-in-DOM-desktop-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-76bdf-it-log-screen-exists-in-DOM-desktop-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 53
                      }
                    },
                    {
                      "workerIndex": 25,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 481,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:53:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 53
                        },
                        "snippet": "  51 |\n  52 |   test('edit-log screen exists in DOM', async ({ page }) => {\n> 53 |     await page.goto(BASE_URL);\n     |                ^\n  54 |     const editLog = page.locator('#screen-edit-log');\n  55 |     await expect(editLog).toBeAttached();\n  56 |   });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 53
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  51 |\n  52 |   test('edit-log screen exists in DOM', async ({ page }) => {\n> 53 |     await page.goto(BASE_URL);\n     |                ^\n  54 |     const editLog = page.locator('#screen-edit-log');\n  55 |     await expect(editLog).toBeAttached();\n  56 |   });\n    at /var/www/360lm/tests/vehicle.spec.js:53:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:47:04.102Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-76bdf-it-log-screen-exists-in-DOM-desktop-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-76bdf-it-log-screen-exists-in-DOM-desktop-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 53
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-520393d36fec0e182019",
              "file": "vehicle.spec.js",
              "line": 52,
              "column": 3
            },
            {
              "title": "pin pad for edit modal exists",
              "ok": false,
              "tags": [],
              "tests": [
                {
                  "timeout": 30000,
                  "annotations": [],
                  "expectedStatus": "passed",
                  "projectId": "desktop-chrome",
                  "projectName": "desktop-chrome",
                  "results": [
                    {
                      "workerIndex": 26,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 557,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:59:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 59
                        },
                        "snippet": "  57 |\n  58 |   test('pin pad for edit modal exists', async ({ page }) => {\n> 59 |     await page.goto(BASE_URL);\n     |                ^\n  60 |     const pinPad = page.locator('#edit-pin-pad');\n  61 |     await expect(pinPad).toBeAttached();\n  62 |   });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 59
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  57 |\n  58 |   test('pin pad for edit modal exists', async ({ page }) => {\n> 59 |     await page.goto(BASE_URL);\n     |                ^\n  60 |     const pinPad = page.locator('#edit-pin-pad');\n  61 |     await expect(pinPad).toBeAttached();\n  62 |   });\n    at /var/www/360lm/tests/vehicle.spec.js:59:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 0,
                      "startTime": "2026-05-21T05:47:06.523Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-6a00e-n-pad-for-edit-modal-exists-desktop-chrome/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-6a00e-n-pad-for-edit-modal-exists-desktop-chrome/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 59
                      }
                    },
                    {
                      "workerIndex": 27,
                      "parallelIndex": 0,
                      "status": "failed",
                      "duration": 569,
                      "error": {
                        "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n",
                        "stack": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n    at /var/www/360lm/tests/vehicle.spec.js:59:16",
                        "location": {
                          "file": "/var/www/360lm/tests/vehicle.spec.js",
                          "column": 16,
                          "line": 59
                        },
                        "snippet": "  57 |\n  58 |   test('pin pad for edit modal exists', async ({ page }) => {\n> 59 |     await page.goto(BASE_URL);\n     |                ^\n  60 |     const pinPad = page.locator('#edit-pin-pad');\n  61 |     await expect(pinPad).toBeAttached();\n  62 |   });"
                      },
                      "errors": [
                        {
                          "location": {
                            "file": "/var/www/360lm/tests/vehicle.spec.js",
                            "column": 16,
                            "line": 59
                          },
                          "message": "Error: page.goto: net::ERR_NAME_NOT_RESOLVED at https://360lm.co.in/vehicle/\nCall log:\n\u001b[2m  - navigating to \"https://360lm.co.in/vehicle/\", waiting until \"load\"\u001b[22m\n\n\n  57 |\n  58 |   test('pin pad for edit modal exists', async ({ page }) => {\n> 59 |     await page.goto(BASE_URL);\n     |                ^\n  60 |     const pinPad = page.locator('#edit-pin-pad');\n  61 |     await expect(pinPad).toBeAttached();\n  62 |   });\n    at /var/www/360lm/tests/vehicle.spec.js:59:16"
                        }
                      ],
                      "stdout": [],
                      "stderr": [],
                      "retry": 1,
                      "startTime": "2026-05-21T05:47:09.308Z",
                      "annotations": [],
                      "attachments": [
                        {
                          "name": "screenshot",
                          "contentType": "image/png",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-6a00e-n-pad-for-edit-modal-exists-desktop-chrome-retry1/test-failed-1.png"
                        },
                        {
                          "name": "error-context",
                          "contentType": "text/markdown",
                          "path": "/var/www/360lm/test-results/vehicle-Vehicle-Log-—-Edit-6a00e-n-pad-for-edit-modal-exists-desktop-chrome-retry1/error-context.md"
                        }
                      ],
                      "errorLocation": {
                        "file": "/var/www/360lm/tests/vehicle.spec.js",
                        "column": 16,
                        "line": 59
                      }
                    }
                  ],
                  "status": "unexpected"
                }
              ],
              "id": "084e7535606ab6e45f08-9c39e258fb9bee92173d",
              "file": "vehicle.spec.js",
              "line": 58,
              "column": 3
            }
          ]
        }
      ]
    }
  ],
  "errors": [],
  "stats": {
    "startTime": "2026-05-21T05:46:10.620Z",
    "duration": 59647.606999999996,
    "expected": 0,
    "skipped": 0,
    "unexpected": 14,
    "flaky": 0
  }
}
