{
  "config": {
    "argv": [
      "/usr/bin/node",
      "/builds/at-kinnovis/quality-assurance/qa-automation/node_modules/.bin/playwright",
      "test"
    ],
    "configFile": "/builds/at-kinnovis/quality-assurance/qa-automation/playwright.config.ts",
    "rootDir": "/builds/at-kinnovis/quality-assurance/qa-automation",
    "failOnFlakyTests": false,
    "forbidOnly": true,
    "fullyParallel": true,
    "globalSetup": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/global-setup.ts",
    "globalTeardown": null,
    "globalTimeout": 0,
    "grep": {},
    "grepInvert": null,
    "maxFailures": 0,
    "metadata": {
      "ci": {
        "commitHref": "https://gitlab.com/at-kinnovis/quality-assurance/qa-automation/-/commit/651696c4b3063735719283de9d7eea201039a92a",
        "commitHash": "651696c4b3063735719283de9d7eea201039a92a",
        "buildHref": "https://gitlab.com/at-kinnovis/quality-assurance/qa-automation/-/jobs/15925866077",
        "branch": "test"
      },
      "gitCommit": {
        "shortHash": "651696c4",
        "hash": "651696c4b3063735719283de9d7eea201039a92a",
        "subject": "Merge branch 'feature/KIN-5118-e2e-booking-adjust-movein-date' into 'test'",
        "body": "Merge branch 'feature/KIN-5118-e2e-booking-adjust-movein-date' into 'test'\n\nKIN-5118: Add e2e test coverage for booking adjust move-in date feature\n\nSee merge request at-kinnovis/quality-assurance/qa-automation!509",
        "author": {
          "name": "Kevin Uterlutsch",
          "email": "kevin.uterlutsch@kinnovis.com",
          "time": 1786709573000
        },
        "committer": {
          "name": "Kevin Uterlutsch",
          "email": "kevin.uterlutsch@kinnovis.com",
          "time": 1786709573000
        },
        "branch": "HEAD"
      },
      "actualWorkers": 5
    },
    "preserveOutput": "always",
    "projects": [
      {
        "outputDir": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets",
        "repeatEach": 1,
        "retries": 0,
        "metadata": {
          "ci": {
            "commitHref": "https://gitlab.com/at-kinnovis/quality-assurance/qa-automation/-/commit/651696c4b3063735719283de9d7eea201039a92a",
            "commitHash": "651696c4b3063735719283de9d7eea201039a92a",
            "buildHref": "https://gitlab.com/at-kinnovis/quality-assurance/qa-automation/-/jobs/15925866077",
            "branch": "test"
          },
          "gitCommit": {
            "shortHash": "651696c4",
            "hash": "651696c4b3063735719283de9d7eea201039a92a",
            "subject": "Merge branch 'feature/KIN-5118-e2e-booking-adjust-movein-date' into 'test'",
            "body": "Merge branch 'feature/KIN-5118-e2e-booking-adjust-movein-date' into 'test'\n\nKIN-5118: Add e2e test coverage for booking adjust move-in date feature\n\nSee merge request at-kinnovis/quality-assurance/qa-automation!509",
            "author": {
              "name": "Kevin Uterlutsch",
              "email": "kevin.uterlutsch@kinnovis.com",
              "time": 1786709573000
            },
            "committer": {
              "name": "Kevin Uterlutsch",
              "email": "kevin.uterlutsch@kinnovis.com",
              "time": 1786709573000
            },
            "branch": "HEAD"
          },
          "actualWorkers": 5
        },
        "id": "manager-setup",
        "name": "manager-setup",
        "testDir": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/setup",
        "testIgnore": [],
        "testMatch": [
          "**/*.@(spec|test).?(c|m)[jt]s?(x)"
        ],
        "timeout": 90000
      },
      {
        "outputDir": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets",
        "repeatEach": 1,
        "retries": 0,
        "metadata": {
          "ci": {
            "commitHref": "https://gitlab.com/at-kinnovis/quality-assurance/qa-automation/-/commit/651696c4b3063735719283de9d7eea201039a92a",
            "commitHash": "651696c4b3063735719283de9d7eea201039a92a",
            "buildHref": "https://gitlab.com/at-kinnovis/quality-assurance/qa-automation/-/jobs/15925866077",
            "branch": "test"
          },
          "gitCommit": {
            "shortHash": "651696c4",
            "hash": "651696c4b3063735719283de9d7eea201039a92a",
            "subject": "Merge branch 'feature/KIN-5118-e2e-booking-adjust-movein-date' into 'test'",
            "body": "Merge branch 'feature/KIN-5118-e2e-booking-adjust-movein-date' into 'test'\n\nKIN-5118: Add e2e test coverage for booking adjust move-in date feature\n\nSee merge request at-kinnovis/quality-assurance/qa-automation!509",
            "author": {
              "name": "Kevin Uterlutsch",
              "email": "kevin.uterlutsch@kinnovis.com",
              "time": 1786709573000
            },
            "committer": {
              "name": "Kevin Uterlutsch",
              "email": "kevin.uterlutsch@kinnovis.com",
              "time": 1786709573000
            },
            "branch": "HEAD"
          },
          "actualWorkers": 5
        },
        "id": "manager-e2e",
        "name": "manager-e2e",
        "testDir": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e",
        "testIgnore": [],
        "testMatch": [
          "**/*.@(spec|test).?(c|m)[jt]s?(x)"
        ],
        "timeout": 90000
      },
      {
        "outputDir": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets",
        "repeatEach": 1,
        "retries": 0,
        "metadata": {
          "ci": {
            "commitHref": "https://gitlab.com/at-kinnovis/quality-assurance/qa-automation/-/commit/651696c4b3063735719283de9d7eea201039a92a",
            "commitHash": "651696c4b3063735719283de9d7eea201039a92a",
            "buildHref": "https://gitlab.com/at-kinnovis/quality-assurance/qa-automation/-/jobs/15925866077",
            "branch": "test"
          },
          "gitCommit": {
            "shortHash": "651696c4",
            "hash": "651696c4b3063735719283de9d7eea201039a92a",
            "subject": "Merge branch 'feature/KIN-5118-e2e-booking-adjust-movein-date' into 'test'",
            "body": "Merge branch 'feature/KIN-5118-e2e-booking-adjust-movein-date' into 'test'\n\nKIN-5118: Add e2e test coverage for booking adjust move-in date feature\n\nSee merge request at-kinnovis/quality-assurance/qa-automation!509",
            "author": {
              "name": "Kevin Uterlutsch",
              "email": "kevin.uterlutsch@kinnovis.com",
              "time": 1786709573000
            },
            "committer": {
              "name": "Kevin Uterlutsch",
              "email": "kevin.uterlutsch@kinnovis.com",
              "time": 1786709573000
            },
            "branch": "HEAD"
          },
          "actualWorkers": 5
        },
        "id": "desktop-portal-e2e",
        "name": "desktop-portal-e2e",
        "testDir": "/builds/at-kinnovis/quality-assurance/qa-automation/src/portal/tests/e2e",
        "testIgnore": [],
        "testMatch": [
          "**/*.@(spec|test).?(c|m)[jt]s?(x)"
        ],
        "timeout": 90000
      },
      {
        "outputDir": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets",
        "repeatEach": 1,
        "retries": 0,
        "metadata": {
          "ci": {
            "commitHref": "https://gitlab.com/at-kinnovis/quality-assurance/qa-automation/-/commit/651696c4b3063735719283de9d7eea201039a92a",
            "commitHash": "651696c4b3063735719283de9d7eea201039a92a",
            "buildHref": "https://gitlab.com/at-kinnovis/quality-assurance/qa-automation/-/jobs/15925866077",
            "branch": "test"
          },
          "gitCommit": {
            "shortHash": "651696c4",
            "hash": "651696c4b3063735719283de9d7eea201039a92a",
            "subject": "Merge branch 'feature/KIN-5118-e2e-booking-adjust-movein-date' into 'test'",
            "body": "Merge branch 'feature/KIN-5118-e2e-booking-adjust-movein-date' into 'test'\n\nKIN-5118: Add e2e test coverage for booking adjust move-in date feature\n\nSee merge request at-kinnovis/quality-assurance/qa-automation!509",
            "author": {
              "name": "Kevin Uterlutsch",
              "email": "kevin.uterlutsch@kinnovis.com",
              "time": 1786709573000
            },
            "committer": {
              "name": "Kevin Uterlutsch",
              "email": "kevin.uterlutsch@kinnovis.com",
              "time": 1786709573000
            },
            "branch": "HEAD"
          },
          "actualWorkers": 5
        },
        "id": "mobile-portal-e2e",
        "name": "mobile-portal-e2e",
        "testDir": "/builds/at-kinnovis/quality-assurance/qa-automation/src/portal/tests/e2e",
        "testIgnore": [],
        "testMatch": [
          "**/*.@(spec|test).?(c|m)[jt]s?(x)"
        ],
        "timeout": 90000
      }
    ],
    "quiet": false,
    "reporter": [
      [
        "html",
        {
          "outputFolder": "./test-results/reports/html-report"
        }
      ],
      [
        "json",
        {
          "outputFile": "./test-results/reports/results.json"
        }
      ],
      [
        "dot",
        null
      ]
    ],
    "reportSlowTests": {
      "max": 5,
      "threshold": 300000
    },
    "shard": null,
    "tags": [],
    "updateSnapshots": "missing",
    "updateSourceMethod": "patch",
    "version": "1.62.1",
    "workers": 5,
    "webServer": null
  },
  "suites": [
    {
      "title": "src/manager/tests/setup/login-setup.spec.ts",
      "file": "src/manager/tests/setup/login-setup.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "login to manager as admin",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-setup",
              "projectName": "manager-setup",
              "results": [
                {
                  "workerIndex": 0,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 1983,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:15:09.108Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "52519f56e38d51bd3757-8024c771b181475dc9fd",
          "file": "src/manager/tests/setup/login-setup.spec.ts",
          "line": 9,
          "column": 6
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts",
      "file": "src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "postpones the move-in date of a scheduled booking",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 5,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 38880,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  7 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    63 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"7 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  7 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    63 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"7 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:95:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  7 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    63 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"7 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:95:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 535
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4899
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 43
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 336
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 2358
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 25
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30045,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  7 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    63 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"7 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  7 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    63 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"7 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:95:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:17:17.590Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-adjust-mov-b8eaa-date-of-a-scheduled-booking-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-adjust-mov-b8eaa-date-of-a-scheduled-booking-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "68a0b9a9861f1164c498-3b4e784e889accf0be34",
          "file": "src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts",
          "line": 28,
          "column": 7
        },
        {
          "title": "brings the move-in date of a scheduled booking forward",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 10,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 36659,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:95:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:95:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 487
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3108
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 42
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 259
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 2073
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 25
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30026,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:95:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:17:57.060Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-adjust-mov-eb394-a-scheduled-booking-forward-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-adjust-mov-eb394-a-scheduled-booking-forward-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "68a0b9a9861f1164c498-3116c750a7b592f5bb3a",
          "file": "src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts",
          "line": 28,
          "column": 7
        },
        {
          "title": "postpones the move-in date of a scheduled booking on a monthly plan",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 13,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 35829,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  7 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"7 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  7 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"7 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:95:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  7 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"7 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:95:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 444
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2455
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 30
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 54
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 2178
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 55
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30032,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  7 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"7 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  7 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"7 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:95:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:18:34.280Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-adjust-mov-dab82-d-booking-on-a-monthly-plan-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-adjust-mov-dab82-d-booking-on-a-monthly-plan-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "68a0b9a9861f1164c498-0113b4801a299f458491",
          "file": "src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts",
          "line": 28,
          "column": 7
        },
        {
          "title": "adjusts the move-in date of a scheduled booking to today",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 16,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 37664,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:69:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:69:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 422
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2380
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 52
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 4035
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 28
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30031,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:69:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:19:10.634Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-adjust-mov-aa9f1--scheduled-booking-to-today-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-adjust-mov-aa9f1--scheduled-booking-to-today-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "68a0b9a9861f1164c498-a22bb26273caf1f16f06",
          "file": "src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts",
          "line": 28,
          "column": 7
        },
        {
          "title": "backdates the move-in date of a scheduled booking",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 20,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 37840,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:69:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:69:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 562
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2412
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 52
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 3993
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 32
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30026,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:69:44\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:61:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:19:48.917Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-adjust-mov-10604-date-of-a-scheduled-booking-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-adjust-mov-10604-date-of-a-scheduled-booking-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "68a0b9a9861f1164c498-f35badb0e33cb480eefa",
          "file": "src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts",
          "line": 28,
          "column": 7
        },
        {
          "title": "auto-charges the first invoice when the adjusted move-in date activates the booking",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 23,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 46627,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:155:40\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:150:3",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:155:40\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:150:3"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 380
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2590
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "create booking",
                      "duration": 8887
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 3882
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 28
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30025,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:155:40\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts:150:3",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:20:27.329Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-adjust-mov-bffc7--date-activates-the-booking-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-adjust-mov-bffc7--date-activates-the-booking-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "68a0b9a9861f1164c498-d8770fe76a7499ad2bfe",
          "file": "src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts",
          "line": 102,
          "column": 5
        },
        {
          "title": "hides the adjust move-in date action for an active booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4042,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 426
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2784
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 50
                    },
                    {
                      "title": "open the booking action menu",
                      "duration": 348
                    },
                    {
                      "title": "verify the adjust move-in date action is not offered",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-17T02:21:14.686Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68a0b9a9861f1164c498-c8ee2b7430fe6704f3f2",
          "file": "src/manager/tests/e2e/booking/booking-adjust-move-in-date.spec.ts",
          "line": 189,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/booking/booking-cancel-reschedule.spec.ts",
      "file": "src/manager/tests/e2e/booking/booking-cancel-reschedule.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "reschedules the cancellation of an active booking from end of current period to immediately",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 6,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 9439,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 533
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3988
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 42
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 300
                    },
                    {
                      "title": "cancel booking with initial option",
                      "duration": 1891
                    },
                    {
                      "title": "reschedule booking cancellation",
                      "duration": 1556
                    },
                    {
                      "title": "verify booking after reschedule on details page",
                      "duration": 30
                    },
                    {
                      "title": "verify booking after reschedule on list page",
                      "duration": 631
                    }
                  ],
                  "startTime": "2026-08-17T02:17:17.598Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "18996d74d446ca71c7a3-cf8045ae8b221765fa69",
          "file": "src/manager/tests/e2e/booking/booking-cancel-reschedule.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "reschedules the cancellation of an active booking from end of current period to a custom date",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 8145,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 611
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1512
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 42
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 206
                    },
                    {
                      "title": "cancel booking with initial option",
                      "duration": 1959
                    },
                    {
                      "title": "reschedule booking cancellation",
                      "duration": 2586
                    },
                    {
                      "title": "verify booking after reschedule on details page",
                      "duration": 49
                    },
                    {
                      "title": "verify booking after reschedule on list page",
                      "duration": 758
                    }
                  ],
                  "startTime": "2026-08-17T02:17:17.598Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "18996d74d446ca71c7a3-e241d21045e26203aa03",
          "file": "src/manager/tests/e2e/booking/booking-cancel-reschedule.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "reschedules the cancellation of an active booking from a custom date to immediately",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9311,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 756
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2895
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 39
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 277
                    },
                    {
                      "title": "cancel booking with initial option",
                      "duration": 3014
                    },
                    {
                      "title": "reschedule booking cancellation",
                      "duration": 1175
                    },
                    {
                      "title": "verify booking after reschedule on details page",
                      "duration": 24
                    },
                    {
                      "title": "verify booking after reschedule on list page",
                      "duration": 663
                    }
                  ],
                  "startTime": "2026-08-17T02:17:17.594Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "18996d74d446ca71c7a3-090e4db6d786a985ffe4",
          "file": "src/manager/tests/e2e/booking/booking-cancel-reschedule.spec.ts",
          "line": 18,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/booking/booking-cancel-revoke.spec.ts",
      "file": "src/manager/tests/e2e/booking/booking-cancel-revoke.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "revokes the end of period cancellation of an active booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 9,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 8165,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 763
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2069
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 48
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 238
                    },
                    {
                      "title": "cancel booking",
                      "duration": 2017
                    },
                    {
                      "title": "revoke booking cancellation",
                      "duration": 1828
                    },
                    {
                      "title": "verify booking after revoke on details page",
                      "duration": 22
                    },
                    {
                      "title": "verify booking after revoke on list page",
                      "duration": 750
                    }
                  ],
                  "startTime": "2026-08-17T02:17:17.606Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3497ba67794ea869d7c1-3e07cfa9995ea9f02f1a",
          "file": "src/manager/tests/e2e/booking/booking-cancel-revoke.spec.ts",
          "line": 16,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/booking/booking-cancel.spec.ts",
      "file": "src/manager/tests/e2e/booking/booking-cancel.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "cancels an active booking immediately",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5373,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 536
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2248
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 58
                    },
                    {
                      "title": "cancel booking",
                      "duration": 1433
                    },
                    {
                      "title": "verify booking after cancel on details page",
                      "duration": 22
                    },
                    {
                      "title": "verify booking after cancel on list page",
                      "duration": 634
                    }
                  ],
                  "startTime": "2026-08-17T02:17:25.813Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "392d0c32e13040189aef-f188cc6cc812ba6a70f4",
          "file": "src/manager/tests/e2e/booking/booking-cancel.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "cancels an active booking at the end of the current period",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 9,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4371,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 539
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1327
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 64
                    },
                    {
                      "title": "cancel booking",
                      "duration": 1344
                    },
                    {
                      "title": "verify booking after cancel on details page",
                      "duration": 37
                    },
                    {
                      "title": "verify booking after cancel on list page",
                      "duration": 631
                    }
                  ],
                  "startTime": "2026-08-17T02:17:25.831Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "392d0c32e13040189aef-2b5e231ff93ac98da000",
          "file": "src/manager/tests/e2e/booking/booking-cancel.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "cancels an active booking on a custom date",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5875,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 465
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2061
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 122
                    },
                    {
                      "title": "cancel booking",
                      "duration": 2110
                    },
                    {
                      "title": "verify booking after cancel on details page",
                      "duration": 41
                    },
                    {
                      "title": "verify booking after cancel on list page",
                      "duration": 613
                    }
                  ],
                  "startTime": "2026-08-17T02:17:26.963Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "392d0c32e13040189aef-d5b4df7601acf0db5f5a",
          "file": "src/manager/tests/e2e/booking/booking-cancel.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "cancels a scheduled booking immediately",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 6,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 35509,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-header').getByTestId('base-view-header-status-canceled-before-start')\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-header').getByTestId('base-view-header-status-canceled-before-start')\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-header').getByTestId('base-view-header-status-canceled-before-start')\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-header').getByTestId('base-view-header-status-canceled-before-start')\u001b[22m\n\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-cancel.spec.ts:40:72\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-cancel.spec.ts:36:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-cancel.spec.ts",
                      "column": 72,
                      "line": 40
                    },
                    "snippet": "\u001b[0m \u001b[90m 38 |\u001b[39m\n \u001b[90m 39 |\u001b[39m       \u001b[36mif\u001b[39m (oldStatus \u001b[33m===\u001b[39m \u001b[32m'scheduled'\u001b[39m) {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 40 |\u001b[39m         \u001b[36mawait\u001b[39m expect(detailsPageAfterCancel\u001b[33m.\u001b[39mcanceledBeforeStartStatus)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                                                        \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 41 |\u001b[39m       } \u001b[36melse\u001b[39m \u001b[36mif\u001b[39m (oldStatus \u001b[33m===\u001b[39m \u001b[32m'active'\u001b[39m \u001b[33m&&\u001b[39m newStatus \u001b[33m!==\u001b[39m \u001b[32m'cancelled'\u001b[39m) {\n \u001b[90m 42 |\u001b[39m         \u001b[36mawait\u001b[39m expectSingleLocatorToHaveText(detailsPageAfterCancel\u001b[33m.\u001b[39mcancelsOnStatus\u001b[33m,\u001b[39m \u001b[32m`ends on ${moveOutDate}`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 43 |\u001b[39m       }\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-cancel.spec.ts",
                        "column": 72,
                        "line": 40
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-header').getByTestId('base-view-header-status-canceled-before-start')\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-header').getByTestId('base-view-header-status-canceled-before-start')\u001b[22m\n\n\n  38 |\n  39 |       if (oldStatus === 'scheduled') {\n> 40 |         await expect(detailsPageAfterCancel.canceledBeforeStartStatus).toBeVisible();\n     |                                                                        ^\n  41 |       } else if (oldStatus === 'active' && newStatus !== 'cancelled') {\n  42 |         await expectSingleLocatorToHaveText(detailsPageAfterCancel.cancelsOnStatus, `ends on ${moveOutDate}`);\n  43 |       }\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-cancel.spec.ts:40:72\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-cancel.spec.ts:36:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 355
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3059
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 53
                    },
                    {
                      "title": "cancel booking",
                      "duration": 1386
                    },
                    {
                      "title": "verify booking after cancel on details page",
                      "duration": 30024,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-header').getByTestId('base-view-header-status-canceled-before-start')\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-header').getByTestId('base-view-header-status-canceled-before-start')\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-header').getByTestId('base-view-header-status-canceled-before-start')\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-header').getByTestId('base-view-header-status-canceled-before-start')\u001b[22m\n\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-cancel.spec.ts:40:72\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-cancel.spec.ts:36:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-cancel.spec.ts",
                          "column": 72,
                          "line": 40
                        },
                        "snippet": "\u001b[0m \u001b[90m 38 |\u001b[39m\n \u001b[90m 39 |\u001b[39m       \u001b[36mif\u001b[39m (oldStatus \u001b[33m===\u001b[39m \u001b[32m'scheduled'\u001b[39m) {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 40 |\u001b[39m         \u001b[36mawait\u001b[39m expect(detailsPageAfterCancel\u001b[33m.\u001b[39mcanceledBeforeStartStatus)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                                                        \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 41 |\u001b[39m       } \u001b[36melse\u001b[39m \u001b[36mif\u001b[39m (oldStatus \u001b[33m===\u001b[39m \u001b[32m'active'\u001b[39m \u001b[33m&&\u001b[39m newStatus \u001b[33m!==\u001b[39m \u001b[32m'cancelled'\u001b[39m) {\n \u001b[90m 42 |\u001b[39m         \u001b[36mawait\u001b[39m expectSingleLocatorToHaveText(detailsPageAfterCancel\u001b[33m.\u001b[39mcancelsOnStatus\u001b[33m,\u001b[39m \u001b[32m`ends on ${moveOutDate}`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 43 |\u001b[39m       }\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:17:27.104Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-cancel-can-c2fd2-heduled-booking-immediately-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-cancel-can-c2fd2-heduled-booking-immediately-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-cancel.spec.ts",
                    "column": 72,
                    "line": 40
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "392d0c32e13040189aef-ef92ef92d7fff1c3c31e",
          "file": "src/manager/tests/e2e/booking/booking-cancel.spec.ts",
          "line": 18,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/booking/booking-create.spec.ts",
      "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates a booking for a private customer with insurance",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 9,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 40632,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 391
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2437
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2389
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3456
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 340
                    },
                    {
                      "title": "create booking",
                      "duration": 823
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30132,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:17:30.219Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-d7814-ate-customer-with-insurance-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-d7814-ate-customer-with-insurance-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-e33a2ec3888f1764bff3",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking for a business customer",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 12,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 37620,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 391
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2363
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3331
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 60
                    },
                    {
                      "title": "create booking",
                      "duration": 503
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30273,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:18:11.495Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-4b329-ing-for-a-business-customer-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-4b329-ing-for-a-business-customer-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-d658cabc765dc39116c8",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a monthly plan",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 15,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 37403,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  17 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"17 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  17 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"17 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  17 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"17 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 476
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2413
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 32
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3058
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 116
                    },
                    {
                      "title": "create booking",
                      "duration": 476
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30237,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  17 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"17 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  17 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"17 Sep 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:18:49.802Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-creates-a-booking-with-a-monthly-plan-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-creates-a-booking-with-a-monthly-plan-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-111da75238c7f593fac6",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a multi-week plan",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 18,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 37662,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  15 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"15 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  15 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"15 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  15 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"15 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 409
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2589
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 36
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3204
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 63
                    },
                    {
                      "title": "create booking",
                      "duration": 502
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30255,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  15 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"15 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  15 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"15 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:19:27.859Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-a2e31-king-with-a-multi-week-plan-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-a2e31-king-with-a-multi-week-plan-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-0f920a32aef73ae37a35",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a multi-month plan",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 22,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 38131,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  17 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"17 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  17 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"17 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  17 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"17 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 478
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2457
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 36
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3451
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 69
                    },
                    {
                      "title": "create booking",
                      "duration": 814
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30190,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  17 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"17 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  17 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"17 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:20:06.093Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-e7052-ing-with-a-multi-month-plan-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-e7052-ing-with-a-multi-month-plan-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-c8af53859e4cd1a2940f",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a future move-in date",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 25,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 38537,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  27 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"27 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  27 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"27 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  27 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"27 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 379
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3268
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3314
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 65
                    },
                    {
                      "title": "create booking",
                      "duration": 489
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30294,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  27 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"27 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  27 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"27 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:20:44.833Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-0c336--with-a-future-move-in-date-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-0c336--with-a-future-move-in-date-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-c9e7fa2b0a3ebee57c5d",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a note",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 28,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 38318,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 413
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3314
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3165
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 66
                    },
                    {
                      "title": "create booking",
                      "duration": 465
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30264,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:21:23.963Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-creates-a-booking-with-a-note-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-creates-a-booking-with-a-note-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-3ff60968cd177a04a164",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a fixed once discount",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 30,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 40494,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Rustic Sale eh2JTM\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Rustic Sale eh2JTM\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Rustic Sale eh2JTM\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Rustic Sale eh2JTM\"\u001b[22m\n\n    at expectLocatorToBeEmpty (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:26:25)\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:22:13)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:122:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 25,
                      "line": 26
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:26\n\n\u001b[0m \u001b[90m 24 |\u001b[39m\n \u001b[90m 25 |\u001b[39m \u001b[36mexport\u001b[39m \u001b[36masync\u001b[39m \u001b[36mfunction\u001b[39m expectLocatorToBeEmpty(locator\u001b[33m:\u001b[39m \u001b[33mLocator\u001b[39m)\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 26 |\u001b[39m   \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(\u001b[35m/^(\\s*-?\\s*)$/\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 27 |\u001b[39m }\n \u001b[90m 28 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 25,
                        "line": 26
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Rustic Sale eh2JTM\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Rustic Sale eh2JTM\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:26\n\n  24 |\n  25 | export async function expectLocatorToBeEmpty(locator: Locator): Promise<void> {\n> 26 |   await expect(locator).toHaveText(/^(\\s*-?\\s*)$/);\n     |                         ^\n  27 | }\n  28 |\n    at expectLocatorToBeEmpty (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:26:25)\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:22:13)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:122:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 499
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2722
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1730
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3544
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 332
                    },
                    {
                      "title": "create booking",
                      "duration": 809
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30096,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Rustic Sale eh2JTM\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Rustic Sale eh2JTM\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Rustic Sale eh2JTM\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Rustic Sale eh2JTM\"\u001b[22m\n\n    at expectLocatorToBeEmpty (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:26:25)\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:22:13)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:122:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 25,
                          "line": 26
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:26\n\n\u001b[0m \u001b[90m 24 |\u001b[39m\n \u001b[90m 25 |\u001b[39m \u001b[36mexport\u001b[39m \u001b[36masync\u001b[39m \u001b[36mfunction\u001b[39m expectLocatorToBeEmpty(locator\u001b[33m:\u001b[39m \u001b[33mLocator\u001b[39m)\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 26 |\u001b[39m   \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(\u001b[35m/^(\\s*-?\\s*)$/\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 27 |\u001b[39m }\n \u001b[90m 28 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:22:02.883Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-610e5--with-a-fixed-once-discount-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-610e5--with-a-fixed-once-discount-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 25,
                    "line": 26
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-59e7a36bf00b71bee190",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a percentage forever discount",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 32,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 42477,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 492
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3393
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 42
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 3673
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3222
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 305
                    },
                    {
                      "title": "create booking",
                      "duration": 459
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30235,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:22:43.999Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-5e829-percentage-forever-discount-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-5e829-percentage-forever-discount-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-bdf1ba8716a1b399184d",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a single recurring product",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 35,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 44518,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 376
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2928
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 6149
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3363
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 320
                    },
                    {
                      "title": "create booking",
                      "duration": 475
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30250,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:23:27.010Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-22b99--a-single-recurring-product-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-22b99--a-single-recurring-product-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-2394ae67541d78b5cd4f",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with multiple recurring products of differing quantities",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 38,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 43346,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m9\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€70.00\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m9\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€70.00\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m9\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€70.00\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 597
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2821
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 39
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4043
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2750
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 4027
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 339
                    },
                    {
                      "title": "create booking",
                      "duration": 547
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30303,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m9\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€70.00\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m9\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€70.00\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:24:12.175Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-ff3b8-cts-of-differing-quantities-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-ff3b8-cts-of-differing-quantities-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-22dedf8d68c5ee8f35ae",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a single one-time product",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 40,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 40287,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 414
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2746
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 34
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1759
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3498
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 349
                    },
                    {
                      "title": "create booking",
                      "duration": 476
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30276,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:24:56.092Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-6bd3b-h-a-single-one-time-product-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-6bd3b-h-a-single-one-time-product-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-d5a7e421aa56505647fb",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with multiple one-time products of differing quantities",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 42,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 49875,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 528
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4636
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3317
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 9322
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3558
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 339
                    },
                    {
                      "title": "create booking",
                      "duration": 511
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30252,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:25:37.011Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-dc600-cts-of-differing-quantities-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-dc600-cts-of-differing-quantities-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-d6c537beb8a59f15d903",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a card auto-charged booking",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 44,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 42706,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 390
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2865
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 7927
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 42
                    },
                    {
                      "title": "create booking",
                      "duration": 445
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30270,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:26:27.414Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-creates-a-card-auto-charged-booking-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-creates-a-card-auto-charged-booking-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-295f6a06b0944e63dc01",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a sepa auto-charged booking",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 45,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 42869,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 359
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2888
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 7974
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 51
                    },
                    {
                      "title": "create booking",
                      "duration": 463
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30297,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:27:10.792Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-creates-a-sepa-auto-charged-booking-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-creates-a-sepa-auto-charged-booking-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-1229fe9ef37efea63a44",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a send-invoice booking",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 46,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 38798,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 390
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2834
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 30
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3932
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 75
                    },
                    {
                      "title": "create booking",
                      "duration": 488
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30328,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:27:54.372Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-creates-a-send-invoice-booking-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-creates-a-send-invoice-booking-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-e76fe3c54157ec5893ef",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with insurance and a discount",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 47,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 44465,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Electronic Sale u76qcw\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Electronic Sale u76qcw\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Electronic Sale u76qcw\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Electronic Sale u76qcw\"\u001b[22m\n\n    at expectLocatorToBeEmpty (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:26:25)\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:22:13)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:122:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 25,
                      "line": 26
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:26\n\n\u001b[0m \u001b[90m 24 |\u001b[39m\n \u001b[90m 25 |\u001b[39m \u001b[36mexport\u001b[39m \u001b[36masync\u001b[39m \u001b[36mfunction\u001b[39m expectLocatorToBeEmpty(locator\u001b[33m:\u001b[39m \u001b[33mLocator\u001b[39m)\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 26 |\u001b[39m   \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(\u001b[35m/^(\\s*-?\\s*)$/\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 27 |\u001b[39m }\n \u001b[90m 28 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 25,
                        "line": 26
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Electronic Sale u76qcw\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Electronic Sale u76qcw\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:26\n\n  24 |\n  25 | export async function expectLocatorToBeEmpty(locator: Locator): Promise<void> {\n> 26 |   await expect(locator).toHaveText(/^(\\s*-?\\s*)$/);\n     |                         ^\n  27 | }\n  28 |\n    at expectLocatorToBeEmpty (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:26:25)\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:22:13)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:122:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 372
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2863
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4792
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1117
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3574
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 347
                    },
                    {
                      "title": "create booking",
                      "duration": 457
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30200,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Electronic Sale u76qcw\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Electronic Sale u76qcw\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Electronic Sale u76qcw\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Electronic Sale u76qcw\"\u001b[22m\n\n    at expectLocatorToBeEmpty (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:26:25)\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:22:13)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:122:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 25,
                          "line": 26
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:26\n\n\u001b[0m \u001b[90m 24 |\u001b[39m\n \u001b[90m 25 |\u001b[39m \u001b[36mexport\u001b[39m \u001b[36masync\u001b[39m \u001b[36mfunction\u001b[39m expectLocatorToBeEmpty(locator\u001b[33m:\u001b[39m \u001b[33mLocator\u001b[39m)\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 26 |\u001b[39m   \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(\u001b[35m/^(\\s*-?\\s*)$/\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 27 |\u001b[39m }\n \u001b[90m 28 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:28:33.751Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-4840f-th-insurance-and-a-discount-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-4840f-th-insurance-and-a-discount-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 25,
                    "line": 26
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-662eedfa2022f95d814d",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking for a business customer with insurance",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 48,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 40846,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 433
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2700
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 22
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2608
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3392
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 341
                    },
                    {
                      "title": "create booking",
                      "duration": 493
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30244,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  24 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"24 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:29:18.765Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-b4f80-ess-customer-with-insurance-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-b4f80-ess-customer-with-insurance-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-c9ead1f6ed001e399fd3",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with insurance and a recurring product",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 49,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 47285,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€1\u001b[7m2\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€1\u001b[7m1\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€110.00\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€1\u001b[7m2\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€1\u001b[7m1\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€110.00\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€1\u001b[7m2\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€1\u001b[7m1\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€110.00\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 457
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2951
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3699
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5029
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3358
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 330
                    },
                    {
                      "title": "create booking",
                      "duration": 490
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30244,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€1\u001b[7m2\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€1\u001b[7m1\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€110.00\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€1\u001b[7m2\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€1\u001b[7m1\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€110.00\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:30:00.215Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-23817-nce-and-a-recurring-product-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-23817-nce-and-a-recurring-product-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-1dc5c290c4515dc594b3",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a recurring product and a discount",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 50,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 44180,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Electronic Sale ZjeYxt\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Electronic Sale ZjeYxt\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Electronic Sale ZjeYxt\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Electronic Sale ZjeYxt\"\u001b[22m\n\n    at expectLocatorToBeEmpty (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:26:25)\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:22:13)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:122:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 25,
                      "line": 26
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:26\n\n\u001b[0m \u001b[90m 24 |\u001b[39m\n \u001b[90m 25 |\u001b[39m \u001b[36mexport\u001b[39m \u001b[36masync\u001b[39m \u001b[36mfunction\u001b[39m expectLocatorToBeEmpty(locator\u001b[33m:\u001b[39m \u001b[33mLocator\u001b[39m)\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 26 |\u001b[39m   \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(\u001b[35m/^(\\s*-?\\s*)$/\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 27 |\u001b[39m }\n \u001b[90m 28 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 25,
                        "line": 26
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Electronic Sale ZjeYxt\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Electronic Sale ZjeYxt\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:26\n\n  24 |\n  25 | export async function expectLocatorToBeEmpty(locator: Locator): Promise<void> {\n> 26 |   await expect(locator).toHaveText(/^(\\s*-?\\s*)$/);\n     |                         ^\n  27 | }\n  28 |\n    at expectLocatorToBeEmpty (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:26:25)\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:22:13)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:122:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 385
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3006
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2918
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1291
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 4423
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 482
                    },
                    {
                      "title": "create booking",
                      "duration": 841
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30132,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Electronic Sale ZjeYxt\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Electronic Sale ZjeYxt\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Electronic Sale ZjeYxt\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Electronic Sale ZjeYxt\"\u001b[22m\n\n    at expectLocatorToBeEmpty (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:26:25)\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:22:13)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:122:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 25,
                          "line": 26
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:26\n\n\u001b[0m \u001b[90m 24 |\u001b[39m\n \u001b[90m 25 |\u001b[39m \u001b[36mexport\u001b[39m \u001b[36masync\u001b[39m \u001b[36mfunction\u001b[39m expectLocatorToBeEmpty(locator\u001b[33m:\u001b[39m \u001b[33mLocator\u001b[39m)\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 26 |\u001b[39m   \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(\u001b[35m/^(\\s*-?\\s*)$/\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 27 |\u001b[39m }\n \u001b[90m 28 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:30:48.168Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-9ce50-ring-product-and-a-discount-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-9ce50-ring-product-and-a-discount-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 25,
                    "line": 26
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-006651e69892ee966e6a",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a recurring and a one-time product",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 51,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 45447,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m6\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€60.00\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m6\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€60.00\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m6\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€60.00\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 444
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3876
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4207
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1744
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3466
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 312
                    },
                    {
                      "title": "create booking",
                      "duration": 483
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30209,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m6\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€60.00\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m6\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€60.00\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:31:32.911Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-1d0f9-ring-and-a-one-time-product-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-1d0f9-ring-and-a-one-time-product-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-9eaa52031723bec4fa27",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with insurance, recurring and one-time products and a discount",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 52,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 56229,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Awesome Sale w7Co80\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Awesome Sale w7Co80\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Awesome Sale w7Co80\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Awesome Sale w7Co80\"\u001b[22m\n\n    at expectLocatorToBeEmpty (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:26:25)\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:22:13)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:122:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 25,
                      "line": 26
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:26\n\n\u001b[0m \u001b[90m 24 |\u001b[39m\n \u001b[90m 25 |\u001b[39m \u001b[36mexport\u001b[39m \u001b[36masync\u001b[39m \u001b[36mfunction\u001b[39m expectLocatorToBeEmpty(locator\u001b[33m:\u001b[39m \u001b[33mLocator\u001b[39m)\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 26 |\u001b[39m   \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(\u001b[35m/^(\\s*-?\\s*)$/\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 27 |\u001b[39m }\n \u001b[90m 28 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 25,
                        "line": 26
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Awesome Sale w7Co80\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Awesome Sale w7Co80\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:26\n\n  24 |\n  25 | export async function expectLocatorToBeEmpty(locator: Locator): Promise<void> {\n> 26 |   await expect(locator).toHaveText(/^(\\s*-?\\s*)$/);\n     |                         ^\n  27 | }\n  28 |\n    at expectLocatorToBeEmpty (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:26:25)\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:22:13)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:122:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 673
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3112
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5033
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5396
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 6895
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2691
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1103
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 4811
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 329
                    },
                    {
                      "title": "create booking",
                      "duration": 807
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30096,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Awesome Sale w7Co80\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Awesome Sale w7Co80\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Awesome Sale w7Co80\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Awesome Sale w7Co80\"\u001b[22m\n\n    at expectLocatorToBeEmpty (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:26:25)\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:22:13)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:122:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 25,
                          "line": 26
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:26\n\n\u001b[0m \u001b[90m 24 |\u001b[39m\n \u001b[90m 25 |\u001b[39m \u001b[36mexport\u001b[39m \u001b[36masync\u001b[39m \u001b[36mfunction\u001b[39m expectLocatorToBeEmpty(locator\u001b[33m:\u001b[39m \u001b[33mLocator\u001b[39m)\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 26 |\u001b[39m   \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(\u001b[35m/^(\\s*-?\\s*)$/\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 27 |\u001b[39m }\n \u001b[90m 28 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:32:18.960Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-e8389-ime-products-and-a-discount-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-e8389-ime-products-and-a-discount-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 25,
                    "line": 26
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-5713e69dfa05b0c65124",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "reflects a recurring product in the invoice total",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 182,
                    "column": 8
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 53,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:33:15.838Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 182,
                        "column": 8
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-595b93a5ecee0a0c0d6a",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 182,
          "column": 8
        },
        {
          "title": "reflects a one-time product in the invoice total",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 182,
                    "column": 8
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 53,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:33:15.839Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 182,
                        "column": 8
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-519339902cdac838c12e",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 182,
          "column": 8
        },
        {
          "title": "reflects a fixed discount in the invoice total",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 182,
                    "column": 8
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 53,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:33:15.839Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 182,
                        "column": 8
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-0cbca723c3930f1aa65e",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 182,
          "column": 8
        },
        {
          "title": "reflects insurance and a percentage discount in the invoice total",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 182,
                    "column": 8
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 53,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:33:15.839Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 182,
                        "column": 8
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-2f1a2f618e89341c2a97",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 182,
          "column": 8
        },
        {
          "title": "reflects a multi-month plan in the invoice total",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 182,
                    "column": 8
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 53,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:33:15.839Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 182,
                        "column": 8
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-a2259ea75bc0fed32cc1",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 182,
          "column": 8
        },
        {
          "title": "reflects a non-upfront deposit in the invoice total",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 182,
                    "column": 8
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 53,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:33:15.839Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 182,
                        "column": 8
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-f9b23863cb2c199a5dab",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 182,
          "column": 8
        },
        {
          "title": "reflects business-customer tax in the invoice total",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 182,
                    "column": 8
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 53,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:33:15.839Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 182,
                        "column": 8
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-f3b93be1d11fb533d42e",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 182,
          "column": 8
        },
        {
          "title": "reflects a fully-loaded booking in the invoice total",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 182,
                    "column": 8
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 53,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:33:15.839Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 182,
                        "column": 8
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-c5276eb71e15ddb437a4",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 182,
          "column": 8
        },
        {
          "title": "creates a booking with a discount scoped only to one-time products and deposits",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 53,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 23699,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 461
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6553
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4156
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 5883
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1364
                    },
                    {
                      "title": "create booking",
                      "duration": 4590
                    },
                    {
                      "title": "verify the discount is not shown on the details page",
                      "duration": 194
                    }
                  ],
                  "startTime": "2026-08-17T02:33:15.839Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-1c940df73902f48bd8ce",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 230,
          "column": 5
        },
        {
          "title": "creates a booking for a customer having multiple locations",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 53,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 8025,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 397
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3020
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 22
                    },
                    {
                      "title": "create booking",
                      "duration": 3954
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 167
                    }
                  ],
                  "startTime": "2026-08-17T02:33:39.593Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-c6eca278c9ed7cfcac85",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 274,
          "column": 5
        },
        {
          "title": "creates a backdated booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 53,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6946,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 378
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2155
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "create booking",
                      "duration": 3727
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 160
                    }
                  ],
                  "startTime": "2026-08-17T02:33:47.626Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-c2908ff92a23dd88832b",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 305,
          "column": 5
        },
        {
          "title": "creates a booking using the most recently added payment method",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 53,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 49120,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Payment method\"))').getByTestId('payment-method-row')\nExpected: \u001b[32m\"•••• 4444 Card\"\u001b[39m\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Payment method\"))').getByTestId('payment-method-row')\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Payment method\"))').getByTestId('payment-method-row')\nExpected: \u001b[32m\"•••• 4444 Card\"\u001b[39m\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Payment method\"))').getByTestId('payment-method-row')\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:362:40\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:359:3",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Payment method\"))').getByTestId('payment-method-row')\nExpected: \u001b[32m\"•••• 4444 Card\"\u001b[39m\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Payment method\"))').getByTestId('payment-method-row')\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:362:40\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:359:3"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 451
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3741
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 51
                    },
                    {
                      "title": "add a second payment method after the first",
                      "duration": 13398
                    },
                    {
                      "title": "create booking",
                      "duration": 537
                    },
                    {
                      "title": "verify the booking uses the most recently added method",
                      "duration": 30043,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Payment method\"))').getByTestId('payment-method-row')\nExpected: \u001b[32m\"•••• 4444 Card\"\u001b[39m\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Payment method\"))').getByTestId('payment-method-row')\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Payment method\"))').getByTestId('payment-method-row')\nExpected: \u001b[32m\"•••• 4444 Card\"\u001b[39m\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Payment method\"))').getByTestId('payment-method-row')\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:362:40\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:359:3",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:33:54.580Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-817ed-cently-added-payment-method-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-817ed-cently-added-payment-method-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-28bcfeb73b38b616a566",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 330,
          "column": 5
        },
        {
          "title": "issues an open invoice for an auto-charged-after-first-invoice active booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 368,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 54,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:34:44.539Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 368,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-cb7fc0567779fe3b5ede",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 368,
          "column": 6
        },
        {
          "title": "issues an open invoice for a send-invoice active booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 418,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 54,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:34:44.540Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 418,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-bb0d74e8331ff6a39857",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 418,
          "column": 6
        },
        {
          "title": "issues a paid invoice for a card auto-charged active booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 467,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 54,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:34:44.540Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 467,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-37db6f1c857042884db8",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 467,
          "column": 6
        },
        {
          "title": "issues a paid invoice for a sepa auto-charged active booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 525,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 54,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:34:44.540Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 525,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-70abae10122f06f06ad5",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 525,
          "column": 6
        },
        {
          "title": "issues a paid invoice for a bacs auto-charged active booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 598,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 54,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:34:44.540Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 598,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-9ff0e18352c3264fec57",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 598,
          "column": 6
        },
        {
          "title": "issues a pending invoice for a sepa auto-charged active booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 671,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 54,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:34:44.541Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 671,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-81f28cdf1a0897b9702a",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 671,
          "column": 6
        },
        {
          "title": "issues a pending invoice for a bacs auto-charged active booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 729,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 54,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:34:44.541Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 729,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-1d3e52b1709580b5a808",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 729,
          "column": 6
        },
        {
          "title": "issues no invoice for a scheduled booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 787,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 54,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:34:44.541Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 787,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-b7edce9771dca7966b34",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 787,
          "column": 6
        },
        {
          "title": "issues a separate invoice for an upfront deposit",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 810,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 54,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:34:44.541Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 810,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-c5b56ae597d9ba709af1",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 810,
          "column": 6
        },
        {
          "title": "issues only a deposit invoice for a scheduled upfront-deposit booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "fixme",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "line": 896,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 54,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-17T02:34:44.541Z",
                  "annotations": [
                    {
                      "type": "fixme",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "line": 896,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "172088f15008fc3aa6ae-7d1abac5e392b44c3620",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 896,
          "column": 6
        },
        {
          "title": "rejects a sepa booking over the payment amount limit",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 54,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 42445,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.v-snackbar').filter({ hasText: 'Max billing amount exceeded for payment method type' })\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Max billing amount exceeded for payment method type' })\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.v-snackbar').filter({ hasText: 'Max billing amount exceeded for payment method type' })\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Max billing amount exceeded for payment method type' })\u001b[22m\n\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:992:60\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:991:3",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                      "column": 60,
                      "line": 992
                    },
                    "snippet": "\u001b[0m \u001b[90m 990 |\u001b[39m\n \u001b[90m 991 |\u001b[39m   \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify the payment limit error'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 992 |\u001b[39m     \u001b[36mawait\u001b[39m expect(bookingCreateDialog\u001b[33m.\u001b[39mpaymentLimitSnackbar)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m     |\u001b[39m                                                            \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 993 |\u001b[39m   })\u001b[33m;\u001b[39m\n \u001b[90m 994 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 995 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                        "column": 60,
                        "line": 992
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.v-snackbar').filter({ hasText: 'Max billing amount exceeded for payment method type' })\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Max billing amount exceeded for payment method type' })\u001b[22m\n\n\n  990 |\n  991 |   await test.step('verify the payment limit error', async () => {\n> 992 |     await expect(bookingCreateDialog.paymentLimitSnackbar).toBeVisible();\n      |                                                            ^\n  993 |   });\n  994 | });\n  995 |\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:992:60\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:991:3"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 404
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2339
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 32
                    },
                    {
                      "title": "submit booking",
                      "duration": 8780
                    },
                    {
                      "title": "verify the payment limit error",
                      "duration": 30046,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.v-snackbar').filter({ hasText: 'Max billing amount exceeded for payment method type' })\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Max billing amount exceeded for payment method type' })\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.v-snackbar').filter({ hasText: 'Max billing amount exceeded for payment method type' })\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Max billing amount exceeded for payment method type' })\u001b[22m\n\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:992:60\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:991:3",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                          "column": 60,
                          "line": 992
                        },
                        "snippet": "\u001b[0m \u001b[90m 990 |\u001b[39m\n \u001b[90m 991 |\u001b[39m   \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify the payment limit error'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 992 |\u001b[39m     \u001b[36mawait\u001b[39m expect(bookingCreateDialog\u001b[33m.\u001b[39mpaymentLimitSnackbar)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m     |\u001b[39m                                                            \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 993 |\u001b[39m   })\u001b[33m;\u001b[39m\n \u001b[90m 994 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 995 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:34:44.541Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-rej-87139-er-the-payment-amount-limit-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-rej-87139-er-the-payment-amount-limit-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts",
                    "column": 60,
                    "line": 992
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-54b48131fedc3607ba27",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 954,
          "column": 5
        },
        {
          "title": "rejects a booking without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 1192,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid booking create form",
                      "duration": 669
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 48
                    }
                  ],
                  "startTime": "2026-08-17T02:35:27.817Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-ea98074e442139f45ce4",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 996,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/booking/booking-edit-notes.spec.ts",
      "file": "src/manager/tests/e2e/booking/booking-edit-notes.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the note of a booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4224,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 484
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2224
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 99
                    },
                    {
                      "title": "edit booking note",
                      "duration": 974
                    },
                    {
                      "title": "verify new note on details page",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-17T02:17:31.195Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9313ea1517b230752e5a-5c84fe78c54a14072aa8",
          "file": "src/manager/tests/e2e/booking/booking-edit-notes.spec.ts",
          "line": 6,
          "column": 7
        },
        {
          "title": "removes the note of a booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4997,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 486
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2916
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 138
                    },
                    {
                      "title": "edit booking note",
                      "duration": 1004
                    },
                    {
                      "title": "verify new note on details page",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-17T02:17:32.846Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9313ea1517b230752e5a-dd2740066a346a55d97e",
          "file": "src/manager/tests/e2e/booking/booking-edit-notes.spec.ts",
          "line": 6,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
      "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "filters bookings by id",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4100,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 465
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2422
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 118
                    },
                    {
                      "title": "apply filter",
                      "duration": 566
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 104
                    }
                  ],
                  "startTime": "2026-08-17T02:17:35.427Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-3bc5c9972b5ca8f1acdf",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 13,
          "column": 5
        },
        {
          "title": "filters bookings by customer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4128,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 399
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2522
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 104
                    },
                    {
                      "title": "apply filter",
                      "duration": 564
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 94
                    }
                  ],
                  "startTime": "2026-08-17T02:17:39.534Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-9f97d1e00a0cce0e1121",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 27,
          "column": 5
        },
        {
          "title": "filters bookings by unit",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4661,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 470
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3014
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 62
                    },
                    {
                      "title": "apply filter",
                      "duration": 596
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 101
                    }
                  ],
                  "startTime": "2026-08-17T02:17:43.669Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-4dc21b1138dc8a99a911",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 46,
          "column": 5
        },
        {
          "title": "filters bookings by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4347,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 567
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2437
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 38
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 71
                    },
                    {
                      "title": "apply filter",
                      "duration": 613
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 201
                    }
                  ],
                  "startTime": "2026-08-17T02:17:48.339Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-3c0a069cba6f25a5d893",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 60,
          "column": 5
        },
        {
          "title": "filters bookings by status",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4207,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 424
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2415
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 36
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 61
                    },
                    {
                      "title": "apply filter",
                      "duration": 614
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 225
                    }
                  ],
                  "startTime": "2026-08-17T02:17:52.695Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-8304a2d5036d1c158d86",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 77,
          "column": 5
        },
        {
          "title": "filters bookings by unit type",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4201,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 419
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2432
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 32
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 63
                    },
                    {
                      "title": "apply filter",
                      "duration": 768
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 78
                    }
                  ],
                  "startTime": "2026-08-17T02:17:56.910Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-fe55f5f3c5f5f9623fab",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 94,
          "column": 5
        },
        {
          "title": "filters bookings by created-at",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5075,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 720
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2419
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 112
                    },
                    {
                      "title": "apply filter",
                      "duration": 1162
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 191
                    }
                  ],
                  "startTime": "2026-08-17T02:18:01.122Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-c461b25b5692336f5ef3",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 112,
          "column": 5
        },
        {
          "title": "filters bookings by customer, location, status, unit type and created-at",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5735,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 422
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2765
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 49
                    },
                    {
                      "title": "apply filters",
                      "duration": 1999
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 105
                    }
                  ],
                  "startTime": "2026-08-17T02:18:06.207Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-cf39b78e5c3f668f1046",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 129,
          "column": 5
        },
        {
          "title": "excludes bookings that do not match the status filter",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4757,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 375
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3055
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 53
                    },
                    {
                      "title": "apply filter",
                      "duration": 848
                    },
                    {
                      "title": "verify booking is excluded",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-17T02:18:11.949Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-82c371199c6449d86cba",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 168,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/booking/booking-navigate.spec.ts",
      "file": "src/manager/tests/e2e/booking/booking-navigate.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "navigates from the booking list to the booking details page",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4305,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 443
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2478
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 97
                    },
                    {
                      "title": "navigate to booking details page",
                      "duration": 765
                    },
                    {
                      "title": "verify booking details page",
                      "duration": 125
                    }
                  ],
                  "startTime": "2026-08-17T02:17:37.851Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "f98f5c7e52a166e2b1d2-b2b3a2b8da79839304cb",
          "file": "src/manager/tests/e2e/booking/booking-navigate.spec.ts",
          "line": 6,
          "column": 5
        },
        {
          "title": "navigates from the booking list to the booking create dialog",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1217,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog from list",
                      "duration": 423
                    },
                    {
                      "title": "verify booking create dialog is open",
                      "duration": 402
                    }
                  ],
                  "startTime": "2026-08-17T02:17:42.162Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "f98f5c7e52a166e2b1d2-5850ca92cbd2d3821e60",
          "file": "src/manager/tests/e2e/booking/booking-navigate.spec.ts",
          "line": 25,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts",
      "file": "src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "removes a scheduled price change via the booking actions menu",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 8,
                  "parallelIndex": 3,
                  "status": "timedOut",
                  "duration": 120229,
                  "error": {
                    "message": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m",
                    "stack": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m"
                  },
                  "errors": [
                    {
                      "message": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m"
                    },
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts",
                        "column": 38,
                        "line": 13
                      },
                      "message": "Error: locator.waitFor: Test timeout of 120000ms exceeded.\nCall log:\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Price adjustment successfully removed' }) to be visible\u001b[22m\n\n\n   at src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts:13\n\n  11 |\n  12 |   async confirm(): Promise<void> {\n> 13 |     await Promise.all([this.snackbar.waitFor(), this.submitButton.click()]);\n     |                                      ^\n  14 |   }\n  15 | }\n  16 |\n    at BookingRemovePriceChangeDialog.confirm (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts:13:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts:38:3"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 452
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2426
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 62
                    },
                    {
                      "title": "setup: create booking price change via API",
                      "duration": 26
                    },
                    {
                      "title": "remove the price adjustment",
                      "duration": 116745,
                      "error": {
                        "message": "Error: locator.waitFor: Test timeout of 120000ms exceeded.\nCall log:\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Price adjustment successfully removed' }) to be visible\u001b[22m\n",
                        "stack": "Error: locator.waitFor: Test timeout of 120000ms exceeded.\nCall log:\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Price adjustment successfully removed' }) to be visible\u001b[22m\n\n    at BookingRemovePriceChangeDialog.confirm (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts:13:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts:38:3",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts",
                          "column": 38,
                          "line": 13
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts:13\n\n\u001b[0m \u001b[90m 11 |\u001b[39m\n \u001b[90m 12 |\u001b[39m   \u001b[36masync\u001b[39m confirm()\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 13 |\u001b[39m     \u001b[36mawait\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m.\u001b[39mall([\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39msnackbar\u001b[33m.\u001b[39mwaitFor()\u001b[33m,\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39msubmitButton\u001b[33m.\u001b[39mclick()])\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                      \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 14 |\u001b[39m   }\n \u001b[90m 15 |\u001b[39m }\n \u001b[90m 16 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:17:43.386Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-0a006-ia-the-booking-actions-menu-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-0a006-ia-the-booking-actions-menu-manager-e2e/trace.zip"
                    }
                  ]
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "117500849799b1366fb3-6a40ac6b31115953943c",
          "file": "src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts",
          "line": 27,
          "column": 5
        },
        {
          "title": "removes a scheduled price change via the billing card",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 19,
                  "parallelIndex": 3,
                  "status": "timedOut",
                  "duration": 120163,
                  "error": {
                    "message": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m",
                    "stack": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m"
                  },
                  "errors": [
                    {
                      "message": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m"
                    },
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts",
                        "column": 38,
                        "line": 13
                      },
                      "message": "Error: locator.waitFor: Test timeout of 120000ms exceeded.\nCall log:\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Price adjustment successfully removed' }) to be visible\u001b[22m\n\n\n   at src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts:13\n\n  11 |\n  12 |   async confirm(): Promise<void> {\n> 13 |     await Promise.all([this.snackbar.waitFor(), this.submitButton.click()]);\n     |                                      ^\n  14 |   }\n  15 | }\n  16 |\n    at BookingRemovePriceChangeDialog.confirm (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts:13:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts:61:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts:59:3"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 421
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2358
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 103
                    },
                    {
                      "title": "setup: create booking price change via API",
                      "duration": 28
                    },
                    {
                      "title": "remove the price adjustment",
                      "duration": 116796,
                      "error": {
                        "message": "Error: locator.waitFor: Test timeout of 120000ms exceeded.\nCall log:\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Price adjustment successfully removed' }) to be visible\u001b[22m\n",
                        "stack": "Error: locator.waitFor: Test timeout of 120000ms exceeded.\nCall log:\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Price adjustment successfully removed' }) to be visible\u001b[22m\n\n    at BookingRemovePriceChangeDialog.confirm (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts:13:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts:61:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts:59:3",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts",
                          "column": 38,
                          "line": 13
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts:13\n\n\u001b[0m \u001b[90m 11 |\u001b[39m\n \u001b[90m 12 |\u001b[39m   \u001b[36masync\u001b[39m confirm()\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 13 |\u001b[39m     \u001b[36mawait\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m.\u001b[39mall([\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39msnackbar\u001b[33m.\u001b[39mwaitFor()\u001b[33m,\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39msubmitButton\u001b[33m.\u001b[39mclick()])\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                      \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 14 |\u001b[39m   }\n \u001b[90m 15 |\u001b[39m }\n \u001b[90m 16 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:19:44.169Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-458bb-change-via-the-billing-card-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-458bb-change-via-the-billing-card-manager-e2e/trace.zip"
                    }
                  ]
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "117500849799b1366fb3-e614fb843054fda0c210",
          "file": "src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts",
          "line": 48,
          "column": 5
        },
        {
          "title": "removes a scheduled price change via the booking list",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 29,
                  "parallelIndex": 3,
                  "status": "timedOut",
                  "duration": 120139,
                  "error": {
                    "message": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m",
                    "stack": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m"
                  },
                  "errors": [
                    {
                      "message": "\u001b[31mTest timeout of 120000ms exceeded.\u001b[39m"
                    },
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts",
                        "column": 38,
                        "line": 13
                      },
                      "message": "Error: locator.waitFor: Test timeout of 120000ms exceeded.\nCall log:\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Price adjustment successfully removed' }) to be visible\u001b[22m\n\n\n   at src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts:13\n\n  11 |\n  12 |   async confirm(): Promise<void> {\n> 13 |     await Promise.all([this.snackbar.waitFor(), this.submitButton.click()]);\n     |                                      ^\n  14 |   }\n  15 | }\n  16 |\n    at BookingRemovePriceChangeDialog.confirm (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts:13:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts:88:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts:86:3"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 450
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2712
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 57
                    },
                    {
                      "title": "setup: create booking price change via API",
                      "duration": 18
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 671
                    },
                    {
                      "title": "remove the price adjustment",
                      "duration": 115827,
                      "error": {
                        "message": "Error: locator.waitFor: Test timeout of 120000ms exceeded.\nCall log:\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Price adjustment successfully removed' }) to be visible\u001b[22m\n",
                        "stack": "Error: locator.waitFor: Test timeout of 120000ms exceeded.\nCall log:\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'Price adjustment successfully removed' }) to be visible\u001b[22m\n\n    at BookingRemovePriceChangeDialog.confirm (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts:13:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts:88:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts:86:3",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts",
                          "column": 38,
                          "line": 13
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/modules/booking/views/BookingRemovePriceChangeDialog.ts:13\n\n\u001b[0m \u001b[90m 11 |\u001b[39m\n \u001b[90m 12 |\u001b[39m   \u001b[36masync\u001b[39m confirm()\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 13 |\u001b[39m     \u001b[36mawait\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m.\u001b[39mall([\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39msnackbar\u001b[33m.\u001b[39mwaitFor()\u001b[33m,\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39msubmitButton\u001b[33m.\u001b[39mclick()])\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                      \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 14 |\u001b[39m   }\n \u001b[90m 15 |\u001b[39m }\n \u001b[90m 16 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:21:44.791Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-33f10-change-via-the-booking-list-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-33f10-change-via-the-booking-list-manager-e2e/trace.zip"
                    }
                  ]
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "117500849799b1366fb3-1aecc12210e33ae309bd",
          "file": "src/manager/tests/e2e/booking/booking-price-change-remove.spec.ts",
          "line": 69,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
      "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "increases unit and recurring product prices by percentage",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 11,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 42088,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 406
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2558
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2235
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2368
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 145
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 691
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2381
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30573,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:18:03.204Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-088cc-roduct-prices-by-percentage-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-088cc-roduct-prices-by-percentage-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-7765be6bb76b11c15698",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "decreases the unit price by percentage in a later period",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 14,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 37032,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 31 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 27 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 27 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 27 AUG 2026\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 31 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 27 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 27 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 27 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 31 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 27 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 27 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 27 AUG 2026\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 385
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2282
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 54
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 704
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2412
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30552,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 31 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 27 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 27 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 27 AUG 2026\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 31 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 27 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 27 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 27 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:18:45.937Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-2e614-ercentage-in-a-later-period-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-2e614-ercentage-in-a-later-period-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-18f2dd99d6358e624fd8",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "increases the unit price by amount",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 17,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 37585,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 517
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2322
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 32
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 67
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 800
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2466
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30651,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:19:23.589Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-56606-es-the-unit-price-by-amount-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-56606-es-the-unit-price-by-amount-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-2f78b15fbeb8381c2eec",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "decreases recurring product prices by amount",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 21,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 39846,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 393
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2430
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2467
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 81
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 733
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2451
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30639,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:20:01.940Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-cd3c6-ng-product-prices-by-amount-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-cd3c6-ng-product-prices-by-amount-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-e4db897dc5d0df87b14e",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "increases a multi-piece recurring product price by amount",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 24,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 39680,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 416
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2368
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2368
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 73
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 691
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2423
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30693,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:20:42.384Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-c26ec-ing-product-price-by-amount-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-c26ec-ing-product-price-by-amount-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-e7c2ce12ed9f051d1fcc",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "decreases a multi-piece recurring product price by percentage",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 27,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 42125,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 555
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2320
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4709
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 82
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 721
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2436
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30622,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:21:22.658Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-4477e-product-price-by-percentage-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-4477e-product-price-by-percentage-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-bbceffd173494d8bf7bc",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "increases the unit price by percentage on a monthly plan",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 31,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 38131,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from\u001b[27m 17 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 17 \u001b[7mAUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from\u001b[27m 17 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 17 \u001b[7mAUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from\u001b[27m 17 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 17 \u001b[7mAUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 457
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3119
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 34
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 70
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 761
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2438
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30587,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from\u001b[27m 17 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 17 \u001b[7mAUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from\u001b[27m 17 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 17 \u001b[7mAUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:22:05.354Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-3a1d0-ercentage-on-a-monthly-plan-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-3a1d0-ercentage-on-a-monthly-plan-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-b802bef6aa099f90ba15",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "decreases the unit price by percentage on a multi-week plan",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 33,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 37060,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 395
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2448
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 54
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 659
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2378
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30526,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:22:44.107Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-e8391-entage-on-a-multi-week-plan-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-e8391-entage-on-a-multi-week-plan-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-0065e3f5e8bce4a82cb3",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "increases the unit price by amount on a multi-week plan",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 34,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 40109,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 562
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4656
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 82
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 662
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2407
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30535,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:23:21.683Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-ff643-amount-on-a-multi-week-plan-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-ff643-amount-on-a-multi-week-plan-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-1e52eaccd2a03c5a1b8f",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "increases multi-piece recurring product prices by amount on a multi-week plan",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 37,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 42099,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 435
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2772
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2763
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4082
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 97
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 805
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2559
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30661,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 14 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:40:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:38:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:24:02.417Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-89c73-amount-on-a-multi-week-plan-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-89c73-amount-on-a-multi-week-plan-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-2ab0dc6c4a4064933a47",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "changes the price of multiple bookings at once",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 39,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 40286,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:88:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:86:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:88:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:86:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 382
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2658
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2715
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 57
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 84
                    },
                    {
                      "title": "select both bookings in the list",
                      "duration": 737
                    },
                    {
                      "title": "apply one price change to both bookings",
                      "duration": 2479
                    },
                    {
                      "title": "verify the price adjustment on booking 234247257592881",
                      "duration": 30511,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\nExpected: \u001b[32m\"\u001b[7mapplied from 24 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 17 AUG\u001b[27m 2026\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').getByTestId('booking-price-change-section').getByTestId('booking-price-change-applied-from')\u001b[22m\n\u001b[2m    64 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 17 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 17 AUG 2026\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at verifyBookingPriceChangeSection (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/booking/booking-assertions.ts:103:38)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:88:7\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:86:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:24:45.027Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-86e5d-f-multiple-bookings-at-once-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-86e5d-f-multiple-bookings-at-once-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-e2733b756837e28baf13",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 45,
          "column": 5
        },
        {
          "title": "rejects a price change without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 41,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5074,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 508
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2967
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 83
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 692
                    },
                    {
                      "title": "submit the price change form",
                      "duration": 397
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-17T02:25:25.884Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f93f43ea619b2147d92-9c9d9e6d6cf808540920",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 98,
          "column": 5
        },
        {
          "title": "rejects a price change with an out-of-range value",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 41,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 8919,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 422
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3207
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 21
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 45
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 684
                    },
                    {
                      "title": "open the price change dialog",
                      "duration": 60
                    },
                    {
                      "title": "verify increase of 1001 (percentage) is rejected",
                      "duration": 1557
                    },
                    {
                      "title": "verify decrease of 101 (percentage) is rejected",
                      "duration": 1267
                    },
                    {
                      "title": "verify increase of 5001 (amount) is rejected",
                      "duration": 1293
                    }
                  ],
                  "startTime": "2026-08-17T02:25:31.016Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f93f43ea619b2147d92-81e11b27b72f61808abc",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 123,
          "column": 5
        },
        {
          "title": "rejects a price change targeting items the booking does not have",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 41,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 36512,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.v-snackbar').filter({ hasText: 'No price changes have been scheduled, as the selected bookings would not be affected by the price adjustment you have chosen.' })\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'No price changes have been scheduled, as the selected bookings would not be affected by the price adjustment you have chosen.' })\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.v-snackbar').filter({ hasText: 'No price changes have been scheduled, as the selected bookings would not be affected by the price adjustment you have chosen.' })\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'No price changes have been scheduled, as the selected bookings would not be affected by the price adjustment you have chosen.' })\u001b[22m\n\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:221:64\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:220:3",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts",
                      "column": 64,
                      "line": 221
                    },
                    "snippet": "\u001b[0m \u001b[90m 219 |\u001b[39m\n \u001b[90m 220 |\u001b[39m   \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify the error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 221 |\u001b[39m     \u001b[36mawait\u001b[39m expect(priceChangeDialog\u001b[33m.\u001b[39mnoBookingsAffectedSnackbar)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m     |\u001b[39m                                                                \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 222 |\u001b[39m   })\u001b[33m;\u001b[39m\n \u001b[90m 223 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 224 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts",
                        "column": 64,
                        "line": 221
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.v-snackbar').filter({ hasText: 'No price changes have been scheduled, as the selected bookings would not be affected by the price adjustment you have chosen.' })\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'No price changes have been scheduled, as the selected bookings would not be affected by the price adjustment you have chosen.' })\u001b[22m\n\n\n  219 |\n  220 |   await test.step('verify the error snackbar', async () => {\n> 221 |     await expect(priceChangeDialog.noBookingsAffectedSnackbar).toBeVisible();\n      |                                                                ^\n  222 |   });\n  223 | });\n  224 |\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:221:64\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:220:3"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 496
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2859
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 21
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 48
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 695
                    },
                    {
                      "title": "apply the price change",
                      "duration": 1846
                    },
                    {
                      "title": "verify the error snackbar",
                      "duration": 30011,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.v-snackbar').filter({ hasText: 'No price changes have been scheduled, as the selected bookings would not be affected by the price adjustment you have chosen.' })\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'No price changes have been scheduled, as the selected bookings would not be affected by the price adjustment you have chosen.' })\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeVisible\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.v-snackbar').filter({ hasText: 'No price changes have been scheduled, as the selected bookings would not be affected by the price adjustment you have chosen.' })\nExpected: visible\nTimeout: 30000ms\nError: element(s) not found\n\nCall log:\n\u001b[2m  - Expect \"toBeVisible\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for locator('.v-snackbar').filter({ hasText: 'No price changes have been scheduled, as the selected bookings would not be affected by the price adjustment you have chosen.' })\u001b[22m\n\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:221:64\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts:220:3",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts",
                          "column": 64,
                          "line": 221
                        },
                        "snippet": "\u001b[0m \u001b[90m 219 |\u001b[39m\n \u001b[90m 220 |\u001b[39m   \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify the error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 221 |\u001b[39m     \u001b[36mawait\u001b[39m expect(priceChangeDialog\u001b[33m.\u001b[39mnoBookingsAffectedSnackbar)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m     |\u001b[39m                                                                \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 222 |\u001b[39m   })\u001b[33m;\u001b[39m\n \u001b[90m 223 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 224 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:25:39.942Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-08e81-s-the-booking-does-not-have-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-08e81-s-the-booking-does-not-have-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-price-change.spec.ts",
                    "column": 64,
                    "line": 221
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-674ee25b75983629ce40",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 188,
          "column": 5
        },
        {
          "title": "disables the price adjustment action for a scheduled booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4180,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 395
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2569
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 50
                    },
                    {
                      "title": "select the scheduled booking in the list",
                      "duration": 710
                    },
                    {
                      "title": "verify the price adjustment action is disabled",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-17T02:26:16.957Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f93f43ea619b2147d92-2f018ed4fc881ba60f9b",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 225,
          "column": 5
        },
        {
          "title": "disables the price adjustment action for a booking with a scheduled price change",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4282,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 379
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2764
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 49
                    },
                    {
                      "title": "setup: create booking price change via API",
                      "duration": 25
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 674
                    },
                    {
                      "title": "verify the price adjustment action is disabled",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-17T02:26:21.197Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f93f43ea619b2147d92-5b6d0c67e8a0bad5840e",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 244,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-create.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates a private customer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5250,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 4093
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 171
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 593
                    }
                  ],
                  "startTime": "2026-08-17T02:18:16.720Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-f5faa7d94cc8d306d33b",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "creates a business customer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4647,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 3552
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 157
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 551
                    }
                  ],
                  "startTime": "2026-08-17T02:18:21.977Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-55bdd50991b7f441790a",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "creates a business customer with vat type and vat number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5035,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 3842
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 295
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 544
                    }
                  ],
                  "startTime": "2026-08-17T02:18:26.630Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-0cb66274a90cf475ffa2",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "creates a customer with a note",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4571,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 3477
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 159
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 551
                    }
                  ],
                  "startTime": "2026-08-17T02:18:31.671Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-36f4fc284d4339e8d467",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "creates a customer with an accounts receivable number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5337,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 4232
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 134
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 567
                    }
                  ],
                  "startTime": "2026-08-17T02:18:36.248Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-b5b520c671fc7fe7e53e",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "creates a customer with multiple locations",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5085,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 4064
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 143
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 526
                    }
                  ],
                  "startTime": "2026-08-17T02:18:41.590Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-cadd511bc116eee8cdfb",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "creates a customer with russian language",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4516,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 3418
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 218
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 530
                    }
                  ],
                  "startTime": "2026-08-17T02:18:46.680Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-d786b703ce33dc47b61d",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "rejects a private customer without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2920,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid customer create form",
                      "duration": 2531
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-17T02:18:51.201Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-de2c785c97ed1763fa14",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 105,
          "column": 5
        },
        {
          "title": "rejects a business customer without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3030,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid customer create form",
                      "duration": 2658
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 21
                    }
                  ],
                  "startTime": "2026-08-17T02:18:54.126Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-f0a0c5ad3050e575a6e4",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 120,
          "column": 5
        },
        {
          "title": "rejects a customer with a duplicate email",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3360,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 442
                    },
                    {
                      "title": "submit customer create form with duplicate email",
                      "duration": 2489
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 63
                    }
                  ],
                  "startTime": "2026-08-17T02:18:57.162Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-ced35de194b6c6e4560a",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 135,
          "column": 5
        },
        {
          "title": "rejects a customer with a duplicate phone number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3381,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 461
                    },
                    {
                      "title": "submit customer create form with duplicate phone number",
                      "duration": 2480
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 59
                    }
                  ],
                  "startTime": "2026-08-17T02:19:00.528Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-3ae07203a9baa99309a7",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 151,
          "column": 5
        },
        {
          "title": "rejects a customer with a vat number that does not match the vat type",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3343,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit customer create form with mismatched vat type and number",
                      "duration": 2619
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 375
                    }
                  ],
                  "startTime": "2026-08-17T02:19:03.914Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-ce1f972dfdc8749cac6c",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 167,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-delete.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-delete.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes a lead customer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2472,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 389
                    },
                    {
                      "title": "delete customer",
                      "duration": 1436
                    },
                    {
                      "title": "verify customer is no longer on list page",
                      "duration": 289
                    }
                  ],
                  "startTime": "2026-08-17T02:19:07.263Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "88b47d14a396273e5c6f-82736af1c1784ade33c9",
          "file": "src/manager/tests/e2e/customer/customer-delete.spec.ts",
          "line": 5,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-edit-details.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-edit-details.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the accounts receivable number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2603,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 408
                    },
                    {
                      "title": "edit customer details",
                      "duration": 1825
                    },
                    {
                      "title": "verify accounts receivable number on details page",
                      "duration": 5
                    }
                  ],
                  "startTime": "2026-08-17T02:19:09.740Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "109739bc53752ea62618-439fb77157625e028e08",
          "file": "src/manager/tests/e2e/customer/customer-edit-details.spec.ts",
          "line": 8,
          "column": 7
        },
        {
          "title": "removes the accounts receivable number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2559,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 366
                    },
                    {
                      "title": "edit customer details",
                      "duration": 1753
                    },
                    {
                      "title": "verify accounts receivable number on details page",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-17T02:19:12.348Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "109739bc53752ea62618-aedf28bbb76036924aed",
          "file": "src/manager/tests/e2e/customer/customer-edit-details.spec.ts",
          "line": 8,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the type from private to business",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4264,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 386
                    },
                    {
                      "title": "edit customer general",
                      "duration": 2882
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 89
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 524
                    }
                  ],
                  "startTime": "2026-08-17T02:19:14.915Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-659312f83cd465a1b98e",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "edits the type from business to private",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3218,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 374
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1841
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 75
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 553
                    }
                  ],
                  "startTime": "2026-08-17T02:19:19.184Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-bedecebe56eabeb08b3a",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "edits the language",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3197,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 421
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1782
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 72
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 538
                    }
                  ],
                  "startTime": "2026-08-17T02:19:22.407Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-bad4dbc7e01fb5102081",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "edits the address",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3491,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 460
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1958
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 97
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 592
                    }
                  ],
                  "startTime": "2026-08-17T02:19:25.610Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-addde111f7bcb88c3911",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "adds another location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3743,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 500
                    },
                    {
                      "title": "edit customer general",
                      "duration": 2198
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 86
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 546
                    }
                  ],
                  "startTime": "2026-08-17T02:19:29.107Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-bc2a85d07a0637f1a5e0",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "edits the note",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3104,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 379
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1631
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 93
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 613
                    }
                  ],
                  "startTime": "2026-08-17T02:19:32.856Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-913f5c8e7441738ef2de",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "removes the note",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3469,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 395
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1925
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 85
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 659
                    }
                  ],
                  "startTime": "2026-08-17T02:19:35.966Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-a64f0226043159bf1b3c",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "removes the vat number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3105,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 436
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1625
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 81
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 560
                    }
                  ],
                  "startTime": "2026-08-17T02:19:39.440Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-29d9ce97da6622be3213",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "edits the email",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2906,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 467
                    },
                    {
                      "title": "edit customer email",
                      "duration": 1591
                    },
                    {
                      "title": "verify new email on details page",
                      "duration": 11
                    },
                    {
                      "title": "verify new email on list page",
                      "duration": 460
                    }
                  ],
                  "startTime": "2026-08-17T02:19:42.551Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-be0e91b0ed35fb05e05d",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 103,
          "column": 5
        },
        {
          "title": "edits the phone number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4163,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 428
                    },
                    {
                      "title": "edit customer phone number",
                      "duration": 2877
                    },
                    {
                      "title": "verify new phone number on details page",
                      "duration": 14
                    },
                    {
                      "title": "verify new phone number on list page",
                      "duration": 462
                    }
                  ],
                  "startTime": "2026-08-17T02:19:45.462Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-11548907c04d6c5c914c",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 125,
          "column": 5
        },
        {
          "title": "rejects an edit with a duplicate email",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1888,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 379
                    },
                    {
                      "title": "setup: create customer via API",
                      "duration": 389
                    },
                    {
                      "title": "submit edit with duplicate email",
                      "duration": 603
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 62
                    }
                  ],
                  "startTime": "2026-08-17T02:19:49.630Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-7e1a29efb867e6162061",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 149,
          "column": 5
        },
        {
          "title": "rejects an edit with a duplicate phone number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3236,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 386
                    },
                    {
                      "title": "setup: create customer via API",
                      "duration": 360
                    },
                    {
                      "title": "submit edit with duplicate phone number",
                      "duration": 2030
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 58
                    }
                  ],
                  "startTime": "2026-08-17T02:19:51.527Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-e2e195c3797ea3fade1c",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 167,
          "column": 5
        },
        {
          "title": "rejects an edit with a vat number that does not match the vat type",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3070,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 406
                    },
                    {
                      "title": "submit edit with mismatched vat type and number",
                      "duration": 884
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 1398
                    }
                  ],
                  "startTime": "2026-08-17T02:19:54.768Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-bfd0dfeb46a79df1133a",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 185,
          "column": 5
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1474,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 381
                    },
                    {
                      "title": "submit edit clearing required fields",
                      "duration": 698
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-17T02:19:57.844Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-22caf72786632ed584e5",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 205,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "filters by id",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1472,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 530
                    },
                    {
                      "title": "apply filter",
                      "duration": 491
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 82
                    }
                  ],
                  "startTime": "2026-08-17T02:19:59.325Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-30019fa42b1b9e23f8b4",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 10,
          "column": 5
        },
        {
          "title": "filters by name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1508,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 446
                    },
                    {
                      "title": "apply filter",
                      "duration": 515
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 96
                    }
                  ],
                  "startTime": "2026-08-17T02:20:00.803Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-56055e5f68ef5d4c56da",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 26,
          "column": 5
        },
        {
          "title": "filters by email",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1398,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 465
                    },
                    {
                      "title": "apply filter",
                      "duration": 483
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 71
                    }
                  ],
                  "startTime": "2026-08-17T02:20:02.316Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-b0137de9e966876baf10",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 42,
          "column": 5
        },
        {
          "title": "filters by phone number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1389,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 466
                    },
                    {
                      "title": "apply filter",
                      "duration": 483
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 68
                    }
                  ],
                  "startTime": "2026-08-17T02:20:03.720Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-43bc6e331d82fe7bb2f9",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 61,
          "column": 5
        },
        {
          "title": "filters by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1434,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 478
                    },
                    {
                      "title": "apply filter",
                      "duration": 430
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 147
                    }
                  ],
                  "startTime": "2026-08-17T02:20:05.115Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-4665dc66c70b4fdaefcc",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 77,
          "column": 5
        },
        {
          "title": "filters by status=lead",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1389,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 417
                    },
                    {
                      "title": "apply filter",
                      "duration": 420
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 163
                    }
                  ],
                  "startTime": "2026-08-17T02:20:06.554Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-808dfd79c52d0c3719ae",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 97,
          "column": 5
        },
        {
          "title": "excludes lead customers when filtering status=active",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1607,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 469
                    },
                    {
                      "title": "apply filter",
                      "duration": 728
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-17T02:20:07.949Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-14833c9b7ed3d3fabb21",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 113,
          "column": 5
        },
        {
          "title": "filters by has-past-due-invoices=none",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1500,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 465
                    },
                    {
                      "title": "apply filter",
                      "duration": 488
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 146
                    }
                  ],
                  "startTime": "2026-08-17T02:20:09.562Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-e52df37b58bc987b00c3",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 128,
          "column": 5
        },
        {
          "title": "filters by email, location and has-past-due-invoices",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1808,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 406
                    },
                    {
                      "title": "apply filter",
                      "duration": 980
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:20:11.068Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-ad2c3bd0596653cfe8ac",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 148,
          "column": 5
        },
        {
          "title": "filters by id, location, status and has-past-due-invoices",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2218,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 529
                    },
                    {
                      "title": "apply filter",
                      "duration": 1259
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-17T02:20:12.882Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-0c5c293f9e49b0025206",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 164,
          "column": 5
        },
        {
          "title": "excludes customers not in the filtered location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1662,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 442
                    },
                    {
                      "title": "apply filter",
                      "duration": 807
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 8
                    }
                  ],
                  "startTime": "2026-08-17T02:20:15.106Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-8ca0f023f24acc4e1cf5",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 181,
          "column": 5
        },
        {
          "title": "excludes customers without past-due invoices when filtering has-past-due-invoices=yes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1504,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 383
                    },
                    {
                      "title": "apply filter",
                      "duration": 721
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-17T02:20:16.774Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-c0b58aabfe3cc8375dcf",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 196,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-navigate.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-navigate.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "navigates from the customer list to the customer details page",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1483,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 393
                    },
                    {
                      "title": "navigate to customer details page",
                      "duration": 610
                    },
                    {
                      "title": "verify customer details page",
                      "duration": 88
                    }
                  ],
                  "startTime": "2026-08-17T02:20:18.284Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "ca269772659311347d43-d6a8a6886c5f2294984d",
          "file": "src/manager/tests/e2e/customer/customer-navigate.spec.ts",
          "line": 7,
          "column": 5
        },
        {
          "title": "navigates from the customer list to the customer create dialog",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 989,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open customer create dialog from list",
                      "duration": 279
                    },
                    {
                      "title": "verify customer create dialog is open",
                      "duration": 355
                    }
                  ],
                  "startTime": "2026-08-17T02:20:19.773Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "ca269772659311347d43-8f169967a7e6754d00fd",
          "file": "src/manager/tests/e2e/customer/customer-navigate.spec.ts",
          "line": 23,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-set-password.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-set-password.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "sets a password",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2022,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 490
                    },
                    {
                      "title": "set password",
                      "duration": 1159
                    }
                  ],
                  "startTime": "2026-08-17T02:20:20.770Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "07f2253dcb9dcc7c415f-8fc300f0009d3555c6f6",
          "file": "src/manager/tests/e2e/customer/customer-set-password.spec.ts",
          "line": 5,
          "column": 5
        },
        {
          "title": "rejects setting a password when confirm password does not match",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1877,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 469
                    },
                    {
                      "title": "submit set-password form with mismatched confirm",
                      "duration": 1016
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-17T02:20:22.800Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "07f2253dcb9dcc7c415f-a370f30167d6e12ae993",
          "file": "src/manager/tests/e2e/customer/customer-set-password.spec.ts",
          "line": 17,
          "column": 5
        },
        {
          "title": "rejects setting a weak password",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2290,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 511
                    },
                    {
                      "title": "submit set-password form with a weak password",
                      "duration": 1031
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:20:24.682Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "07f2253dcb9dcc7c415f-c50a0a7d87c95abd0ad4",
          "file": "src/manager/tests/e2e/customer/customer-set-password.spec.ts",
          "line": 40,
          "column": 5
        },
        {
          "title": "rejects setting a password without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1749,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 411
                    },
                    {
                      "title": "submit set-password form with cleared required fields",
                      "duration": 963
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:20:26.978Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "07f2253dcb9dcc7c415f-c7ce7fa199e7ee0047a3",
          "file": "src/manager/tests/e2e/customer/customer-set-password.spec.ts",
          "line": 58,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
      "file": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates a deposit with zero taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2432,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create deposit",
                      "duration": 1565
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 94
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 426
                    }
                  ],
                  "startTime": "2026-08-17T02:20:28.735Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "cba673659e7f1f6bd0fc-be2529f24282f7c69049",
          "file": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
          "line": 11,
          "column": 7
        },
        {
          "title": "creates a deposit with equal b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3341,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create deposit",
                      "duration": 2503
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 76
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 415
                    }
                  ],
                  "startTime": "2026-08-17T02:20:31.172Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "cba673659e7f1f6bd0fc-cc67a00c4841367d9a89",
          "file": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
          "line": 11,
          "column": 7
        },
        {
          "title": "creates a deposit with mixed b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3314,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create deposit",
                      "duration": 2452
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 80
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 436
                    }
                  ],
                  "startTime": "2026-08-17T02:20:34.519Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "cba673659e7f1f6bd0fc-5f996d87d967c8e3e25c",
          "file": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
          "line": 11,
          "column": 7
        },
        {
          "title": "rejects a deposit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 835,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid deposit create form",
                      "duration": 458
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-17T02:20:37.837Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "cba673659e7f1f6bd0fc-c0d7b858fe942de6c1c7",
          "file": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
          "line": 52,
          "column": 5
        },
        {
          "title": "rejects a deposit with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2549,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1407
                    },
                    {
                      "title": "submit deposit create form with duplicate name",
                      "duration": 726
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 61
                    }
                  ],
                  "startTime": "2026-08-17T02:20:38.677Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "cba673659e7f1f6bd0fc-00336ab762b3c701d7c6",
          "file": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
          "line": 62,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/deposit/deposit-delete.spec.ts",
      "file": "src/manager/tests/e2e/deposit/deposit-delete.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes a deposit that is not used by any bookings",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3403,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1366
                    },
                    {
                      "title": "delete deposit",
                      "duration": 1414
                    },
                    {
                      "title": "verify deposit is no longer on list page",
                      "duration": 285
                    }
                  ],
                  "startTime": "2026-08-17T02:20:41.231Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "47e937dc020653e32743-bb8f0facf811a90035fd",
          "file": "src/manager/tests/e2e/deposit/deposit-delete.spec.ts",
          "line": 6,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
      "file": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3557,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1462
                    },
                    {
                      "title": "edit deposit general",
                      "duration": 1306
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 11
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 443
                    }
                  ],
                  "startTime": "2026-08-17T02:20:44.642Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c5839ebd1bfb68300a0c-567bb89ee958025092da",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "edits the price",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3961,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1485
                    },
                    {
                      "title": "edit deposit general",
                      "duration": 1556
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 31
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 495
                    }
                  ],
                  "startTime": "2026-08-17T02:20:48.204Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c5839ebd1bfb68300a0c-8adcfecafc57f89686a1",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "edits the name and price",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4187,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1531
                    },
                    {
                      "title": "edit deposit general",
                      "duration": 1843
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 14
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 445
                    }
                  ],
                  "startTime": "2026-08-17T02:20:52.172Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c5839ebd1bfb68300a0c-4ec47169942cc23eebc5",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2256,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1338
                    },
                    {
                      "title": "submit edit clearing the name",
                      "duration": 563
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:20:56.365Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c5839ebd1bfb68300a0c-19ca683805e60e866cb7",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
          "line": 46,
          "column": 5
        },
        {
          "title": "rejects an edit with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3822,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1428
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1450
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 574
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 37
                    }
                  ],
                  "startTime": "2026-08-17T02:20:58.626Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c5839ebd1bfb68300a0c-478c406529cf384efb04",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
          "line": 63,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/deposit/deposit-edit-tax.spec.ts",
      "file": "src/manager/tests/e2e/deposit/deposit-edit-tax.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the b2c tax",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2847,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1384
                    },
                    {
                      "title": "edit deposit tax",
                      "duration": 1124
                    },
                    {
                      "title": "verify new deposit tax on details page",
                      "duration": 10
                    }
                  ],
                  "startTime": "2026-08-17T02:21:02.456Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "902dcb1cf333e7cf2936-2b08f9f3e6623de0a8d2",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits the b2b tax",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2661,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1305
                    },
                    {
                      "title": "edit deposit tax",
                      "duration": 1011
                    },
                    {
                      "title": "verify new deposit tax on details page",
                      "duration": 10
                    }
                  ],
                  "startTime": "2026-08-17T02:21:05.308Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "902dcb1cf333e7cf2936-fb46373676ef90f293bc",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits both b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3007,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1313
                    },
                    {
                      "title": "edit deposit tax",
                      "duration": 1355
                    },
                    {
                      "title": "verify new deposit tax on details page",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-17T02:21:07.976Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "902dcb1cf333e7cf2936-82150ac970080afe606d",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2377,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1403
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 630
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 10
                    }
                  ],
                  "startTime": "2026-08-17T02:21:10.988Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "902dcb1cf333e7cf2936-d1bd593cc500fc1baf40",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-tax.spec.ts",
          "line": 26,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/deposit/deposit-filter.spec.ts",
      "file": "src/manager/tests/e2e/deposit/deposit-filter.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "filters by id",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2328,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1495
                    },
                    {
                      "title": "apply filter",
                      "duration": 455
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 50
                    }
                  ],
                  "startTime": "2026-08-17T02:21:13.371Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "714dec3bb8e9476c7695-3f519ac57fa16f298729",
          "file": "src/manager/tests/e2e/deposit/deposit-filter.spec.ts",
          "line": 9,
          "column": 5
        },
        {
          "title": "filters by name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2205,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1361
                    },
                    {
                      "title": "apply filter",
                      "duration": 461
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 57
                    }
                  ],
                  "startTime": "2026-08-17T02:21:15.704Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "714dec3bb8e9476c7695-28e5bb1f1a83e976756d",
          "file": "src/manager/tests/e2e/deposit/deposit-filter.spec.ts",
          "line": 25,
          "column": 5
        },
        {
          "title": "filters by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2565,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1445
                    },
                    {
                      "title": "apply filter",
                      "duration": 338
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 94
                    }
                  ],
                  "startTime": "2026-08-17T02:21:17.915Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "714dec3bb8e9476c7695-1cb2f0f752f5742fa35e",
          "file": "src/manager/tests/e2e/deposit/deposit-filter.spec.ts",
          "line": 40,
          "column": 5
        },
        {
          "title": "filters by name and location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2435,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1449
                    },
                    {
                      "title": "apply filter",
                      "duration": 598
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-17T02:21:18.786Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "714dec3bb8e9476c7695-63cbe4db1409f010c6fd",
          "file": "src/manager/tests/e2e/deposit/deposit-filter.spec.ts",
          "line": 59,
          "column": 5
        },
        {
          "title": "excludes deposits not in the filtered location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2405,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1452
                    },
                    {
                      "title": "apply filter",
                      "duration": 579
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 5
                    }
                  ],
                  "startTime": "2026-08-17T02:21:20.485Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "714dec3bb8e9476c7695-bdf84c92ac9f4805a242",
          "file": "src/manager/tests/e2e/deposit/deposit-filter.spec.ts",
          "line": 74,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/deposit/deposit-navigate.spec.ts",
      "file": "src/manager/tests/e2e/deposit/deposit-navigate.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "navigates from the deposit list to the deposit details page",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2778,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1761
                    },
                    {
                      "title": "navigate to deposit details page",
                      "duration": 598
                    },
                    {
                      "title": "verify deposit details page",
                      "duration": 55
                    }
                  ],
                  "startTime": "2026-08-17T02:21:21.229Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "853facc7ae9593ecd7cf-b1565e19571a2da527e0",
          "file": "src/manager/tests/e2e/deposit/deposit-navigate.spec.ts",
          "line": 7,
          "column": 5
        },
        {
          "title": "navigates from the deposit list to the deposit create dialog",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 931,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open deposit create dialog from list",
                      "duration": 292
                    },
                    {
                      "title": "verify deposit create dialog is open",
                      "duration": 302
                    }
                  ],
                  "startTime": "2026-08-17T02:21:22.896Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "853facc7ae9593ecd7cf-e11e1c1b0b9f46554793",
          "file": "src/manager/tests/e2e/deposit/deposit-navigate.spec.ts",
          "line": 22,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/discount/discount-attach-billing-plans.spec.ts",
      "file": "src/manager/tests/e2e/discount/discount-attach-billing-plans.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "attaches billing plans from multiple unit types via the picker",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 11497,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4647
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2769
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 862
                    },
                    {
                      "title": "attach billing plans from two unit types",
                      "duration": 2760
                    },
                    {
                      "title": "verify attached billing plans in inline list",
                      "duration": 59
                    }
                  ],
                  "startTime": "2026-08-17T02:21:23.837Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5bc7c04f9c108080fb5d-47a647681bc880641761",
          "file": "src/manager/tests/e2e/discount/discount-attach-billing-plans.spec.ts",
          "line": 13,
          "column": 5
        },
        {
          "title": "rejects attaching a billing plan already used by a discount with the same code",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7150,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2378
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 690
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 2264
                    },
                    {
                      "title": "attempt to attach the conflicting billing plan and verify the code-in-use error",
                      "duration": 1443
                    }
                  ],
                  "startTime": "2026-08-17T02:21:24.018Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5bc7c04f9c108080fb5d-f646ddd08ab83aadd1d0",
          "file": "src/manager/tests/e2e/discount/discount-attach-billing-plans.spec.ts",
          "line": 55,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/discount/discount-attach-products.spec.ts",
      "file": "src/manager/tests/e2e/discount/discount-attach-products.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "attaches a one-time product and a deposit via the picker",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8324,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2049
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1581
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1392
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 834
                    },
                    {
                      "title": "attach a one-time product and a deposit",
                      "duration": 1481
                    },
                    {
                      "title": "verify attached one-time products and deposits in inline list",
                      "duration": 583
                    }
                  ],
                  "startTime": "2026-08-17T02:21:31.177Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "244488e977971873f49c-26f472dc4409ccf79c01",
          "file": "src/manager/tests/e2e/discount/discount-attach-products.spec.ts",
          "line": 9,
          "column": 5
        },
        {
          "title": "attaches a product to a coded discount without a code conflict",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 9047,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2623
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1486
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1376
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 772
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 775
                    },
                    {
                      "title": "attach a non-conflicting product",
                      "duration": 1041
                    },
                    {
                      "title": "verify the attached product in the inline list",
                      "duration": 615
                    }
                  ],
                  "startTime": "2026-08-17T02:21:35.341Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "244488e977971873f49c-9278419ff542684dc8ac",
          "file": "src/manager/tests/e2e/discount/discount-attach-products.spec.ts",
          "line": 41,
          "column": 5
        },
        {
          "title": "rejects attaching a product already used by a discount with the same code",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8055,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3678
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1467
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 749
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 814
                    },
                    {
                      "title": "attempt to attach the conflicting product and verify the code-in-use error",
                      "duration": 977
                    }
                  ],
                  "startTime": "2026-08-17T02:21:39.509Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "244488e977971873f49c-0c8aac8e702922298866",
          "file": "src/manager/tests/e2e/discount/discount-attach-products.spec.ts",
          "line": 74,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/discount/discount-create.spec.ts",
      "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates a percentage discount with a once duration",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6942,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2727
                    },
                    {
                      "title": "create discount",
                      "duration": 2703
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 581
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 553
                    }
                  ],
                  "startTime": "2026-08-17T02:21:44.395Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-b1a51e8f45eb354078bb",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 23,
          "column": 7
        },
        {
          "title": "creates a fixed amount discount with a once duration",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5616,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1440
                    },
                    {
                      "title": "create discount",
                      "duration": 2634
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 606
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 537
                    }
                  ],
                  "startTime": "2026-08-17T02:21:47.572Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-9b7d4ff2f604b2e2e1b0",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 23,
          "column": 7
        },
        {
          "title": "creates a percentage discount with a multiple-months duration",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6028,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1423
                    },
                    {
                      "title": "create discount",
                      "duration": 3157
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 488
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 588
                    }
                  ],
                  "startTime": "2026-08-17T02:21:51.343Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-4da8dfcc39fc1f201e00",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 23,
          "column": 7
        },
        {
          "title": "creates a fixed amount discount with a forever duration",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5511,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1373
                    },
                    {
                      "title": "create discount",
                      "duration": 2632
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 597
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 540
                    }
                  ],
                  "startTime": "2026-08-17T02:21:53.194Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-5fe654a7978b4ed8300b",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 23,
          "column": 7
        },
        {
          "title": "creates a percentage discount with an expiry date",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6331,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1430
                    },
                    {
                      "title": "create discount",
                      "duration": 3425
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 512
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 597
                    }
                  ],
                  "startTime": "2026-08-17T02:21:57.376Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-6ae7a6f0ba77d6410888",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 23,
          "column": 7
        },
        {
          "title": "creates a fixed amount discount with a usage limit",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6318,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1386
                    },
                    {
                      "title": "create discount",
                      "duration": 2788
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 586
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 566
                    }
                  ],
                  "startTime": "2026-08-17T02:21:58.710Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-6190c02fd323d3487558",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 23,
          "column": 7
        },
        {
          "title": "creates a percentage discount with an expiry date and a usage limit",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6714,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1529
                    },
                    {
                      "title": "create discount",
                      "duration": 3582
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 535
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 687
                    }
                  ],
                  "startTime": "2026-08-17T02:22:03.713Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-68655d1598ebccba1249",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 23,
          "column": 7
        },
        {
          "title": "creates a fixed amount discount with a customer code",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6773,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1928
                    },
                    {
                      "title": "create discount",
                      "duration": 3329
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 512
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 607
                    }
                  ],
                  "startTime": "2026-08-17T02:22:05.033Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-02c44709772d5b44e4b3",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 23,
          "column": 7
        },
        {
          "title": "creates a discount with one-time products and deposits",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7097,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1606
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1600
                    },
                    {
                      "title": "create discount",
                      "duration": 3000
                    },
                    {
                      "title": "verify one-time products and deposits on details page",
                      "duration": 481
                    }
                  ],
                  "startTime": "2026-08-17T02:22:10.435Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-758644608663d40f7b1f",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 77,
          "column": 5
        },
        {
          "title": "creates a discount with billing plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7886,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2844
                    },
                    {
                      "title": "create discount",
                      "duration": 4132
                    },
                    {
                      "title": "verify billing plans on details page",
                      "duration": 512
                    }
                  ],
                  "startTime": "2026-08-17T02:22:11.812Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-bbc87c5b99c77f94ba82",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 103,
          "column": 5
        },
        {
          "title": "creates a discount with one-time products and billing plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 10939,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2444
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2305
                    },
                    {
                      "title": "create discount",
                      "duration": 4880
                    },
                    {
                      "title": "verify one-time products and billing plans on details page",
                      "duration": 923
                    }
                  ],
                  "startTime": "2026-08-17T02:22:17.539Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-599760fa98aa907deba5",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 129,
          "column": 5
        },
        {
          "title": "creates a discount reusing a code for a different product",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8397,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1510
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2012
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 807
                    },
                    {
                      "title": "create a second discount reusing the code on a different product",
                      "duration": 3242
                    },
                    {
                      "title": "verify the reused code was accepted",
                      "duration": 457
                    }
                  ],
                  "startTime": "2026-08-17T02:22:19.703Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-6378b1a573f3c4cd7c32",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 155,
          "column": 5
        },
        {
          "title": "creates a discount reusing a code for a different billing plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7946,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2622
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 782
                    },
                    {
                      "title": "create a second discount reusing the code on a different billing plan",
                      "duration": 3594
                    },
                    {
                      "title": "verify the reused code was accepted",
                      "duration": 584
                    }
                  ],
                  "startTime": "2026-08-17T02:22:28.106Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-94423abda6cd63182748",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 183,
          "column": 5
        },
        {
          "title": "creates a discount reusing a code in a different location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 8374,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1422
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2473
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 827
                    },
                    {
                      "title": "create a second discount reusing the code in a different location",
                      "duration": 3234
                    },
                    {
                      "title": "verify the reused code was accepted",
                      "duration": 51
                    }
                  ],
                  "startTime": "2026-08-17T02:22:28.484Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-1120cabe77109c7cac16",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 220,
          "column": 5
        },
        {
          "title": "rejects a discount without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 864,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid discount create form",
                      "duration": 479
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 32
                    }
                  ],
                  "startTime": "2026-08-17T02:22:36.056Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-efa8c64f86d36ffe0d1f",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 249,
          "column": 5
        },
        {
          "title": "rejects a discount with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5030,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1471
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 868
                    },
                    {
                      "title": "submit discount create form with duplicate name",
                      "duration": 2296
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 33
                    }
                  ],
                  "startTime": "2026-08-17T02:22:36.863Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-9a49d483872ed0446860",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 259,
          "column": 5
        },
        {
          "title": "rejects a discount with a duplicate code",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7660,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3379
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 855
                    },
                    {
                      "title": "submit discount create form with duplicate code",
                      "duration": 3021
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 33
                    }
                  ],
                  "startTime": "2026-08-17T02:22:36.928Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-7a6837f8d75f835a7041",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 280,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/discount/discount-delete.spec.ts",
      "file": "src/manager/tests/e2e/discount/discount-delete.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes a discount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4724,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1581
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 981
                    },
                    {
                      "title": "delete discount",
                      "duration": 1393
                    },
                    {
                      "title": "verify discount is no longer on list page",
                      "duration": 408
                    }
                  ],
                  "startTime": "2026-08-17T02:22:41.900Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "bedad662d134fbcd2ea9-13c9508986d90e933fe4",
          "file": "src/manager/tests/e2e/discount/discount-delete.spec.ts",
          "line": 6,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/discount/discount-detach-billing-plans.spec.ts",
      "file": "src/manager/tests/e2e/discount/discount-detach-billing-plans.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "detaches a billing plan via the inline action",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6336,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4275
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 939
                    },
                    {
                      "title": "detach billing plan",
                      "duration": 283
                    },
                    {
                      "title": "verify only the remaining billing plan is attached",
                      "duration": 460
                    }
                  ],
                  "startTime": "2026-08-17T02:22:44.593Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "fa27c712919275ab71f4-40f9ff04e0c49d4da9bf",
          "file": "src/manager/tests/e2e/discount/discount-detach-billing-plans.spec.ts",
          "line": 10,
          "column": 5
        },
        {
          "title": "rejects detaching all billing plans when no products remain",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7984,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4138
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1931
                    },
                    {
                      "title": "attempt to detach all billing plans and verify error snackbar",
                      "duration": 1549
                    }
                  ],
                  "startTime": "2026-08-17T02:22:46.630Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "fa27c712919275ab71f4-9fe72cf0f765626b2089",
          "file": "src/manager/tests/e2e/discount/discount-detach-billing-plans.spec.ts",
          "line": 40,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/discount/discount-detach-products.spec.ts",
      "file": "src/manager/tests/e2e/discount/discount-detach-products.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "detaches a deposit via the inline action",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6519,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2879
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1586
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 950
                    },
                    {
                      "title": "detach deposit",
                      "duration": 285
                    },
                    {
                      "title": "verify only the remaining one-time product is attached",
                      "duration": 428
                    }
                  ],
                  "startTime": "2026-08-17T02:22:50.936Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b15bece694591f0919b9-df99983286737c7d2ec0",
          "file": "src/manager/tests/e2e/discount/discount-detach-products.spec.ts",
          "line": 8,
          "column": 5
        },
        {
          "title": "rejects detaching all products when no billing plans remain",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5433,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2863
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1006
                    },
                    {
                      "title": "attempt to detach all products and verify error snackbar",
                      "duration": 1192
                    }
                  ],
                  "startTime": "2026-08-17T02:22:54.622Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b15bece694591f0919b9-32c752dd094e7e75476d",
          "file": "src/manager/tests/e2e/discount/discount-detach-products.spec.ts",
          "line": 38,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/discount/discount-edit-general.spec.ts",
      "file": "src/manager/tests/e2e/discount/discount-edit-general.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5493,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2069
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 954
                    },
                    {
                      "title": "edit discount general",
                      "duration": 1510
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 19
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 553
                    }
                  ],
                  "startTime": "2026-08-17T02:22:57.463Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2a602df245420017f537-447f7c049040a7c73e18",
          "file": "src/manager/tests/e2e/discount/discount-edit-general.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "activates the code",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4469,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1771
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 878
                    },
                    {
                      "title": "edit discount general",
                      "duration": 869
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 23
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 578
                    }
                  ],
                  "startTime": "2026-08-17T02:23:00.062Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2a602df245420017f537-b1fb3baa0fededb5b03d",
          "file": "src/manager/tests/e2e/discount/discount-edit-general.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "deactivates the code",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4305,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1626
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 824
                    },
                    {
                      "title": "edit discount general",
                      "duration": 892
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 27
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 582
                    }
                  ],
                  "startTime": "2026-08-17T02:23:02.961Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2a602df245420017f537-a934b09b5ec2fb52f2b7",
          "file": "src/manager/tests/e2e/discount/discount-edit-general.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "edits the code value",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5020,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1849
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 912
                    },
                    {
                      "title": "edit discount general",
                      "duration": 1342
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 22
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 540
                    }
                  ],
                  "startTime": "2026-08-17T02:23:04.536Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2a602df245420017f537-ac771594afe8760504af",
          "file": "src/manager/tests/e2e/discount/discount-edit-general.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "removes the code",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4802,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1540
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 940
                    },
                    {
                      "title": "edit discount general",
                      "duration": 1405
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 21
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 547
                    }
                  ],
                  "startTime": "2026-08-17T02:23:07.272Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2a602df245420017f537-26b45e7d3cbcc1d5ab70",
          "file": "src/manager/tests/e2e/discount/discount-edit-general.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "rejects an edit with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4885,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1616
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 935
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 866
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 1107
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:23:09.563Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2a602df245420017f537-1826346000f6ff827f22",
          "file": "src/manager/tests/e2e/discount/discount-edit-general.spec.ts",
          "line": 50,
          "column": 5
        },
        {
          "title": "rejects an edit with a duplicate code",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5273,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2059
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 901
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 857
                    },
                    {
                      "title": "submit edit with duplicate code",
                      "duration": 1082
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 28
                    }
                  ],
                  "startTime": "2026-08-17T02:23:12.080Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2a602df245420017f537-cceea0372321f87e4d8e",
          "file": "src/manager/tests/e2e/discount/discount-edit-general.spec.ts",
          "line": 69,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/discount/discount-filter.spec.ts",
      "file": "src/manager/tests/e2e/discount/discount-filter.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "filters by name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4305,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2548
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 889
                    },
                    {
                      "title": "apply filter",
                      "duration": 461
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 84
                    }
                  ],
                  "startTime": "2026-08-17T02:23:14.455Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "97c0816426fca05e1946-40ffba8780697e1adcee",
          "file": "src/manager/tests/e2e/discount/discount-filter.spec.ts",
          "line": 9,
          "column": 5
        },
        {
          "title": "filters by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3229,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1609
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 846
                    },
                    {
                      "title": "apply filter",
                      "duration": 357
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 87
                    }
                  ],
                  "startTime": "2026-08-17T02:23:17.359Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "97c0816426fca05e1946-1c6f57e1ffbcaa57f86e",
          "file": "src/manager/tests/e2e/discount/discount-filter.spec.ts",
          "line": 29,
          "column": 5
        },
        {
          "title": "filters by name and location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3958,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2081
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 916
                    },
                    {
                      "title": "apply filter",
                      "duration": 614
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-17T02:23:18.769Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "97c0816426fca05e1946-d43870be776c3a526ef4",
          "file": "src/manager/tests/e2e/discount/discount-filter.spec.ts",
          "line": 49,
          "column": 5
        },
        {
          "title": "excludes discounts not in the filtered location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3975,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2194
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 865
                    },
                    {
                      "title": "apply filter",
                      "duration": 560
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 5
                    }
                  ],
                  "startTime": "2026-08-17T02:23:20.594Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "97c0816426fca05e1946-0e03554808da83855eb3",
          "file": "src/manager/tests/e2e/discount/discount-filter.spec.ts",
          "line": 65,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/discount/discount-navigate.spec.ts",
      "file": "src/manager/tests/e2e/discount/discount-navigate.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "navigates from the discount list to the discount details page",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3929,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2013
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 992
                    },
                    {
                      "title": "navigate to discount details page",
                      "duration": 510
                    },
                    {
                      "title": "verify discount details page",
                      "duration": 66
                    }
                  ],
                  "startTime": "2026-08-17T02:23:22.740Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c342534d2d4664a72169-6493284e36a611db1192",
          "file": "src/manager/tests/e2e/discount/discount-navigate.spec.ts",
          "line": 7,
          "column": 5
        },
        {
          "title": "navigates from the discount list to the discount create dialog",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 944,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open discount create dialog from list",
                      "duration": 280
                    },
                    {
                      "title": "verify discount create dialog is open",
                      "duration": 330
                    }
                  ],
                  "startTime": "2026-08-17T02:23:24.575Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c342534d2d4664a72169-74295a45bf30bc9fdff2",
          "file": "src/manager/tests/e2e/discount/discount-navigate.spec.ts",
          "line": 27,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/discount/discount-update-billing-plans.spec.ts",
      "file": "src/manager/tests/e2e/discount/discount-update-billing-plans.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "updates the billing plan list across multiple unit types via the picker",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 10330,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2618
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4216
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 903
                    },
                    {
                      "title": "update attached billing plans across unit types",
                      "duration": 2220
                    },
                    {
                      "title": "verify updated billing plans in inline list",
                      "duration": 39
                    }
                  ],
                  "startTime": "2026-08-17T02:23:25.525Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "ea593ae39f8b3c69281e-ca73a5bfb8d607f0848b",
          "file": "src/manager/tests/e2e/discount/discount-update-billing-plans.spec.ts",
          "line": 12,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/discount/discount-update-products.spec.ts",
      "file": "src/manager/tests/e2e/discount/discount-update-products.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "updates the product list with a one-time product and a deposit via the picker",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 11302,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2657
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2085
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2856
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1042
                    },
                    {
                      "title": "update attached one-time products and deposits",
                      "duration": 1819
                    },
                    {
                      "title": "verify updated one-time products and deposits in inline list",
                      "duration": 471
                    }
                  ],
                  "startTime": "2026-08-17T02:23:26.677Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "71ae080388b264849ef9-44536e4e217e8bd26419",
          "file": "src/manager/tests/e2e/discount/discount-update-products.spec.ts",
          "line": 9,
          "column": 5
        },
        {
          "title": "rejects updating to a product already used by a discount with the same code",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8428,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2000
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1618
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 2073
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1043
                    },
                    {
                      "title": "attempt to swap in the conflicting product and verify the code-in-use error",
                      "duration": 1318
                    }
                  ],
                  "startTime": "2026-08-17T02:23:35.861Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "71ae080388b264849ef9-774645f8db1765034ecb",
          "file": "src/manager/tests/e2e/discount/discount-update-products.spec.ts",
          "line": 43,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "adds a weekly booking plan to weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4523,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2490
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1426
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 238
                    }
                  ],
                  "startTime": "2026-08-17T02:23:37.990Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-70699114dce7b9797f68",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a monthly booking plan to monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4826,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2780
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1451
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 222
                    }
                  ],
                  "startTime": "2026-08-17T02:23:42.517Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-2222b2393eba29e654c6",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a booking plan to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4579,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2591
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1391
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 231
                    }
                  ],
                  "startTime": "2026-08-17T02:23:44.300Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-cf5608511f9e00b7be68",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate period amount to weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4369,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2723
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1261
                    }
                  ],
                  "startTime": "2026-08-17T02:23:45.421Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-f0ea4ad64c447bddf9ee",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate period amount to monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4239,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2587
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1300
                    }
                  ],
                  "startTime": "2026-08-17T02:23:47.348Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-1901ba886e9a51bc2386",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate weekly period amount to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4205,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2584
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1253
                    }
                  ],
                  "startTime": "2026-08-17T02:23:48.884Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-d874fa8da5f2634c85e8",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate monthly period amount to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4511,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2848
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1294
                    }
                  ],
                  "startTime": "2026-08-17T02:23:49.846Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-a90c4481190005aa0a1d",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a weekly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4175,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2601
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1234
                    }
                  ],
                  "startTime": "2026-08-17T02:23:51.593Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-0934ae9a2693c8595818",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a weekly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4277,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2707
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1212
                    }
                  ],
                  "startTime": "2026-08-17T02:23:53.094Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-3bcd895d3bf479552ad9",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a monthly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4227,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2596
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1270
                    }
                  ],
                  "startTime": "2026-08-17T02:23:54.364Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-a5089f2dfb250e4ec006",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a monthly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4256,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2563
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1320
                    }
                  ],
                  "startTime": "2026-08-17T02:23:55.773Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-84f3f412f966c29147f0",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3304,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2290
                    },
                    {
                      "title": "submit booking plan add form without required fields",
                      "duration": 637
                    }
                  ],
                  "startTime": "2026-08-17T02:23:57.377Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-878aa758499157976843",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 50,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates an insurance with a single booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4386,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3252
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 254
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 475
                    }
                  ],
                  "startTime": "2026-08-17T02:23:58.600Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-d7934a0587bde53e3a19",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with weekly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7433,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 6272
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 345
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 406
                    }
                  ],
                  "startTime": "2026-08-17T02:24:00.037Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-d9c99db09412f2514004",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with monthly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7997,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 6833
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 255
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 406
                    }
                  ],
                  "startTime": "2026-08-17T02:24:00.690Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-7d4a53ff84d3884e0216",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with mixed booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7750,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 6549
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 369
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 429
                    }
                  ],
                  "startTime": "2026-08-17T02:24:02.992Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-d179e4f0a10bb03554c2",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with zero taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4532,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3448
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 222
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 453
                    }
                  ],
                  "startTime": "2026-08-17T02:24:07.476Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-40d82eb83e0a2522c29e",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with equal b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4428,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3379
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 198
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 449
                    }
                  ],
                  "startTime": "2026-08-17T02:24:08.693Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-b3ce94c2fdc8015578e5",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with mixed b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4355,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3292
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 205
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 452
                    }
                  ],
                  "startTime": "2026-08-17T02:24:10.747Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-f05ce72a6da5334ca546",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with a short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4477,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3473
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 157
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 423
                    }
                  ],
                  "startTime": "2026-08-17T02:24:12.014Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-09d7779f1fec660c43cf",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "rejects an insurance without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2103,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid insurance create form",
                      "duration": 1660
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-17T02:24:13.127Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-3ab8f2238e0f370dc49a",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 56,
          "column": 5
        },
        {
          "title": "rejects an insurance with a duplicate name @bug",
          "ok": true,
          "tags": [
            "bug"
          ],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [
                {
                  "type": "fail",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-create.spec.ts",
                    "line": 71,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "failed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "failed",
                  "duration": 34632,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-dialog:has([data-test-id=\"insurance-create-dialog\"]):has(.v-overlay__content:not(.dialog-bottom-transition-enter-active))').locator('.v-input--error')\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-dialog:has([data-test-id=\"insurance-create-dialog\"]):has(.v-overlay__content:not(.dialog-bottom-transition-enter-active))').locator('.v-input--error')\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-create.spec.ts:83:48\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-create.spec.ts:82:3",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-create.spec.ts",
                      "column": 48,
                      "line": 83
                    },
                    "snippet": "\u001b[0m \u001b[90m 81 |\u001b[39m\n \u001b[90m 82 |\u001b[39m   \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify errors on form'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 83 |\u001b[39m     \u001b[36mawait\u001b[39m expect(insuranceCreateDialog\u001b[33m.\u001b[39merrors)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                                \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 84 |\u001b[39m   })\u001b[33m;\u001b[39m\n \u001b[90m 85 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-create.spec.ts",
                        "column": 48,
                        "line": 83
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-dialog:has([data-test-id=\"insurance-create-dialog\"]):has(.v-overlay__content:not(.dialog-bottom-transition-enter-active))').locator('.v-input--error')\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n\n  81 |\n  82 |   await test.step('verify errors on form', async () => {\n> 83 |     await expect(insuranceCreateDialog.errors).toHaveCountGreaterThan(0);\n     |                                                ^\n  84 |   });\n  85 | });\n  86 |\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-create.spec.ts:83:48\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-create.spec.ts:82:3"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 1764
                    },
                    {
                      "title": "submit insurance create form with duplicate name",
                      "duration": 2429
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 30025,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-dialog:has([data-test-id=\"insurance-create-dialog\"]):has(.v-overlay__content:not(.dialog-bottom-transition-enter-active))').locator('.v-input--error')\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-dialog:has([data-test-id=\"insurance-create-dialog\"]):has(.v-overlay__content:not(.dialog-bottom-transition-enter-active))').locator('.v-input--error')\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-create.spec.ts:83:48\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-create.spec.ts:82:3",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-create.spec.ts",
                          "column": 48,
                          "line": 83
                        },
                        "snippet": "\u001b[0m \u001b[90m 81 |\u001b[39m\n \u001b[90m 82 |\u001b[39m   \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify errors on form'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 83 |\u001b[39m     \u001b[36mawait\u001b[39m expect(insuranceCreateDialog\u001b[33m.\u001b[39merrors)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                                \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 84 |\u001b[39m   })\u001b[33m;\u001b[39m\n \u001b[90m 85 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:24:15.109Z",
                  "annotations": [
                    {
                      "type": "fail",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-create.spec.ts",
                        "line": 71,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/insurance-insurance-create-be325-e-with-a-duplicate-name-bug-manager-e2e/error-context.md"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-create.spec.ts",
                    "column": 48,
                    "line": 83
                  }
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-7d4e15c457026470868f",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 71,
          "column": 6
        },
        {
          "title": "rejects an insurance with duplicate weekly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3308,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid insurance create form",
                      "duration": 2909
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-17T02:24:15.235Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-0c571e4b51cfe32d0bf3",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 88,
          "column": 7
        },
        {
          "title": "rejects an insurance with duplicate monthly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3414,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid insurance create form",
                      "duration": 3023
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-17T02:24:16.497Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-768020c4dda794fba721",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 88,
          "column": 7
        },
        {
          "title": "rejects an insurance with duplicate mixed booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4855,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid insurance create form",
                      "duration": 4419
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-17T02:24:18.548Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-e6dbbee6a06c0786eea3",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 88,
          "column": 7
        },
        {
          "title": "rejects an insurance with weekly booking plans beyond the max period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2364,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1953
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 8
                    }
                  ],
                  "startTime": "2026-08-17T02:24:19.916Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-e9bdd40f19c2fcabb902",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 105,
          "column": 7
        },
        {
          "title": "rejects an insurance with weekly booking plans below the min period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2398,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1994
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-17T02:24:22.284Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-4e98f3d99227c0c2b4b2",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 105,
          "column": 7
        },
        {
          "title": "rejects an insurance with monthly booking plans beyond the max period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2467,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2072
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-17T02:24:23.410Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-8003e7c23dec8fdb4d6a",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 105,
          "column": 7
        },
        {
          "title": "rejects an insurance with monthly booking plans below the min period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2924,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2518
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-17T02:24:24.688Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-efb84a24cd6ba5afe478",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 105,
          "column": 7
        },
        {
          "title": "rejects an insurance with two booking plans sharing period and amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2225,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "add two duplicate booking plans",
                      "duration": 1831
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-17T02:24:25.882Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-441151416da797922814",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 125,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes a single booking plan via the inline action",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5394,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3372
                    },
                    {
                      "title": "delete booking plan",
                      "duration": 1548
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 127
                    }
                  ],
                  "startTime": "2026-08-17T02:24:27.617Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2508c8c8ea9611c90b11-8c4035bf6e3f93603624",
          "file": "src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
          "line": 10,
          "column": 5
        },
        {
          "title": "rejects deleting the only booking plan via the inline action @bug",
          "ok": true,
          "tags": [
            "bug"
          ],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [
                {
                  "type": "fail",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
                    "line": 36,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "failed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 33079,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts:50:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts:49:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
                      "column": 42,
                      "line": 50
                    },
                    "snippet": "\u001b[0m \u001b[90m 48 |\u001b[39m\n \u001b[90m 49 |\u001b[39m     \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 50 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog\u001b[33m.\u001b[39merrorSnackbar)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 51 |\u001b[39m     })\u001b[33m;\u001b[39m\n \u001b[90m 52 |\u001b[39m   }\n \u001b[90m 53 |\u001b[39m )\u001b[33m;\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
                        "column": 42,
                        "line": 50
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n\n  48 |\n  49 |     await test.step('verify error snackbar', async () => {\n> 50 |       await expect(dialog.errorSnackbar).toHaveCountGreaterThan(0);\n     |                                          ^\n  51 |     });\n  52 |   }\n  53 | );\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts:50:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts:49:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 1657
                    },
                    {
                      "title": "attempt to delete the only booking plan via inline action",
                      "duration": 1012
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30019,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts:50:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts:49:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
                          "column": 42,
                          "line": 50
                        },
                        "snippet": "\u001b[0m \u001b[90m 48 |\u001b[39m\n \u001b[90m 49 |\u001b[39m     \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 50 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog\u001b[33m.\u001b[39merrorSnackbar)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 51 |\u001b[39m     })\u001b[33m;\u001b[39m\n \u001b[90m 52 |\u001b[39m   }\n \u001b[90m 53 |\u001b[39m )\u001b[33m;\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:24:28.112Z",
                  "annotations": [
                    {
                      "type": "fail",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
                        "line": 36,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/insurance-insurance-delete-4175e-n-via-the-inline-action-bug-manager-e2e/error-context.md"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
                    "column": 42,
                    "line": 50
                  }
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2508c8c8ea9611c90b11-6e3fd081b6277193bd57",
          "file": "src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
          "line": 36,
          "column": 6
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes some booking plans via the row action",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4785,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2676
                    },
                    {
                      "title": "select booking plans to delete",
                      "duration": 396
                    },
                    {
                      "title": "delete booking plans",
                      "duration": 1325
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 66
                    }
                  ],
                  "startTime": "2026-08-17T02:24:33.018Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "78a6c6b1d9dbfde4a2ff-e284d1089270b6679090",
          "file": "src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "rejects deleting all booking plans via the row action @bug",
          "ok": true,
          "tags": [
            "bug"
          ],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [
                {
                  "type": "fail",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
                    "line": 39,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "failed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "failed",
                  "duration": 33639,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts:56:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts:55:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
                      "column": 42,
                      "line": 56
                    },
                    "snippet": "\u001b[0m \u001b[90m 54 |\u001b[39m\n \u001b[90m 55 |\u001b[39m     \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 56 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog\u001b[33m.\u001b[39merrorSnackbar)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 57 |\u001b[39m     })\u001b[33m;\u001b[39m\n \u001b[90m 58 |\u001b[39m   }\n \u001b[90m 59 |\u001b[39m )\u001b[33m;\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
                        "column": 42,
                        "line": 56
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n\n  54 |\n  55 |     await test.step('verify error snackbar', async () => {\n> 56 |       await expect(dialog.errorSnackbar).toHaveCountGreaterThan(0);\n     |                                          ^\n  57 |     });\n  58 |   }\n  59 | );\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts:56:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts:55:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2640
                    },
                    {
                      "title": "attempt to delete all booking plans via row action",
                      "duration": 627
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30019,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts:56:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts:55:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
                          "column": 42,
                          "line": 56
                        },
                        "snippet": "\u001b[0m \u001b[90m 54 |\u001b[39m\n \u001b[90m 55 |\u001b[39m     \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 56 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog\u001b[33m.\u001b[39merrorSnackbar)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 57 |\u001b[39m     })\u001b[33m;\u001b[39m\n \u001b[90m 58 |\u001b[39m   }\n \u001b[90m 59 |\u001b[39m )\u001b[33m;\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:24:37.808Z",
                  "annotations": [
                    {
                      "type": "fail",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
                        "line": 39,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/insurance-insurance-delete-5626d-lans-via-the-row-action-bug-manager-e2e/error-context.md"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
                    "column": 42,
                    "line": 56
                  }
                }
              ],
              "status": "expected"
            }
          ],
          "id": "78a6c6b1d9dbfde4a2ff-1fc5b64833a90a45cf29",
          "file": "src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
          "line": 39,
          "column": 6
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-delete.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-delete.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes an insurance that is not used by any bookings",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4461,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2379
                    },
                    {
                      "title": "delete insurance",
                      "duration": 1421
                    },
                    {
                      "title": "verify insurance is no longer on list page",
                      "duration": 282
                    }
                  ],
                  "startTime": "2026-08-17T02:24:49.750Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "721cb6d313f7934acd05-d34f2b93fa2ab88f411c",
          "file": "src/manager/tests/e2e/insurance/insurance-delete.spec.ts",
          "line": 6,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the price of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5023,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2608
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1871
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 197
                    }
                  ],
                  "startTime": "2026-08-17T02:24:54.219Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-90deb893c7946ebc0844",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the period amount of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5618,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3062
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1921
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 268
                    }
                  ],
                  "startTime": "2026-08-17T02:24:59.249Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-f37f0236e686b0eebc04",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the discount of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5206,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2741
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1917
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 173
                    }
                  ],
                  "startTime": "2026-08-17T02:25:01.201Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-04a391a1a7ddb3d32368",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "removes the discount of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5121,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2654
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1900
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 224
                    }
                  ],
                  "startTime": "2026-08-17T02:25:04.872Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-9727d0f056245162c089",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the publish status of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4524,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2644
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1318
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 184
                    }
                  ],
                  "startTime": "2026-08-17T02:25:06.414Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-fd54e4cdaf5703eb49df",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate period amount in weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4322,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2649
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1260
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 62
                    }
                  ],
                  "startTime": "2026-08-17T02:25:09.999Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-e391ce1a7f34cb0e763b",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate period amount in monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4614,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2906
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1276
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 61
                    }
                  ],
                  "startTime": "2026-08-17T02:25:10.943Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-e42b699bb2ac2bfc7a3d",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate weekly period amount in mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5237,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3514
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1301
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 51
                    }
                  ],
                  "startTime": "2026-08-17T02:25:11.457Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-fa50c3a6122fc69b82e1",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate monthly period amount in mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4397,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2654
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1360
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 50
                    }
                  ],
                  "startTime": "2026-08-17T02:25:14.327Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-2cba37f0c62d56b55bc5",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a weekly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4272,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2577
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1308
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-17T02:25:15.563Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-a963e6896d57f4baa23c",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a weekly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4395,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2746
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1273
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-17T02:25:16.700Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-9bd2daf0303c122100e4",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a monthly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4255,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2609
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1276
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-17T02:25:18.730Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-7fa3b80eb4f0fe8ed19d",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a monthly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4361,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2676
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1294
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-17T02:25:19.840Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-a4ea79e9c8c91d6e16f6",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4228,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2485
                    },
                    {
                      "title": "submit booking plan edit form with cleared required fields",
                      "duration": 1355
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 28
                    }
                  ],
                  "startTime": "2026-08-17T02:25:21.099Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-b80cf410833821831fcf",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 55,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-edit-booking-plans-prices.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plans-prices.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "increases the price of some booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7616,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2711
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 337
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1240
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 2968
                    }
                  ],
                  "startTime": "2026-08-17T02:25:22.991Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "09ec76e6a470b467bbfa-2689db6fa592b756cf3e",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plans-prices.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "decreases the price of all booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7631,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2751
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 302
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1232
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 2965
                    }
                  ],
                  "startTime": "2026-08-17T02:25:24.208Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "09ec76e6a470b467bbfa-2fc1d679d88b04947c8c",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plans-prices.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "rejects a price change without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3958,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2918
                    },
                    {
                      "title": "submit price change form without required fields",
                      "duration": 638
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:25:25.335Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "09ec76e6a470b467bbfa-ec6d5937d4358f23fe25",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plans-prices.spec.ts",
          "line": 41,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-edit-booking-plans-publish-status.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plans-publish-status.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "publishes some booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4032,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2925
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 428
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 185
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 166
                    }
                  ],
                  "startTime": "2026-08-17T02:25:29.299Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "892226a4a28e3bcd57e4-4123794b8357517a0790",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plans-publish-status.spec.ts",
          "line": 8,
          "column": 7
        },
        {
          "title": "unpublishes all booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3922,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2878
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 360
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 183
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 162
                    }
                  ],
                  "startTime": "2026-08-17T02:25:30.612Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "892226a4a28e3bcd57e4-a88196e6141ba4627675",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plans-publish-status.spec.ts",
          "line": 8,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-edit-booking-portal.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-portal.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6610,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5317
                    },
                    {
                      "title": "edit insurance booking portal",
                      "duration": 897
                    },
                    {
                      "title": "verify new insurance booking portal on details page",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-17T02:25:31.844Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5f8bf27b92fe7272c50e-2044d8d89166f6c0ff9b",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-portal.spec.ts",
          "line": 8,
          "column": 7
        },
        {
          "title": "removes the short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3827,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2472
                    },
                    {
                      "title": "edit insurance booking portal",
                      "duration": 956
                    },
                    {
                      "title": "verify new insurance booking portal on details page",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:25:33.337Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5f8bf27b92fe7272c50e-ebde5fa88c126e823a57",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-portal.spec.ts",
          "line": 8,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-edit-general.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-edit-general.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6125,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3954
                    },
                    {
                      "title": "edit insurance general",
                      "duration": 1329
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 23
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 443
                    }
                  ],
                  "startTime": "2026-08-17T02:25:34.540Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5d14a30ff0992d60cddd-51dcac01f9c84d1c3e11",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-general.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3607,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2595
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 619
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:25:37.170Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5d14a30ff0992d60cddd-0a1190bc8888773fe314",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-general.spec.ts",
          "line": 48,
          "column": 5
        },
        {
          "title": "rejects an edit with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 10405,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2636
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 6762
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 594
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 42
                    }
                  ],
                  "startTime": "2026-08-17T02:25:38.460Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5d14a30ff0992d60cddd-dce2e49df51236dc8e21",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-general.spec.ts",
          "line": 65,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-edit-tax.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-edit-tax.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the b2c tax",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5069,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3716
                    },
                    {
                      "title": "edit insurance tax",
                      "duration": 987
                    },
                    {
                      "title": "verify new insurance tax on details page",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-17T02:25:40.670Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "88235048446f1f5f6000-bb871f5ce393da6c6f90",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits the b2b tax",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7277,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5966
                    },
                    {
                      "title": "edit insurance tax",
                      "duration": 941
                    },
                    {
                      "title": "verify new insurance tax on details page",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-17T02:25:40.784Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "88235048446f1f5f6000-f9b8dd5dd4d787d9e0e7",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits both b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5064,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3276
                    },
                    {
                      "title": "edit insurance tax",
                      "duration": 1408
                    },
                    {
                      "title": "verify new insurance tax on details page",
                      "duration": 23
                    }
                  ],
                  "startTime": "2026-08-17T02:25:45.744Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "88235048446f1f5f6000-2e846c9a64e6d7a926b5",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3244,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2208
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 645
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-17T02:25:48.066Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "88235048446f1f5f6000-84a4c77d76d02ae87a5a",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-tax.spec.ts",
          "line": 25,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-filter.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-filter.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "filters by id",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7452,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 6579
                    },
                    {
                      "title": "apply filter",
                      "duration": 448
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 57
                    }
                  ],
                  "startTime": "2026-08-17T02:25:48.871Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "ee66e97bef3ae49333c9-0ae13f46ec307541fe10",
          "file": "src/manager/tests/e2e/insurance/insurance-filter.spec.ts",
          "line": 9,
          "column": 5
        },
        {
          "title": "filters by name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2883,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2004
                    },
                    {
                      "title": "apply filter",
                      "duration": 437
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 70
                    }
                  ],
                  "startTime": "2026-08-17T02:25:50.813Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "ee66e97bef3ae49333c9-83fb637135d15625e2fe",
          "file": "src/manager/tests/e2e/insurance/insurance-filter.spec.ts",
          "line": 25,
          "column": 5
        },
        {
          "title": "filters by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3641,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2775
                    },
                    {
                      "title": "apply filter",
                      "duration": 392
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 104
                    }
                  ],
                  "startTime": "2026-08-17T02:25:51.317Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "ee66e97bef3ae49333c9-ebde767bb98e5efaeca1",
          "file": "src/manager/tests/e2e/insurance/insurance-filter.spec.ts",
          "line": 44,
          "column": 5
        },
        {
          "title": "filters by name and location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5401,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4353
                    },
                    {
                      "title": "apply filter",
                      "duration": 632
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-17T02:25:53.704Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "ee66e97bef3ae49333c9-b24702359c72297b15e9",
          "file": "src/manager/tests/e2e/insurance/insurance-filter.spec.ts",
          "line": 63,
          "column": 5
        },
        {
          "title": "excludes insurances not in the filtered location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2839,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 1780
                    },
                    {
                      "title": "apply filter",
                      "duration": 693
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-17T02:25:54.963Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "ee66e97bef3ae49333c9-940f3d0d5878bc387244",
          "file": "src/manager/tests/e2e/insurance/insurance-filter.spec.ts",
          "line": 78,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-navigate.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-navigate.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "navigates from the insurance list to the insurance details page",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4067,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3080
                    },
                    {
                      "title": "navigate to insurance details page",
                      "duration": 563
                    },
                    {
                      "title": "verify insurance details page",
                      "duration": 69
                    }
                  ],
                  "startTime": "2026-08-17T02:25:56.330Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c0c0bc3a4b4716ac22a8-821d9b43cc7dd27401b3",
          "file": "src/manager/tests/e2e/insurance/insurance-navigate.spec.ts",
          "line": 7,
          "column": 5
        },
        {
          "title": "navigates from the insurance list to the insurance create dialog",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 973,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open insurance create dialog from list",
                      "duration": 300
                    },
                    {
                      "title": "verify insurance create dialog is open",
                      "duration": 317
                    }
                  ],
                  "startTime": "2026-08-17T02:25:57.809Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c0c0bc3a4b4716ac22a8-2b30be66cd5123744119",
          "file": "src/manager/tests/e2e/insurance/insurance-navigate.spec.ts",
          "line": 25,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
      "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates a card auto-charged invoice for a private customer with a custom memo and footer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 51593,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 440
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1933
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 7176
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 56
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 58
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 6817
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 1598
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 32366
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 745
                    }
                  ],
                  "startTime": "2026-08-17T02:25:58.795Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-4e5815084a9cd6bad195",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "creates a sepa auto-charged invoice for a business customer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 51808,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 403
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2102
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 6470
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 47
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 48
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 6822
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 33525
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 1197
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 752
                    }
                  ],
                  "startTime": "2026-08-17T02:26:50.394Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-1671d115b168a7f4e11e",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "creates a bacs auto-charged invoice",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 54232,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 399
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1797
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 9539
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 55
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 53
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 7524
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 32512
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 1181
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 717
                    }
                  ],
                  "startTime": "2026-08-17T02:27:42.207Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-ee33621838cb91467683",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "creates a sepa auto-charged invoice that stays pending payment",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 52876,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 359
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3715
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 6510
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 63
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 51
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 7829
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 31931
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 1165
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 789
                    }
                  ],
                  "startTime": "2026-08-17T02:28:36.444Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-50ba222f34ccf88e4263",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "creates a bacs auto-charged invoice that stays pending payment",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 53508,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 442
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1816
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 10116
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 37
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 37
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 6811
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 31844
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 1224
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 778
                    }
                  ],
                  "startTime": "2026-08-17T02:29:29.326Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-390e4f4751a3ce55ab15",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "creates a send-invoice invoice with multiple products of differing quantities",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 19284,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 437
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1832
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2608
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 2859
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 75
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 77
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 6881
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 2099
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 1186
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 815
                    }
                  ],
                  "startTime": "2026-08-17T02:30:22.841Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-4d38f7b4f495ca51bf41",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "creates an invoice for a customer having multiple locations",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 13277,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 384
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2370
                    },
                    {
                      "title": "create invoice",
                      "duration": 9210
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 848
                    }
                  ],
                  "startTime": "2026-08-17T02:30:42.132Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-628487f5dddcb4a28baf",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 193,
          "column": 5
        },
        {
          "title": "rejects an invoice without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3242,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 371
                    },
                    {
                      "title": "submit invalid invoice create form",
                      "duration": 2298
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 38
                    }
                  ],
                  "startTime": "2026-08-17T02:30:55.414Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-c6e320821707c2f4ee75",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 213,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/invoice/invoice-filter.spec.ts",
      "file": "src/manager/tests/e2e/invoice/invoice-filter.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "filters invoices by id",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10276,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 367
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3040
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5841
                    },
                    {
                      "title": "apply filter",
                      "duration": 568
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 96
                    }
                  ],
                  "startTime": "2026-08-17T02:25:59.122Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "78ed47b68563d3dd2a22-1c1deba38673434ea64d",
          "file": "src/manager/tests/e2e/invoice/invoice-filter.spec.ts",
          "line": 13,
          "column": 5
        },
        {
          "title": "filters invoices by customer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9195,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 377
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1808
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5914
                    },
                    {
                      "title": "apply filter",
                      "duration": 601
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 112
                    }
                  ],
                  "startTime": "2026-08-17T02:26:09.405Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "78ed47b68563d3dd2a22-0141fd97101b03d69d7e",
          "file": "src/manager/tests/e2e/invoice/invoice-filter.spec.ts",
          "line": 27,
          "column": 5
        },
        {
          "title": "filters invoices by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10136,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 369
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2300
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6458
                    },
                    {
                      "title": "apply filter",
                      "duration": 503
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 157
                    }
                  ],
                  "startTime": "2026-08-17T02:26:18.605Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "78ed47b68563d3dd2a22-3987b07c31c596c1ffaa",
          "file": "src/manager/tests/e2e/invoice/invoice-filter.spec.ts",
          "line": 46,
          "column": 5
        },
        {
          "title": "filters invoices by status",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10103,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 408
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2744
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5925
                    },
                    {
                      "title": "apply filter",
                      "duration": 502
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 163
                    }
                  ],
                  "startTime": "2026-08-17T02:26:28.746Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "78ed47b68563d3dd2a22-4484438a13f526b6360b",
          "file": "src/manager/tests/e2e/invoice/invoice-filter.spec.ts",
          "line": 64,
          "column": 5
        },
        {
          "title": "filters invoices by created-at",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9434,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 381
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1839
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5536
                    },
                    {
                      "title": "apply filter",
                      "duration": 1087
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 201
                    }
                  ],
                  "startTime": "2026-08-17T02:26:38.853Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "78ed47b68563d3dd2a22-b8024a277ed6de889b01",
          "file": "src/manager/tests/e2e/invoice/invoice-filter.spec.ts",
          "line": 78,
          "column": 5
        },
        {
          "title": "filters invoices by id, location, status and created-at",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10707,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 489
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1754
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6202
                    },
                    {
                      "title": "apply filters",
                      "duration": 1794
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 97
                    }
                  ],
                  "startTime": "2026-08-17T02:26:48.292Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "78ed47b68563d3dd2a22-0db2459b17f128289207",
          "file": "src/manager/tests/e2e/invoice/invoice-filter.spec.ts",
          "line": 97,
          "column": 5
        },
        {
          "title": "excludes invoices that do not match the status filter",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9909,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 381
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1829
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6417
                    },
                    {
                      "title": "apply filter",
                      "duration": 889
                    },
                    {
                      "title": "verify invoice is excluded",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-17T02:26:59.004Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "78ed47b68563d3dd2a22-ce8c3ab40f852b50602d",
          "file": "src/manager/tests/e2e/invoice/invoice-filter.spec.ts",
          "line": 126,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
      "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "issues a full credit note for an open invoice with one item",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "skip",
                  "description": "credit note status did not settle within 30s — test-env queue backlog (KIN-4692)",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/poll-utils.ts",
                    "line": 46,
                    "column": 10
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "skipped",
                  "duration": 53235,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 373
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3002
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6664
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6026
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 449
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 408
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 18
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 37
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 68
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5805
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 30001,
                      "error": {
                        "message": "Error: Test is skipped: credit note status did not settle within 30s — test-env queue backlog (KIN-4692)",
                        "stack": "Error: Test is skipped: credit note status did not settle within 30s — test-env queue backlog (KIN-4692)\n    at pollOrSkip (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/poll-utils.ts:46:10)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts:103:9\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts:99:7",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/poll-utils.ts",
                          "column": 10,
                          "line": 46
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/shared/utils/poll-utils.ts:46\n\n\u001b[0m \u001b[90m 44 |\u001b[39m     }\n \u001b[90m 45 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 46 |\u001b[39m     test\u001b[33m.\u001b[39mskip(\u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m options\u001b[33m.\u001b[39mreason)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 47 |\u001b[39m   }\n \u001b[90m 48 |\u001b[39m }\n \u001b[90m 49 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:26:00.412Z",
                  "annotations": [
                    {
                      "type": "skip",
                      "description": "credit note status did not settle within 30s — test-env queue backlog (KIN-4692)",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/poll-utils.ts",
                        "line": 46,
                        "column": 10
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "c1125939a50586ff920e-50b6bb680d64526e8a5e",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a partial credit note for an open invoice with one item by reducing the credit net amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 23955,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 402
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1779
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6575
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 5962
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 448
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 412
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 43
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 826
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 46
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5303
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1147
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 644
                    }
                  ],
                  "startTime": "2026-08-17T02:26:53.653Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-49b24229c58dbd94f7c2",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a partial credit note for an open invoice with one item by reducing the credit quantity",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 23403,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 416
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1915
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6109
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6062
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 440
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 419
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 232
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 214
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 70
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5309
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1160
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 675
                    }
                  ],
                  "startTime": "2026-08-17T02:27:17.614Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-04d9d5ee57939e469352",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a full credit note for an open invoice with multiple items",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [
                {
                  "type": "skip",
                  "description": "credit note status did not settle within 30s — test-env queue backlog (KIN-4692)",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/poll-utils.ts",
                    "line": 46,
                    "column": 10
                  }
                }
              ],
              "expectedStatus": "skipped",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "skipped",
                  "duration": 54012,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 384
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1759
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2523
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5806
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 5995
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 342
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 331
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 28
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 45
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 71
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 6312
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 30001,
                      "error": {
                        "message": "Error: Test is skipped: credit note status did not settle within 30s — test-env queue backlog (KIN-4692)",
                        "stack": "Error: Test is skipped: credit note status did not settle within 30s — test-env queue backlog (KIN-4692)\n    at pollOrSkip (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/poll-utils.ts:46:10)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts:103:9\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts:99:7",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/poll-utils.ts",
                          "column": 10,
                          "line": 46
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/shared/utils/poll-utils.ts:46\n\n\u001b[0m \u001b[90m 44 |\u001b[39m     }\n \u001b[90m 45 |\u001b[39m\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 46 |\u001b[39m     test\u001b[33m.\u001b[39mskip(\u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m options\u001b[33m.\u001b[39mreason)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 47 |\u001b[39m   }\n \u001b[90m 48 |\u001b[39m }\n \u001b[90m 49 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:27:41.022Z",
                  "annotations": [
                    {
                      "type": "skip",
                      "description": "credit note status did not settle within 30s — test-env queue backlog (KIN-4692)",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/poll-utils.ts",
                        "line": 46,
                        "column": 10
                      }
                    }
                  ],
                  "attachments": []
                }
              ],
              "status": "skipped"
            }
          ],
          "id": "c1125939a50586ff920e-2d8c8f7dcc47217a85c3",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a partial credit note for an open invoice with multiple items by unselecting items",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 40178,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 367
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3961
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4812
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5615
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 16106
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 447
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 419
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 77
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 823
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 40
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5311
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1139
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 654
                    }
                  ],
                  "startTime": "2026-08-17T02:28:35.040Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-78a0e00deaf3a0fc6b2d",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a partial credit note for an open invoice with multiple items by reducing the credit net amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 26097,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 430
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1716
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2551
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6151
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6087
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 440
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 346
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 57
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 845
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 44
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5309
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1138
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 595
                    }
                  ],
                  "startTime": "2026-08-17T02:29:15.224Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-68f422a6f743c343864d",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a partial credit note for an open invoice with multiple items by reducing the credit quantity",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 27104,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 480
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2469
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1767
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6850
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6026
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 447
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 339
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 243
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 875
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 90
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5408
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1135
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 618
                    }
                  ],
                  "startTime": "2026-08-17T02:29:41.326Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-65b0ad7845f449b1267b",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a partial credit note for an open invoice with multiple items by unselecting items and reducing the credit net amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 27475,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 382
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2309
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2615
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6749
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6074
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 453
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 428
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 106
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 824
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 42
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5312
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1157
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 636
                    }
                  ],
                  "startTime": "2026-08-17T02:30:08.436Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-4aad7fcf94ee6db1075a",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a partial credit note for an open invoice with multiple items by unselecting items and reducing the credit quantity",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 29417,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 432
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3173
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2675
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6792
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6083
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 444
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 370
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 344
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 823
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 46
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5818
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1235
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 771
                    }
                  ],
                  "startTime": "2026-08-17T02:30:35.917Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-c5b949bb991edf42379c",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a full credit note for a paid invoice with multiple items by crediting outside of stripe",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 21558,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 374
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2057
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2087
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6467
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 397
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 2318
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 468
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 365
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 95
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 47
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 66
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 4484
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1205
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 716
                    }
                  ],
                  "startTime": "2026-08-17T02:31:05.342Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-0b77b0edb66b03956382",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a partial credit note for a paid invoice with multiple items by crediting outside of stripe and reducing the credit net amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 51364,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 390
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2077
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2008
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6042
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 382
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 32515
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 438
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 319
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 108
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 322
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 43
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 4474
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1173
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 686
                    }
                  ],
                  "startTime": "2026-08-17T02:31:26.907Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-0e12b73048939cdf9f7a",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a partial credit note for a paid invoice with multiple items by crediting outside of stripe and reducing the credit quantity",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 54928,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 455
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2868
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3585
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6109
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 375
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 33529
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 435
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 331
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 263
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 308
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 58
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 4488
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1097
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 618
                    }
                  ],
                  "startTime": "2026-08-17T02:32:18.277Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-5c7260abe016b020ce6e",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a full credit note for a paid invoice with one item by crediting the customer balance",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 21236,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 442
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2939
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5580
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 397
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 3767
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 448
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 324
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 70
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 43
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 57
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5012
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1143
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 638
                    }
                  ],
                  "startTime": "2026-08-17T02:33:13.211Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-4fdfdf458f6721af2ebb",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a partial credit note for a paid invoice with one item by crediting the customer balance and reducing the credit net amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 20517,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 386
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2273
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6315
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 419
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 2707
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 479
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 456
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 100
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 311
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 34
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 4806
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1184
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 669
                    }
                  ],
                  "startTime": "2026-08-17T02:33:34.452Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-e1bac21a2b35eb7c9bff",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "issues a partial credit note for a paid invoice with one item by crediting the customer balance and reducing the credit quantity",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 28147,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 429
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 9380
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6264
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 388
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 3227
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 483
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 437
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 315
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 122
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 59
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 4809
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1179
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 654
                    }
                  ],
                  "startTime": "2026-08-17T02:33:54.975Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-01b430e5630efb2d0551",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects issuing a credit note without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 11368,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 366
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2590
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6280
                    },
                    {
                      "title": "submit invalid invoice issue credit note form",
                      "duration": 1721
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-17T02:34:23.129Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-b9c51031f7bd6012f62c",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 132,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
      "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "marks an open invoice as paid with outside payment option cash",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 24267,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 361
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1784
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5927
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6163
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3064
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 6601
                    }
                  ],
                  "startTime": "2026-08-17T02:26:25.496Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68ce308633a21f49e5dc-a2f05725d73c9eb609d7",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "marks an open invoice as paid with outside payment option wire-transfer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 20839,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 382
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1609
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6494
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6243
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 2980
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 2745
                    }
                  ],
                  "startTime": "2026-08-17T02:26:49.769Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68ce308633a21f49e5dc-9da018eeab718781d539",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "marks an open invoice as paid with outside payment option card-on-site",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 24839,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 457
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1751
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6327
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6251
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3059
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 6587
                    }
                  ],
                  "startTime": "2026-08-17T02:27:10.614Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68ce308633a21f49e5dc-130ad298662ec1ffaac2",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "marks an open invoice as paid with outside payment option other",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 25777,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 445
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2544
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5842
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6156
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3154
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 6652
                    }
                  ],
                  "startTime": "2026-08-17T02:27:35.459Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68ce308633a21f49e5dc-ea716ec4751a9fc757b6",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "marks an open invoice as paid with outside payment date in the past",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 25713,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 432
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2082
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5954
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6236
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3033
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 7576
                    }
                  ],
                  "startTime": "2026-08-17T02:28:01.250Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68ce308633a21f49e5dc-3ebf05fe46a8d31996c2",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "marks an open invoice as paid with outside payment date in the future",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 77377,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 446
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1701
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6150
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 31562
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3149
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 34006
                    }
                  ],
                  "startTime": "2026-08-17T02:28:26.991Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68ce308633a21f49e5dc-3871a8259b9a41f10d2b",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "rejects marking an invoice as paid without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 11794,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 366
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3849
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5499
                    },
                    {
                      "title": "submit invalid invoice mark as paid form",
                      "duration": 1674
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-17T02:29:44.374Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68ce308633a21f49e5dc-1f94ff60b982e467b1c3",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
          "line": 95,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/invoice/invoice-mark-as-void.spec.ts",
      "file": "src/manager/tests/e2e/invoice/invoice-mark-as-void.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "marks an open invoice as void",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 15131,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 370
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1815
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 7189
                    },
                    {
                      "title": "mark invoice as void",
                      "duration": 3661
                    },
                    {
                      "title": "verify voided invoice on details page",
                      "duration": 13
                    },
                    {
                      "title": "verify cancelled payment charge",
                      "duration": 316
                    },
                    {
                      "title": "verify voided invoice on list page",
                      "duration": 1382
                    }
                  ],
                  "startTime": "2026-08-17T02:27:08.920Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "59abf25481da4c68f394-7cf5c6045809dead615f",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-void.spec.ts",
          "line": 13,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/invoice/invoice-navigate.spec.ts",
      "file": "src/manager/tests/e2e/invoice/invoice-navigate.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "navigates from the invoice list to the invoice details page",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10273,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 364
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1709
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6300
                    },
                    {
                      "title": "navigate to invoice details page",
                      "duration": 702
                    },
                    {
                      "title": "verify invoice details page",
                      "duration": 833
                    }
                  ],
                  "startTime": "2026-08-17T02:27:24.057Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "428dd9949d8cab518b43-c78f0d3cce3f276ec8e9",
          "file": "src/manager/tests/e2e/invoice/invoice-navigate.spec.ts",
          "line": 5,
          "column": 5
        },
        {
          "title": "navigates from the invoice list to the invoice create dialog",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1070,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open invoice create dialog from list",
                      "duration": 367
                    },
                    {
                      "title": "verify invoice create dialog is open",
                      "duration": 337
                    }
                  ],
                  "startTime": "2026-08-17T02:27:34.335Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "428dd9949d8cab518b43-dd6620f2888d9594d99c",
          "file": "src/manager/tests/e2e/invoice/invoice-navigate.spec.ts",
          "line": 25,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-navigate.spec.ts",
      "file": "src/manager/tests/e2e/product/product-navigate.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "navigates from the product list to the one-time product details page",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2664,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1666
                    },
                    {
                      "title": "navigate to one-time product details page",
                      "duration": 583
                    },
                    {
                      "title": "verify one-time product details page",
                      "duration": 70
                    }
                  ],
                  "startTime": "2026-08-17T02:27:35.418Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b5c95b15e9388be4dc57-cc77038461dab4aa1659",
          "file": "src/manager/tests/e2e/product/product-navigate.spec.ts",
          "line": 10,
          "column": 5
        },
        {
          "title": "navigates from the product list to the recurring product details page",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2888,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 1820
                    },
                    {
                      "title": "navigate to recurring product details page",
                      "duration": 584
                    },
                    {
                      "title": "verify recurring product details page",
                      "duration": 98
                    }
                  ],
                  "startTime": "2026-08-17T02:27:38.088Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b5c95b15e9388be4dc57-18edd44d23aed67eb87d",
          "file": "src/manager/tests/e2e/product/product-navigate.spec.ts",
          "line": 28,
          "column": 5
        },
        {
          "title": "navigates from the product list to the one-time product create dialog",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1337,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open one-time product create dialog from list",
                      "duration": 645
                    },
                    {
                      "title": "verify one-time product create dialog is open",
                      "duration": 326
                    }
                  ],
                  "startTime": "2026-08-17T02:27:40.982Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b5c95b15e9388be4dc57-29d8376e3ea1deabc8f9",
          "file": "src/manager/tests/e2e/product/product-navigate.spec.ts",
          "line": 46,
          "column": 5
        },
        {
          "title": "navigates from the product list to the recurring product create dialog",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1325,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open recurring product create dialog from list",
                      "duration": 654
                    },
                    {
                      "title": "verify recurring product create dialog is open",
                      "duration": 321
                    }
                  ],
                  "startTime": "2026-08-17T02:27:42.324Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b5c95b15e9388be4dc57-16b78596583e5193ef9b",
          "file": "src/manager/tests/e2e/product/product-navigate.spec.ts",
          "line": 57,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-one-time-attach-unit-types.spec.ts",
      "file": "src/manager/tests/e2e/product/product-one-time-attach-unit-types.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "attaches unit types via the picker",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9164,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3259
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1751
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1716
                    },
                    {
                      "title": "attach unit types",
                      "duration": 2053
                    },
                    {
                      "title": "verify attached unit types in inline list",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-17T02:27:43.654Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f1d0b4c67f5be97852e-3c6b843b80b2ebe675fe",
          "file": "src/manager/tests/e2e/product/product-one-time-attach-unit-types.spec.ts",
          "line": 9,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-one-time-create.spec.ts",
      "file": "src/manager/tests/e2e/product/product-one-time-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates a one-time product with zero taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3576,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2561
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 147
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 477
                    }
                  ],
                  "startTime": "2026-08-17T02:27:52.825Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5ae0a0b984f48b55cdcd-b9e9ea2b105eaedce50f",
          "file": "src/manager/tests/e2e/product/product-one-time-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a one-time product with equal b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3860,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2930
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 77
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 467
                    }
                  ],
                  "startTime": "2026-08-17T02:27:56.406Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5ae0a0b984f48b55cdcd-99c0b91d76e2a408d89f",
          "file": "src/manager/tests/e2e/product/product-one-time-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a one-time product with mixed b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3840,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2788
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 164
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 498
                    }
                  ],
                  "startTime": "2026-08-17T02:28:00.271Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5ae0a0b984f48b55cdcd-29b5ff3c95ce9b71c8eb",
          "file": "src/manager/tests/e2e/product/product-one-time-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a mandatory one-time product",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3534,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2577
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 122
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 447
                    }
                  ],
                  "startTime": "2026-08-17T02:28:04.117Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5ae0a0b984f48b55cdcd-21db5984c9855f2ab1b2",
          "file": "src/manager/tests/e2e/product/product-one-time-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a one-time product with a max quantity per booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3550,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2605
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 128
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 453
                    }
                  ],
                  "startTime": "2026-08-17T02:28:07.657Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5ae0a0b984f48b55cdcd-b33e497e527e9908b9f8",
          "file": "src/manager/tests/e2e/product/product-one-time-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a one-time product with a short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3577,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2637
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 118
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 444
                    }
                  ],
                  "startTime": "2026-08-17T02:28:11.212Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5ae0a0b984f48b55cdcd-14c0777174797b13fde1",
          "file": "src/manager/tests/e2e/product/product-one-time-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a one-time product with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5047,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1707
                    },
                    {
                      "title": "create one-time product with duplicate name",
                      "duration": 2554
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 70
                    }
                  ],
                  "startTime": "2026-08-17T02:28:14.793Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5ae0a0b984f48b55cdcd-ef1adca8b1d6264ba558",
          "file": "src/manager/tests/e2e/product/product-one-time-create.spec.ts",
          "line": 69,
          "column": 5
        },
        {
          "title": "creates a one-time product with attached unit types",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7789,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1732
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1720
                    },
                    {
                      "title": "create one-time product with attached unit types",
                      "duration": 3855
                    },
                    {
                      "title": "verify attached unit types on details page",
                      "duration": 124
                    }
                  ],
                  "startTime": "2026-08-17T02:28:19.845Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5ae0a0b984f48b55cdcd-564aae8c42f573fc9448",
          "file": "src/manager/tests/e2e/product/product-one-time-create.spec.ts",
          "line": 90,
          "column": 5
        },
        {
          "title": "creates a published one-time product",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7029,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2776
                    },
                    {
                      "title": "create published one-time product",
                      "duration": 3852
                    },
                    {
                      "title": "verify published status on details page",
                      "duration": 58
                    }
                  ],
                  "startTime": "2026-08-17T02:28:27.639Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5ae0a0b984f48b55cdcd-e61f4c7fd56d40b4d954",
          "file": "src/manager/tests/e2e/product/product-one-time-create.spec.ts",
          "line": 116,
          "column": 5
        },
        {
          "title": "rejects a one-time product without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 925,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid one-time product create form",
                      "duration": 520
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-17T02:28:34.673Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5ae0a0b984f48b55cdcd-3d252a3f87db45db66c0",
          "file": "src/manager/tests/e2e/product/product-one-time-create.spec.ts",
          "line": 140,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-one-time-delete.spec.ts",
      "file": "src/manager/tests/e2e/product/product-one-time-delete.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes a one-time product that is not used by any bookings",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4647,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2620
                    },
                    {
                      "title": "delete one-time product",
                      "duration": 1385
                    },
                    {
                      "title": "verify product is no longer on list page",
                      "duration": 285
                    }
                  ],
                  "startTime": "2026-08-17T02:28:35.604Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "fbfef7c79c45e5366ece-8ce7f1f436180f84b339",
          "file": "src/manager/tests/e2e/product/product-one-time-delete.spec.ts",
          "line": 6,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-one-time-detach-unit-type.spec.ts",
      "file": "src/manager/tests/e2e/product/product-one-time-detach-unit-type.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "detaches a unit type via the inline action",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10268,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5162
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1892
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1756
                    },
                    {
                      "title": "detach unit type",
                      "duration": 270
                    },
                    {
                      "title": "verify only the remaining unit type is attached",
                      "duration": 809
                    }
                  ],
                  "startTime": "2026-08-17T02:28:40.258Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "754a2da72b753f07e54f-2e5dde5f547b06d82fe9",
          "file": "src/manager/tests/e2e/product/product-one-time-detach-unit-type.spec.ts",
          "line": 9,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-one-time-edit-booking-portal.spec.ts",
      "file": "src/manager/tests/e2e/product/product-one-time-edit-booking-portal.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the max quantity per booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3542,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1784
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1364
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:28:50.533Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "8498eb988639eb545f75-c0c1d6a3345bfee2ae47",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-booking-portal.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits the requirement to mandatory",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3656,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1890
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1376
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-17T02:28:54.081Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "8498eb988639eb545f75-5d49bf7360cb95f94538",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-booking-portal.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits the requirement to optional",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3873,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1610
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1363
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-17T02:28:57.741Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "8498eb988639eb545f75-9c16872545a20665dc05",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-booking-portal.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits the short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3938,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1634
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1369
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-17T02:29:01.619Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "8498eb988639eb545f75-80f8183793a09ffca046",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-booking-portal.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "removes the short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3641,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1835
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1415
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-17T02:29:05.561Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "8498eb988639eb545f75-a779048d027f1103f210",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-booking-portal.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2825,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1795
                    },
                    {
                      "title": "submit edit clearing the max quantity per booking",
                      "duration": 614
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-17T02:29:09.209Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "8498eb988639eb545f75-10288cb5acb797d56a76",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-booking-portal.spec.ts",
          "line": 35,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-one-time-edit-general.spec.ts",
      "file": "src/manager/tests/e2e/product/product-one-time-edit-general.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4023,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1839
                    },
                    {
                      "title": "edit one-time product general",
                      "duration": 1360
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 14
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 435
                    }
                  ],
                  "startTime": "2026-08-17T02:29:12.042Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "eae44fcd2493628cfbf2-ac62e2737b80a8e075b2",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-general.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "edits the price",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5091,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2477
                    },
                    {
                      "title": "edit one-time product general",
                      "duration": 1814
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 14
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 425
                    }
                  ],
                  "startTime": "2026-08-17T02:29:16.070Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "eae44fcd2493628cfbf2-cab21baf8f200279af86",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-general.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "edits the name and price",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4526,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1877
                    },
                    {
                      "title": "edit one-time product general",
                      "duration": 1855
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 15
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 434
                    }
                  ],
                  "startTime": "2026-08-17T02:29:21.165Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "eae44fcd2493628cfbf2-d2a8b8dea3d1ccc69e68",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-general.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "edits a one-time product to use a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5588,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2015
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1846
                    },
                    {
                      "title": "edit one-time product to use duplicate name",
                      "duration": 1345
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-17T02:29:25.696Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "eae44fcd2493628cfbf2-6d9d544bbfbb2b4402b8",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-general.spec.ts",
          "line": 41,
          "column": 5
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2960,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1918
                    },
                    {
                      "title": "submit edit clearing the name",
                      "duration": 640
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-17T02:29:31.288Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "eae44fcd2493628cfbf2-79fad76c42471313f933",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-general.spec.ts",
          "line": 61,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-one-time-edit-publish.spec.ts",
      "file": "src/manager/tests/e2e/product/product-one-time-edit-publish.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "publishes via the action menu",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5147,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1866
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1840
                    },
                    {
                      "title": "verify product is initially unpublished",
                      "duration": 199
                    },
                    {
                      "title": "publish the product",
                      "duration": 849
                    },
                    {
                      "title": "verify product is now published",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-17T02:29:34.256Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d7ca98bb2355232cc54a-743794590c6a176c47d7",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-publish.spec.ts",
          "line": 6,
          "column": 5
        },
        {
          "title": "unpublishes via the action menu",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4980,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1800
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1707
                    },
                    {
                      "title": "verify product is initially published",
                      "duration": 234
                    },
                    {
                      "title": "unpublish the product",
                      "duration": 848
                    },
                    {
                      "title": "verify product is now unpublished",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-17T02:29:39.411Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d7ca98bb2355232cc54a-82789ce88a42117e73d1",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-publish.spec.ts",
          "line": 23,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-one-time-edit-tax.spec.ts",
      "file": "src/manager/tests/e2e/product/product-one-time-edit-tax.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the b2c tax",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4924,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2752
                    },
                    {
                      "title": "edit one-time product tax",
                      "duration": 1778
                    },
                    {
                      "title": "verify new one-time product tax on details page",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-17T02:29:44.399Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2638842e586d2f09ea9e-50c9c526f684866f70c2",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits the b2b tax",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3848,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1749
                    },
                    {
                      "title": "edit one-time product tax",
                      "duration": 1733
                    },
                    {
                      "title": "verify new one-time product tax on details page",
                      "duration": 10
                    }
                  ],
                  "startTime": "2026-08-17T02:29:49.329Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2638842e586d2f09ea9e-a5204ad6176ee2aaa4bf",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits both b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4202,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1760
                    },
                    {
                      "title": "edit one-time product tax",
                      "duration": 2060
                    },
                    {
                      "title": "verify new one-time product tax on details page",
                      "duration": 10
                    }
                  ],
                  "startTime": "2026-08-17T02:29:53.182Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2638842e586d2f09ea9e-352661a6068839031863",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 2617,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1646
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 597
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-17T02:29:56.183Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2638842e586d2f09ea9e-7c71028a3723253cafd2",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-tax.spec.ts",
          "line": 26,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-one-time-filter.spec.ts",
      "file": "src/manager/tests/e2e/product/product-one-time-filter.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "filters by id",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2893,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1898
                    },
                    {
                      "title": "apply filter",
                      "duration": 471
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 155
                    }
                  ],
                  "startTime": "2026-08-17T02:29:57.390Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9697ce780cc9975d76cc-1cab16af026cd6a958e7",
          "file": "src/manager/tests/e2e/product/product-one-time-filter.spec.ts",
          "line": 9,
          "column": 5
        },
        {
          "title": "filters by name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 2975,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1852
                    },
                    {
                      "title": "apply filter",
                      "duration": 619
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 84
                    }
                  ],
                  "startTime": "2026-08-17T02:29:58.806Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9697ce780cc9975d76cc-b67a6e5441f7c42b411e",
          "file": "src/manager/tests/e2e/product/product-one-time-filter.spec.ts",
          "line": 24,
          "column": 5
        },
        {
          "title": "filters by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3023,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2082
                    },
                    {
                      "title": "apply filter",
                      "duration": 427
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 131
                    }
                  ],
                  "startTime": "2026-08-17T02:30:00.291Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9697ce780cc9975d76cc-8781ec726203b778ba43",
          "file": "src/manager/tests/e2e/product/product-one-time-filter.spec.ts",
          "line": 37,
          "column": 5
        },
        {
          "title": "filters by frequency=one-time",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4027,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3007
                    },
                    {
                      "title": "apply filter",
                      "duration": 626
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 22
                    }
                  ],
                  "startTime": "2026-08-17T02:30:01.788Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9697ce780cc9975d76cc-80e50dba067ec179cb6f",
          "file": "src/manager/tests/e2e/product/product-one-time-filter.spec.ts",
          "line": 54,
          "column": 5
        },
        {
          "title": "filters by name and location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3919,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2841
                    },
                    {
                      "title": "apply filter",
                      "duration": 683
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-17T02:30:03.319Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9697ce780cc9975d76cc-c99622bcc9caaa456b0d",
          "file": "src/manager/tests/e2e/product/product-one-time-filter.spec.ts",
          "line": 71,
          "column": 5
        },
        {
          "title": "excludes one-time products not in the filtered location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3798,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2821
                    },
                    {
                      "title": "apply filter",
                      "duration": 637
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-17T02:30:05.823Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9697ce780cc9975d76cc-89f4ef5e63ca2c05ef16",
          "file": "src/manager/tests/e2e/product/product-one-time-filter.spec.ts",
          "line": 86,
          "column": 5
        },
        {
          "title": "excludes one-time products when filtered by frequency=recurring",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3559,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2593
                    },
                    {
                      "title": "apply filter",
                      "duration": 603
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-17T02:30:07.244Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9697ce780cc9975d76cc-4cc8e9151c245c71dfea",
          "file": "src/manager/tests/e2e/product/product-one-time-filter.spec.ts",
          "line": 101,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-one-time-update-unit-types.spec.ts",
      "file": "src/manager/tests/e2e/product/product-one-time-update-unit-types.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "updates the unit type list via the picker",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 14106,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5324
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2644
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1778
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1867
                    },
                    {
                      "title": "update attached unit types",
                      "duration": 2067
                    },
                    {
                      "title": "verify updated unit types in inline list",
                      "duration": 27
                    }
                  ],
                  "startTime": "2026-08-17T02:30:09.626Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5be5a07d1f23bfa59af7-886c234828b89851be7c",
          "file": "src/manager/tests/e2e/product/product-one-time-update-unit-types.spec.ts",
          "line": 9,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "adds a weekly booking plan to weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7616,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5548
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1491
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 229
                    }
                  ],
                  "startTime": "2026-08-17T02:30:10.809Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-7dd69808532cfbeee993",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a monthly booking plan to monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6344,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4169
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1541
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 238
                    }
                  ],
                  "startTime": "2026-08-17T02:30:18.431Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-df71889bbc2a55c209f9",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a booking plan to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4819,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2700
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1470
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 273
                    }
                  ],
                  "startTime": "2026-08-17T02:30:23.740Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-d71293aefa1d5ba7fa3c",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate period amount to weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6039,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4324
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1344
                    }
                  ],
                  "startTime": "2026-08-17T02:30:24.779Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-8db8aff43471f49897f7",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate period amount to monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4619,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2817
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1420
                    }
                  ],
                  "startTime": "2026-08-17T02:30:28.564Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-26cafcf1773440a6cc07",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate weekly period amount to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4498,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2797
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1317
                    }
                  ],
                  "startTime": "2026-08-17T02:30:30.823Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-37ae57e1377c0d060e97",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate monthly period amount to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4623,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2844
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1409
                    }
                  ],
                  "startTime": "2026-08-17T02:30:33.189Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-122c3cc22873be8b8c47",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a weekly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4455,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2763
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1315
                    }
                  ],
                  "startTime": "2026-08-17T02:30:35.326Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-4b430ac74eb536dee0bf",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a weekly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4703,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3038
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1280
                    }
                  ],
                  "startTime": "2026-08-17T02:30:37.818Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-aa894a7174653cb2fad1",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a monthly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5338,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3688
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1298
                    }
                  ],
                  "startTime": "2026-08-17T02:30:39.786Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-48bef62f36ec5d5d6e77",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a monthly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5441,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3689
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1376
                    }
                  ],
                  "startTime": "2026-08-17T02:30:42.526Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-82cd21fa83c569045476",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3544,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2495
                    },
                    {
                      "title": "submit booking plan add form without required fields",
                      "duration": 643
                    }
                  ],
                  "startTime": "2026-08-17T02:30:45.129Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-e661b11b6d7a5f204d37",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 47,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-attach-unit-types.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-attach-unit-types.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "attaches unit types via the picker",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 12114,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2107
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2741
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4595
                    },
                    {
                      "title": "attach unit types",
                      "duration": 2233
                    },
                    {
                      "title": "verify attached unit types in inline list",
                      "duration": 35
                    }
                  ],
                  "startTime": "2026-08-17T02:30:47.974Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "82e8ca618d5ebcae1ba9-14fe098ed26a6032bba8",
          "file": "src/manager/tests/e2e/product/product-recurring-attach-unit-types.spec.ts",
          "line": 9,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates a recurring product with a single booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4731,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 3712
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 194
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 442
                    }
                  ],
                  "startTime": "2026-08-17T02:30:48.681Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-c698e8d018b4828e3776",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 22,
          "column": 7
        },
        {
          "title": "creates a recurring product with weekly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8564,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 6921
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 783
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 484
                    }
                  ],
                  "startTime": "2026-08-17T02:30:53.417Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-343e2106f68f63365765",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 22,
          "column": 7
        },
        {
          "title": "creates a recurring product with monthly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 9526,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 8175
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 443
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 475
                    }
                  ],
                  "startTime": "2026-08-17T02:30:58.670Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-cf08820a79be7fb8fb35",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 22,
          "column": 7
        },
        {
          "title": "creates a recurring product with mixed booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 8807,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 7464
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 417
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 465
                    }
                  ],
                  "startTime": "2026-08-17T02:31:00.097Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-034734def690270a03c7",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 22,
          "column": 7
        },
        {
          "title": "creates a recurring product with zero taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5463,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 4105
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 322
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 535
                    }
                  ],
                  "startTime": "2026-08-17T02:31:01.988Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-6bfa382d9388c7abee96",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 22,
          "column": 7
        },
        {
          "title": "creates a recurring product with equal b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4870,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 3782
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 235
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 464
                    }
                  ],
                  "startTime": "2026-08-17T02:31:07.456Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-76f103f477fc220cd76f",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 22,
          "column": 7
        },
        {
          "title": "creates a recurring product with mixed b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4827,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 3711
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 242
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 467
                    }
                  ],
                  "startTime": "2026-08-17T02:31:08.205Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-5c7c57ec316fa73598b5",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 22,
          "column": 7
        },
        {
          "title": "creates a mandatory recurring product",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5237,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 3726
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 287
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 438
                    }
                  ],
                  "startTime": "2026-08-17T02:31:08.911Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-6e8e76efcafe3d9d1bc6",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 22,
          "column": 7
        },
        {
          "title": "creates a recurring product with a max quantity per booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4865,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 3735
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 242
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 488
                    }
                  ],
                  "startTime": "2026-08-17T02:31:12.332Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-cd58803286f495419faa",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 22,
          "column": 7
        },
        {
          "title": "creates a recurring product with a short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4925,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 3840
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 216
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 477
                    }
                  ],
                  "startTime": "2026-08-17T02:31:13.039Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-11abf84bce12d1d90506",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 22,
          "column": 7
        },
        {
          "title": "creates a recurring product with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6214,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 1930
                    },
                    {
                      "title": "create recurring product with duplicate name",
                      "duration": 3782
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 118
                    }
                  ],
                  "startTime": "2026-08-17T02:31:14.154Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-899cd8fa21f10b1fc844",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 76,
          "column": 5
        },
        {
          "title": "creates a recurring product with attached unit types",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10659,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2034
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2167
                    },
                    {
                      "title": "create recurring product with attached unit types",
                      "duration": 5792
                    },
                    {
                      "title": "verify attached unit types on details page",
                      "duration": 241
                    }
                  ],
                  "startTime": "2026-08-17T02:31:17.202Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-29eb7672520249e8761e",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 97,
          "column": 5
        },
        {
          "title": "rejects a recurring product without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2212,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid recurring product create form",
                      "duration": 1783
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 31
                    }
                  ],
                  "startTime": "2026-08-17T02:31:17.969Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-43f93a9d4960b7d74bc1",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 123,
          "column": 5
        },
        {
          "title": "rejects a recurring product with duplicate weekly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3645,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid recurring product create form",
                      "duration": 3201
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 29
                    }
                  ],
                  "startTime": "2026-08-17T02:31:20.187Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-39a509c15fa750afa50d",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 139,
          "column": 7
        },
        {
          "title": "rejects a recurring product with duplicate monthly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3849,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid recurring product create form",
                      "duration": 3406
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 33
                    }
                  ],
                  "startTime": "2026-08-17T02:31:20.373Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-c102df9b5b19d689ea59",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 139,
          "column": 7
        },
        {
          "title": "rejects a recurring product with duplicate mixed booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5224,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid recurring product create form",
                      "duration": 4794
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-17T02:31:23.838Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-d97f4324f1fe2360d549",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 139,
          "column": 7
        },
        {
          "title": "rejects a recurring product with weekly booking plans beyond the max period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3091,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2669
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-17T02:31:24.228Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-76da194916cb11bd1fc3",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 156,
          "column": 7
        },
        {
          "title": "rejects a recurring product with weekly booking plans below the min period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 2523,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2125
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 8
                    }
                  ],
                  "startTime": "2026-08-17T02:31:27.324Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-0b6e4f065fa97d164145",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 156,
          "column": 7
        },
        {
          "title": "rejects a recurring product with monthly booking plans beyond the max period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2562,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2147
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-17T02:31:27.868Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-85fbefcdef587bc91db3",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 156,
          "column": 7
        },
        {
          "title": "rejects a recurring product with monthly booking plans below the min period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2580,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2136
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-17T02:31:29.067Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-b9c67a5d2075b54bfd8f",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 156,
          "column": 7
        },
        {
          "title": "rejects a recurring product with two booking plans sharing period and amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 2308,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "add two duplicate booking plans",
                      "duration": 1881
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-17T02:31:29.852Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-64da2c201e953d863455",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 176,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes a single booking plan via the inline action",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4863,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2773
                    },
                    {
                      "title": "delete booking plan",
                      "duration": 1511
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 209
                    }
                  ],
                  "startTime": "2026-08-17T02:31:30.437Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "35b829e4e30beb7cba58-8fc443fd08e48c8a23d6",
          "file": "src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts",
          "line": 10,
          "column": 5
        },
        {
          "title": "rejects deleting the only booking plan via the inline action @bug",
          "ok": true,
          "tags": [
            "bug"
          ],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [
                {
                  "type": "fail",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts",
                    "line": 38,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "failed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "failed",
                  "duration": 34426,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts:52:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts:51:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts",
                      "column": 42,
                      "line": 52
                    },
                    "snippet": "\u001b[0m \u001b[90m 50 |\u001b[39m\n \u001b[90m 51 |\u001b[39m     \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 52 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog\u001b[33m.\u001b[39merrorSnackbar)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 53 |\u001b[39m     })\u001b[33m;\u001b[39m\n \u001b[90m 54 |\u001b[39m   }\n \u001b[90m 55 |\u001b[39m )\u001b[33m;\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts",
                        "column": 42,
                        "line": 52
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n\n  50 |\n  51 |     await test.step('verify error snackbar', async () => {\n> 52 |       await expect(dialog.errorSnackbar).toHaveCountGreaterThan(0);\n     |                                          ^\n  53 |     });\n  54 |   }\n  55 | );\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts:52:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts:51:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2893
                    },
                    {
                      "title": "attempt to delete the only booking plan via inline action",
                      "duration": 1128
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30015,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts:52:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts:51:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts",
                          "column": 42,
                          "line": 52
                        },
                        "snippet": "\u001b[0m \u001b[90m 50 |\u001b[39m\n \u001b[90m 51 |\u001b[39m     \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 52 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog\u001b[33m.\u001b[39merrorSnackbar)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 53 |\u001b[39m     })\u001b[33m;\u001b[39m\n \u001b[90m 54 |\u001b[39m   }\n \u001b[90m 55 |\u001b[39m )\u001b[33m;\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:31:31.653Z",
                  "annotations": [
                    {
                      "type": "fail",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts",
                        "line": 38,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/product-product-recurring--24e2f-n-via-the-inline-action-bug-manager-e2e/error-context.md"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts",
                    "column": 42,
                    "line": 52
                  }
                }
              ],
              "status": "expected"
            }
          ],
          "id": "35b829e4e30beb7cba58-b841309414d3c10f705b",
          "file": "src/manager/tests/e2e/product/product-recurring-delete-booking-plan.spec.ts",
          "line": 38,
          "column": 6
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes some booking plans via the row action",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5992,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3758
                    },
                    {
                      "title": "select booking plans to delete",
                      "duration": 388
                    },
                    {
                      "title": "delete booking plans",
                      "duration": 1362
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 109
                    }
                  ],
                  "startTime": "2026-08-17T02:31:32.167Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "11f3129daa04eadf7ae3-9cfbdc8014ce619bd5e7",
          "file": "src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "rejects deleting all booking plans via the row action @bug",
          "ok": true,
          "tags": [
            "bug"
          ],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [
                {
                  "type": "fail",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts",
                    "line": 38,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "failed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "failed",
                  "duration": 34515,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts:55:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts:54:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts",
                      "column": 42,
                      "line": 55
                    },
                    "snippet": "\u001b[0m \u001b[90m 53 |\u001b[39m\n \u001b[90m 54 |\u001b[39m     \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 55 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog\u001b[33m.\u001b[39merrorSnackbar)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 56 |\u001b[39m     })\u001b[33m;\u001b[39m\n \u001b[90m 57 |\u001b[39m   }\n \u001b[90m 58 |\u001b[39m )\u001b[33m;\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts",
                        "column": 42,
                        "line": 55
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n\n  53 |\n  54 |     await test.step('verify error snackbar', async () => {\n> 55 |       await expect(dialog.errorSnackbar).toHaveCountGreaterThan(0);\n     |                                          ^\n  56 |     });\n  57 |   }\n  58 | );\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts:55:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts:54:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3308
                    },
                    {
                      "title": "attempt to delete all booking plans via row action",
                      "duration": 783
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30023,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts:55:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts:54:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts",
                          "column": 42,
                          "line": 55
                        },
                        "snippet": "\u001b[0m \u001b[90m 53 |\u001b[39m\n \u001b[90m 54 |\u001b[39m     \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 55 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog\u001b[33m.\u001b[39merrorSnackbar)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 56 |\u001b[39m     })\u001b[33m;\u001b[39m\n \u001b[90m 57 |\u001b[39m   }\n \u001b[90m 58 |\u001b[39m )\u001b[33m;\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:31:35.307Z",
                  "annotations": [
                    {
                      "type": "fail",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts",
                        "line": 38,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/product-product-recurring--67068-lans-via-the-row-action-bug-manager-e2e/error-context.md"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts",
                    "column": 42,
                    "line": 55
                  }
                }
              ],
              "status": "expected"
            }
          ],
          "id": "11f3129daa04eadf7ae3-54f324f7dfd6a381f63d",
          "file": "src/manager/tests/e2e/product/product-recurring-delete-booking-plans.spec.ts",
          "line": 38,
          "column": 6
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-delete.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-delete.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes a recurring product that is not used by any bookings",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4093,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 1932
                    },
                    {
                      "title": "delete recurring product",
                      "duration": 1483
                    },
                    {
                      "title": "verify product is no longer on list page",
                      "duration": 281
                    }
                  ],
                  "startTime": "2026-08-17T02:31:38.164Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "726e0fbd1c19df6e024d-d97ca57dcf09d95edcb3",
          "file": "src/manager/tests/e2e/product/product-recurring-delete.spec.ts",
          "line": 6,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-detach-unit-type.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-detach-unit-type.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "detaches a unit type via the inline action",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 7550,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2329
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1917
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 1796
                    },
                    {
                      "title": "detach unit type",
                      "duration": 354
                    },
                    {
                      "title": "verify only the remaining unit type is attached",
                      "duration": 812
                    }
                  ],
                  "startTime": "2026-08-17T02:31:42.263Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c21a906fc811dbdbf377-2c9880bb192785a79ab0",
          "file": "src/manager/tests/e2e/product/product-recurring-detach-unit-type.spec.ts",
          "line": 9,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the price of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5300,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2933
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1817
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 193
                    }
                  ],
                  "startTime": "2026-08-17T02:31:49.820Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-cc9fa4a402de3dc9e824",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the period amount of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5102,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2746
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1828
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 184
                    }
                  ],
                  "startTime": "2026-08-17T02:31:55.126Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-a5bc7126c478a08b5f12",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the discount of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5234,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2840
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1885
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 177
                    }
                  ],
                  "startTime": "2026-08-17T02:32:00.233Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-36580eaf0ecb121b3fe0",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "removes the discount of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5192,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2739
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1856
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 251
                    }
                  ],
                  "startTime": "2026-08-17T02:32:05.471Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-d95cfe36606cd0e79048",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the publish status of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5938,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3676
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1312
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 221
                    }
                  ],
                  "startTime": "2026-08-17T02:32:06.086Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-17c87d929ef36f39f3fe",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate period amount in weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4692,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2892
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1379
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 39
                    }
                  ],
                  "startTime": "2026-08-17T02:32:09.832Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-6f85382ed33cc4804f9f",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate period amount in monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5243,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3427
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1359
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 67
                    }
                  ],
                  "startTime": "2026-08-17T02:32:10.668Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-8f68f92f7c39d11782f8",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate weekly period amount in mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5536,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3613
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1447
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 86
                    }
                  ],
                  "startTime": "2026-08-17T02:32:12.029Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-1593f57e0f5f73fe8435",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate monthly period amount in mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4712,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2877
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1353
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 68
                    }
                  ],
                  "startTime": "2026-08-17T02:32:14.530Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-c80ab566ed04d4bedc16",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a weekly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4651,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2935
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1321
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-17T02:32:15.916Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-748575cbebf318790fa1",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a weekly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4526,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2800
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1327
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-17T02:32:17.573Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-02fa967bd92f79f47da1",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a monthly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 11522,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 9775
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1375
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-17T02:32:19.248Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-fe0eed10a12f9bd4aa1a",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a monthly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5123,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3385
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1372
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:32:20.574Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-4c3eae7a27734d32940a",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6109,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4375
                    },
                    {
                      "title": "submit booking plan edit form with cleared required fields",
                      "duration": 1365
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:32:22.105Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-44de2dbe94d60c87266d",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 54,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-edit-booking-plans-prices.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plans-prices.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "increases the price of some booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 9782,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4809
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 351
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1264
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 2990
                    }
                  ],
                  "startTime": "2026-08-17T02:32:25.703Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "86c7875610c877cec192-0c2cba07b7eef26f1d7f",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plans-prices.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "decreases the price of all booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 8684,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3608
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 373
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1266
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 3049
                    }
                  ],
                  "startTime": "2026-08-17T02:32:28.220Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "86c7875610c877cec192-a0e347d4a3340475e55d",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plans-prices.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "rejects a price change without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6413,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5359
                    },
                    {
                      "title": "submit price change form without required fields",
                      "duration": 686
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-17T02:32:30.777Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "86c7875610c877cec192-3dab671d21ec0ff4e989",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plans-prices.spec.ts",
          "line": 40,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-edit-booking-plans-publish-status.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plans-publish-status.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "publishes some booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5475,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4327
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 375
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 185
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 216
                    }
                  ],
                  "startTime": "2026-08-17T02:32:35.491Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b625c68c24fa119d66bd-63029d3cd8367598e90c",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plans-publish-status.spec.ts",
          "line": 8,
          "column": 7
        },
        {
          "title": "unpublishes all booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6779,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5687
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 313
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 189
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 207
                    }
                  ],
                  "startTime": "2026-08-17T02:32:36.910Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b625c68c24fa119d66bd-d2f69a0823d7566dae5a",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plans-publish-status.spec.ts",
          "line": 8,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-edit-booking-portal.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-portal.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the max quantity per booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5757,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3944
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1405
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-17T02:32:37.198Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10b1148f5c4528fe4e82-3c6ecfa5699041c6ab5b",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-portal.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits the requirement to mandatory",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4772,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2948
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1433
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 21
                    }
                  ],
                  "startTime": "2026-08-17T02:32:40.973Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10b1148f5c4528fe4e82-68bd07c244dfde6811da",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-portal.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits the requirement to optional",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4365,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2527
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1425
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-17T02:32:42.966Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10b1148f5c4528fe4e82-c19c04dd97867f8f65bb",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-portal.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits the short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5473,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3263
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1433
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 30
                    }
                  ],
                  "startTime": "2026-08-17T02:32:43.697Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10b1148f5c4528fe4e82-85243457129c16da2e48",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-portal.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "removes the short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4618,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2758
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1439
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-17T02:32:45.750Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10b1148f5c4528fe4e82-662e8fd9319fa6968e73",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-portal.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3752,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2717
                    },
                    {
                      "title": "submit edit clearing the max quantity per booking",
                      "duration": 641
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-17T02:32:47.337Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10b1148f5c4528fe4e82-2ba8787c47ddf25c87c9",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-portal.spec.ts",
          "line": 38,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-edit-general.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-edit-general.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4397,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2162
                    },
                    {
                      "title": "edit recurring product general",
                      "duration": 1365
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 14
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 440
                    }
                  ],
                  "startTime": "2026-08-17T02:32:49.177Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9d821b3d082a10e194bc-d99fc957b4cc02bf35d5",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-general.spec.ts",
          "line": 11,
          "column": 7
        },
        {
          "title": "edits a recurring product to use a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6961,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2525
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2728
                    },
                    {
                      "title": "edit recurring product to use duplicate name",
                      "duration": 1336
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-17T02:32:50.375Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9d821b3d082a10e194bc-45f5f3e8f35713e9370c",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-general.spec.ts",
          "line": 38,
          "column": 5
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4186,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3158
                    },
                    {
                      "title": "submit edit clearing the name",
                      "duration": 630
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-17T02:32:51.097Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9d821b3d082a10e194bc-05ebee6cc3cbf2c78d90",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-general.spec.ts",
          "line": 58,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-edit-tax.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-edit-tax.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the b2c tax",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5401,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3357
                    },
                    {
                      "title": "edit recurring product tax",
                      "duration": 1662
                    },
                    {
                      "title": "verify new recurring product tax on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-17T02:32:53.580Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5830ff1dfba5f9289d50-f032d1476788f810ace4",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits the b2b tax",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5109,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2903
                    },
                    {
                      "title": "edit recurring product tax",
                      "duration": 1809
                    },
                    {
                      "title": "verify new recurring product tax on details page",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-17T02:32:55.290Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5830ff1dfba5f9289d50-f8727b0f3cd2ad403e9d",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits both b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4937,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2207
                    },
                    {
                      "title": "edit recurring product tax",
                      "duration": 2333
                    },
                    {
                      "title": "verify new recurring product tax on details page",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-17T02:32:57.344Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5830ff1dfba5f9289d50-9847e3ef99222f04669b",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3190,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2114
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 683
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-17T02:32:58.988Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5830ff1dfba5f9289d50-bbe6a30339bae2648a22",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-tax.spec.ts",
          "line": 26,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-filter.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-filter.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "filters by id",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3162,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2188
                    },
                    {
                      "title": "apply filter",
                      "duration": 455
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 164
                    }
                  ],
                  "startTime": "2026-08-17T02:33:00.405Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "56fa86a97da8ea94b891-c62f716be1e05d17cc62",
          "file": "src/manager/tests/e2e/product/product-recurring-filter.spec.ts",
          "line": 9,
          "column": 5
        },
        {
          "title": "filters by name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2730,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 1846
                    },
                    {
                      "title": "apply filter",
                      "duration": 460
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 75
                    }
                  ],
                  "startTime": "2026-08-17T02:33:02.184Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "56fa86a97da8ea94b891-22a2f94be66b1fde891a",
          "file": "src/manager/tests/e2e/product/product-recurring-filter.spec.ts",
          "line": 24,
          "column": 5
        },
        {
          "title": "filters by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4108,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3243
                    },
                    {
                      "title": "apply filter",
                      "duration": 392
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 104
                    }
                  ],
                  "startTime": "2026-08-17T02:33:02.287Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "56fa86a97da8ea94b891-4dfa3456435cc00c2445",
          "file": "src/manager/tests/e2e/product/product-recurring-filter.spec.ts",
          "line": 37,
          "column": 5
        },
        {
          "title": "filters by frequency=recurring",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5759,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4725
                    },
                    {
                      "title": "apply filter",
                      "duration": 649
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 21
                    }
                  ],
                  "startTime": "2026-08-17T02:33:03.572Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "56fa86a97da8ea94b891-33411084eb58c628f846",
          "file": "src/manager/tests/e2e/product/product-recurring-filter.spec.ts",
          "line": 54,
          "column": 5
        },
        {
          "title": "excludes recurring products not in the filtered location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3000,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 1974
                    },
                    {
                      "title": "apply filter",
                      "duration": 647
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 8
                    }
                  ],
                  "startTime": "2026-08-17T02:33:04.919Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "56fa86a97da8ea94b891-75df244ae56e390ba3f8",
          "file": "src/manager/tests/e2e/product/product-recurring-filter.spec.ts",
          "line": 71,
          "column": 5
        },
        {
          "title": "excludes recurring products when filtered by frequency=one-time",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4246,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3264
                    },
                    {
                      "title": "apply filter",
                      "duration": 613
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-17T02:33:06.399Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "56fa86a97da8ea94b891-cf3e68a3e3bff6548e2b",
          "file": "src/manager/tests/e2e/product/product-recurring-filter.spec.ts",
          "line": 89,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-recurring-update-unit-types.spec.ts",
      "file": "src/manager/tests/e2e/product/product-recurring-update-unit-types.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "updates the unit type list via the picker",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 14598,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3291
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3985
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2504
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2359
                    },
                    {
                      "title": "update attached unit types",
                      "duration": 2048
                    },
                    {
                      "title": "verify updated unit types in inline list",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-17T02:33:07.926Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "375e4e46a67910a758f2-d790cd99efcb94e18c72",
          "file": "src/manager/tests/e2e/product/product-recurring-update-unit-types.spec.ts",
          "line": 9,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit/unit-change-status.spec.ts",
      "file": "src/manager/tests/e2e/unit/unit-change-status.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "changes the status from vacant to maintenance",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5131,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3214
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "change unit status",
                      "duration": 1006
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 6
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 506
                    }
                  ],
                  "startTime": "2026-08-17T02:33:09.342Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "394dc9cfacbf83373e69-1ae705a5f0a1a14dcd7d",
          "file": "src/manager/tests/e2e/unit/unit-change-status.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "changes the status from vacant to blocked",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5134,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3227
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "change unit status",
                      "duration": 1029
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 7
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 502
                    }
                  ],
                  "startTime": "2026-08-17T02:33:10.656Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "394dc9cfacbf83373e69-0d2887679a643bbec20f",
          "file": "src/manager/tests/e2e/unit/unit-change-status.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "changes the status from maintenance to vacant",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8943,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7041
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 21
                    },
                    {
                      "title": "change unit status",
                      "duration": 1014
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 7
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 479
                    }
                  ],
                  "startTime": "2026-08-17T02:33:14.478Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "394dc9cfacbf83373e69-a27e2927a19ace682c3d",
          "file": "src/manager/tests/e2e/unit/unit-change-status.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "changes the status from maintenance to blocked",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4903,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3013
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 22
                    },
                    {
                      "title": "change unit status",
                      "duration": 986
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 9
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 515
                    }
                  ],
                  "startTime": "2026-08-17T02:33:15.795Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "394dc9cfacbf83373e69-d712869a6ecac3f3b0e2",
          "file": "src/manager/tests/e2e/unit/unit-change-status.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "changes the status from blocked to vacant",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5598,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3675
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "change unit status",
                      "duration": 985
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 8
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 525
                    }
                  ],
                  "startTime": "2026-08-17T02:33:20.705Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "394dc9cfacbf83373e69-d814b3f481139119fd58",
          "file": "src/manager/tests/e2e/unit/unit-change-status.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "changes the status from blocked to maintenance",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5160,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3192
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 30
                    },
                    {
                      "title": "change unit status",
                      "duration": 1040
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 8
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 517
                    }
                  ],
                  "startTime": "2026-08-17T02:33:22.534Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "394dc9cfacbf83373e69-cba51e2a4aa287d7ff0e",
          "file": "src/manager/tests/e2e/unit/unit-change-status.spec.ts",
          "line": 12,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit/unit-create.spec.ts",
      "file": "src/manager/tests/e2e/unit/unit-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates a vacant unit with measurements",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8245,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5046
                    },
                    {
                      "title": "create unit",
                      "duration": 2036
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 188
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 591
                    }
                  ],
                  "startTime": "2026-08-17T02:33:23.428Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "821325180c23605a499d-1e2f9255c509eee9833d",
          "file": "src/manager/tests/e2e/unit/unit-create.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "creates a maintenance unit without measurements",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6356,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3536
                    },
                    {
                      "title": "create unit",
                      "duration": 1647
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 165
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 606
                    }
                  ],
                  "startTime": "2026-08-17T02:33:26.313Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "821325180c23605a499d-cbd6ab71455ed2625e9f",
          "file": "src/manager/tests/e2e/unit/unit-create.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "creates a blocked unit without measurements",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6405,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3660
                    },
                    {
                      "title": "create unit",
                      "duration": 1598
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 163
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 588
                    }
                  ],
                  "startTime": "2026-08-17T02:33:27.702Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "821325180c23605a499d-87cd11685f57a1d8faaf",
          "file": "src/manager/tests/e2e/unit/unit-create.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "creates a unit with a note",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9426,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6778
                    },
                    {
                      "title": "create unit",
                      "duration": 1558
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 155
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 554
                    }
                  ],
                  "startTime": "2026-08-17T02:33:31.678Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "821325180c23605a499d-114f0fb8e4b1d2854d54",
          "file": "src/manager/tests/e2e/unit/unit-create.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "rejects a unit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4722,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2987
                    },
                    {
                      "title": "submit invalid unit create form",
                      "duration": 1338
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-17T02:33:32.675Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "821325180c23605a499d-0518a975ef503286d35e",
          "file": "src/manager/tests/e2e/unit/unit-create.spec.ts",
          "line": 69,
          "column": 5
        },
        {
          "title": "rejects a unit with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7609,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5842
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "submit unit create form with duplicate name",
                      "duration": 1305
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 62
                    }
                  ],
                  "startTime": "2026-08-17T02:33:34.113Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "821325180c23605a499d-dcdf3cfc6d64446acd18",
          "file": "src/manager/tests/e2e/unit/unit-create.spec.ts",
          "line": 85,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit/unit-edit-general.spec.ts",
      "file": "src/manager/tests/e2e/unit/unit-edit-general.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5882,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4068
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "edit unit general",
                      "duration": 870
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 29
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 514
                    }
                  ],
                  "startTime": "2026-08-17T02:33:37.404Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "54a50ea27025a707e924-590d88c66aea77203330",
          "file": "src/manager/tests/e2e/unit/unit-edit-general.spec.ts",
          "line": 14,
          "column": 7
        },
        {
          "title": "adds a note",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5207,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3247
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "edit unit general",
                      "duration": 913
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 32
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 601
                    }
                  ],
                  "startTime": "2026-08-17T02:33:41.112Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "54a50ea27025a707e924-a3999188a177ec168110",
          "file": "src/manager/tests/e2e/unit/unit-edit-general.spec.ts",
          "line": 14,
          "column": 7
        },
        {
          "title": "edits the note",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6063,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4068
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "edit unit general",
                      "duration": 978
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 40
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 563
                    }
                  ],
                  "startTime": "2026-08-17T02:33:41.728Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "54a50ea27025a707e924-6fe79d57f381251c021b",
          "file": "src/manager/tests/e2e/unit/unit-edit-general.spec.ts",
          "line": 14,
          "column": 7
        },
        {
          "title": "edits the unit type",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 10301,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4211
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4040
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "edit unit type",
                      "duration": 1095
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 11
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 534
                    }
                  ],
                  "startTime": "2026-08-17T02:33:43.291Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "54a50ea27025a707e924-4d125a13d2126a949475",
          "file": "src/manager/tests/e2e/unit/unit-edit-general.spec.ts",
          "line": 54,
          "column": 5
        },
        {
          "title": "edits the location and unit type",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10675,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2487
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5899
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "edit location and unit type",
                      "duration": 1282
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 15
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 573
                    }
                  ],
                  "startTime": "2026-08-17T02:33:46.325Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "54a50ea27025a707e924-af2934d08b09b39ead3c",
          "file": "src/manager/tests/e2e/unit/unit-edit-general.spec.ts",
          "line": 79,
          "column": 5
        },
        {
          "title": "rejects an edit with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7001,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5392
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 32
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 644
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 71
                    }
                  ],
                  "startTime": "2026-08-17T02:33:47.797Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "54a50ea27025a707e924-21a3fa3d7c432cebf780",
          "file": "src/manager/tests/e2e/unit/unit-edit-general.spec.ts",
          "line": 110,
          "column": 5
        },
        {
          "title": "rejects an edit changing location without a unit type",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3746,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2489
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "submit edit changing only the location",
                      "duration": 847
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-17T02:33:53.597Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "54a50ea27025a707e924-91422fcb0639ca5a71c1",
          "file": "src/manager/tests/e2e/unit/unit-edit-general.spec.ts",
          "line": 129,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit/unit-edit-measurements.spec.ts",
      "file": "src/manager/tests/e2e/unit/unit-edit-measurements.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the measurements",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4551,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2674
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "edit unit measurements",
                      "duration": 868
                    },
                    {
                      "title": "verify new measurements on details page",
                      "duration": 44
                    },
                    {
                      "title": "verify new measurements on list page",
                      "duration": 568
                    }
                  ],
                  "startTime": "2026-08-17T02:33:54.804Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "8ade4b163a4dde493312-d4196a5a7a4c6561a0dc",
          "file": "src/manager/tests/e2e/unit/unit-edit-measurements.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "removes the measurements",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6785,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4706
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "edit unit measurements",
                      "duration": 1071
                    },
                    {
                      "title": "verify new measurements on details page",
                      "duration": 51
                    },
                    {
                      "title": "verify new measurements on list page",
                      "duration": 553
                    }
                  ],
                  "startTime": "2026-08-17T02:33:57.008Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "8ade4b163a4dde493312-db04b7b306cd1d5612f6",
          "file": "src/manager/tests/e2e/unit/unit-edit-measurements.spec.ts",
          "line": 13,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit/unit-filter.spec.ts",
      "file": "src/manager/tests/e2e/unit/unit-filter.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "filters by id",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3911,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2788
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "apply filter",
                      "duration": 493
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 236
                    }
                  ],
                  "startTime": "2026-08-17T02:33:57.350Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "43116b15ae353d116f50-46332ca72be71e9dc496",
          "file": "src/manager/tests/e2e/unit/unit-filter.spec.ts",
          "line": 10,
          "column": 5
        },
        {
          "title": "filters by name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4945,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3876
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 34
                    },
                    {
                      "title": "apply filter",
                      "duration": 536
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 99
                    }
                  ],
                  "startTime": "2026-08-17T02:33:59.362Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "43116b15ae353d116f50-9586d08abf77e54f314a",
          "file": "src/manager/tests/e2e/unit/unit-filter.spec.ts",
          "line": 25,
          "column": 5
        },
        {
          "title": "filters by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5994,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4952
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 38
                    },
                    {
                      "title": "apply filter",
                      "duration": 469
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 165
                    }
                  ],
                  "startTime": "2026-08-17T02:34:01.266Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "43116b15ae353d116f50-71134285f688db8781bf",
          "file": "src/manager/tests/e2e/unit/unit-filter.spec.ts",
          "line": 39,
          "column": 5
        },
        {
          "title": "filters by unit type size",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6220,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5233
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 37
                    },
                    {
                      "title": "apply filter",
                      "duration": 513
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 84
                    }
                  ],
                  "startTime": "2026-08-17T02:34:03.800Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "43116b15ae353d116f50-596c48135eef44693747",
          "file": "src/manager/tests/e2e/unit/unit-filter.spec.ts",
          "line": 57,
          "column": 5
        },
        {
          "title": "filters by status=vacant",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4333,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3330
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "apply filter",
                      "duration": 463
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 144
                    }
                  ],
                  "startTime": "2026-08-17T02:34:04.315Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "43116b15ae353d116f50-a42eebfbbd1c99fc5f22",
          "file": "src/manager/tests/e2e/unit/unit-filter.spec.ts",
          "line": 73,
          "column": 5
        },
        {
          "title": "filters by name and location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4616,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3386
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "apply filter",
                      "duration": 805
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-17T02:34:07.265Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "43116b15ae353d116f50-d55f4c0bc6323246187c",
          "file": "src/manager/tests/e2e/unit/unit-filter.spec.ts",
          "line": 87,
          "column": 5
        },
        {
          "title": "filters by name, location, unit type size and status",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6863,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5159
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "apply filter",
                      "duration": 1267
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-17T02:34:08.654Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "43116b15ae353d116f50-9921db7897b1ce756a58",
          "file": "src/manager/tests/e2e/unit/unit-filter.spec.ts",
          "line": 103,
          "column": 5
        },
        {
          "title": "excludes units not in the filtered location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3438,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2231
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 34
                    },
                    {
                      "title": "apply filter",
                      "duration": 792
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-17T02:34:10.026Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "43116b15ae353d116f50-57e9c0824e6f0a63a98b",
          "file": "src/manager/tests/e2e/unit/unit-filter.spec.ts",
          "line": 122,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit/unit-navigate.spec.ts",
      "file": "src/manager/tests/e2e/unit/unit-navigate.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "navigates from the unit list to the unit details page",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4647,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3517
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 33
                    },
                    {
                      "title": "navigate to unit details page",
                      "duration": 659
                    },
                    {
                      "title": "verify unit details page",
                      "duration": 69
                    }
                  ],
                  "startTime": "2026-08-17T02:34:11.887Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "6183b9ca3794ccfb683c-3be0875f88be897ff099",
          "file": "src/manager/tests/e2e/unit/unit-navigate.spec.ts",
          "line": 8,
          "column": 5
        },
        {
          "title": "navigates from the unit list to the unit create dialog",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1110,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open unit create dialog from list",
                      "duration": 359
                    },
                    {
                      "title": "verify unit create dialog is open",
                      "duration": 353
                    }
                  ],
                  "startTime": "2026-08-17T02:34:13.470Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "6183b9ca3794ccfb683c-070faa54b30e502513e5",
          "file": "src/manager/tests/e2e/unit/unit-navigate.spec.ts",
          "line": 24,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "adds a nameless weekly booking plan to weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5306,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3073
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1576
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 288
                    }
                  ],
                  "startTime": "2026-08-17T02:34:14.594Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-c4f94dccb05db5ce8cf5",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a named weekly booking plan to weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6102,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3812
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1551
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 364
                    }
                  ],
                  "startTime": "2026-08-17T02:34:15.528Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-1839eb94e44e63b4af92",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a monthly booking plan to weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6601,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4375
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1604
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 267
                    }
                  ],
                  "startTime": "2026-08-17T02:34:16.545Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-e63c4be46faaf8b66476",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a weekly booking plan to monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5201,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3077
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1504
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 248
                    }
                  ],
                  "startTime": "2026-08-17T02:34:19.908Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-d635a0090ec0f74ec8c1",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a monthly booking plan to monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5224,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3048
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1552
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 222
                    }
                  ],
                  "startTime": "2026-08-17T02:34:21.637Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-2ba30f9e870515dac6f6",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a weekly booking plan to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6535,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4348
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1563
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 272
                    }
                  ],
                  "startTime": "2026-08-17T02:34:23.152Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-ac1c7e594df21ad98bd6",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a monthly booking plan to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6151,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3954
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1552
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 275
                    }
                  ],
                  "startTime": "2026-08-17T02:34:25.115Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-2d5ec38905a4160ff03e",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate period amount and name to weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5366,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3658
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1365
                    }
                  ],
                  "startTime": "2026-08-17T02:34:26.867Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-65e1e3dfa045d2015555",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate period amount and name to monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4747,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2880
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1483
                    }
                  ],
                  "startTime": "2026-08-17T02:34:29.693Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-f31ee5328377f328da06",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate weekly period amount and name to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4771,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3029
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1379
                    }
                  ],
                  "startTime": "2026-08-17T02:34:31.270Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-fa2afb1101fc9936f2c6",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate monthly period amount and name to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5351,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3543
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1444
                    }
                  ],
                  "startTime": "2026-08-17T02:34:32.239Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-ffeabc5b035190fe09e3",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a nameless booking plan that duplicates an existing nameless plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4499,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2762
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1365
                    }
                  ],
                  "startTime": "2026-08-17T02:34:34.448Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-f019e0c985a6efd3594a",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a weekly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5907,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4232
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1302
                    }
                  ],
                  "startTime": "2026-08-17T02:34:34.509Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-3c20edced5d6ae7f315c",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a weekly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5871,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4197
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1323
                    }
                  ],
                  "startTime": "2026-08-17T02:34:36.045Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-508f30a503957c986ca6",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a monthly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6067,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4266
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1423
                    }
                  ],
                  "startTime": "2026-08-17T02:34:37.596Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-50cafa170186ae12e320",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a monthly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6445,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4552
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1497
                    }
                  ],
                  "startTime": "2026-08-17T02:34:38.954Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-fdb34f44593757e38a4b",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5933,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4819
                    },
                    {
                      "title": "submit booking plan add form without required fields",
                      "duration": 723
                    }
                  ],
                  "startTime": "2026-08-17T02:34:40.423Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-64f00197c739dbbbf421",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 47,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "shows unit type not part of a booking as available with vacant, vacant and vacant units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3274,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3154
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 55
                    }
                  ],
                  "startTime": "2026-08-17T02:34:41.931Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-439d79bfe204070aed27",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type not part of a booking as available with vacant, blocked and blocked units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3374,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3257
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 48
                    }
                  ],
                  "startTime": "2026-08-17T02:34:43.673Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-22bd0b55b26a9ccb684c",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type not part of a booking as available with vacant, maintenance and maintenance units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3445,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3314
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 60
                    }
                  ],
                  "startTime": "2026-08-17T02:34:45.211Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-4086c6ee83e1df17f720",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type not part of a booking as available with vacant, vacant and blocked units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3558,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3449
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 42
                    }
                  ],
                  "startTime": "2026-08-17T02:34:45.405Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-ad504b614295c6f95939",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type not part of a booking as available with vacant, vacant and maintenance units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3605,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3451
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 76
                    }
                  ],
                  "startTime": "2026-08-17T02:34:46.364Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-5732d3bf21661aaa651e",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of an active booking without move-out date set as available with rented, vacant and vacant units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3889,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3756
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 60
                    }
                  ],
                  "startTime": "2026-08-17T02:34:47.054Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-43869768435fc7a9640f",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of an active booking without move-out date set as available with rented, blocked and vacant units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3553,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3423
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 55
                    }
                  ],
                  "startTime": "2026-08-17T02:34:48.661Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-dcb5c566cd9676d6009d",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of an active booking without move-out date set as available with rented, maintenance and vacant units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3642,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3514
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 55
                    }
                  ],
                  "startTime": "2026-08-17T02:34:48.969Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-42d8bc3e2bd1fe59ce7c",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a scheduled booking without move-out date set as available with reserved, vacant and vacant units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3758,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3615
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 58
                    }
                  ],
                  "startTime": "2026-08-17T02:34:49.976Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-f4989e2593a630f51b87",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a scheduled booking without move-out date set as available with reserved, blocked and vacant units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3628,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3511
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 45
                    }
                  ],
                  "startTime": "2026-08-17T02:34:50.949Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-2029236c6dc23772e671",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a scheduled booking without move-out date set as available with reserved, maintenance and vacant units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3555,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3430
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 43
                    }
                  ],
                  "startTime": "2026-08-17T02:34:52.220Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-e5f0496f142fe622222e",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of an active and already canceled booking as available with rented, blocked and blocked units, move-out date set today + 2 days, requested move-in date set 7 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3631,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3489
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 62
                    }
                  ],
                  "startTime": "2026-08-17T02:34:52.619Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-a0857d30a50293a69eb1",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of an active and already canceled booking as available with rented, blocked and blocked units, move-out date set today + 2 days, requested move-in date set 8 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3635,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3502
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 58
                    }
                  ],
                  "startTime": "2026-08-17T02:34:53.741Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-327d7eb545cbe7d16942",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of an active and already canceled booking as available with rented, blocked and blocked units, move-out date set today + 2 days, requested move-in date set 16 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3535,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3410
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 49
                    }
                  ],
                  "startTime": "2026-08-17T02:34:54.584Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-10c940279f633ff58121",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a canceled booking as available with to-check, blocked and blocked units, move-out date set today - 2 days, requested move-in date set 7 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3487,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3357
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 58
                    }
                  ],
                  "startTime": "2026-08-17T02:34:55.782Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-317e864ac9ec0304f162",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a canceled booking as available with to-check, blocked and blocked units, move-out date set today - 2 days, requested move-in date set 8 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3973,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3858
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 38
                    }
                  ],
                  "startTime": "2026-08-17T02:34:56.257Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-e5d18d21f8ed6f957e14",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a canceled booking as available with to-check, blocked and blocked units, move-out date set today - 2 days, requested move-in date set 16 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3627,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3394
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 151
                    }
                  ],
                  "startTime": "2026-08-17T02:34:57.384Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-361aea252945b4aeaf7f",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a canceled booking as available with vacant, blocked and blocked units, move-out date set today - 2 days, requested move-in date set 2 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3891,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3745
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 65
                    }
                  ],
                  "startTime": "2026-08-17T02:34:58.125Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-5248fe464dc959b6cf26",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a canceled booking as available with vacant, blocked and blocked units, move-out date set today - 2 days, requested move-in date set 5 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3722,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3587
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 64
                    }
                  ],
                  "startTime": "2026-08-17T02:34:59.276Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-e562353507aabaa60fa2",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a canceled booking as available with vacant, blocked and blocked units, move-out date set today, requested move-in date set equal to move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3911,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3779
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 56
                    }
                  ],
                  "startTime": "2026-08-17T02:35:00.236Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-ed4bb78528cec0278e66",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a canceled booking as available with vacant, blocked and blocked units, move-out date set today, requested move-in date set 2 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3785,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3591
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 47
                    }
                  ],
                  "startTime": "2026-08-17T02:35:01.020Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-89424b24a8e6d30ce6bc",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a canceled booking as available with vacant, blocked and blocked units, move-out date set today, requested move-in date set 5 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4013,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3877
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 57
                    }
                  ],
                  "startTime": "2026-08-17T02:35:02.025Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-51f182f2a7b9290126db",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a past-due and already canceled booking as available with rented, blocked and blocked units, move-out date set today + 5 days, requested move-in date set 7 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3567,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3433
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 53
                    }
                  ],
                  "startTime": "2026-08-17T02:35:03.006Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-8ad3f946cc1a776e0c38",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a past-due and already canceled booking as available with rented, blocked and blocked units, move-out date set today + 5 days, requested move-in date set 8 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3611,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3482
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 54
                    }
                  ],
                  "startTime": "2026-08-17T02:35:04.154Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-b77c62a4fc7df543bc74",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a past-due and already canceled booking as available with rented, blocked and blocked units, move-out date set today + 5 days, requested move-in date set 16 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3636,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3519
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 46
                    }
                  ],
                  "startTime": "2026-08-17T02:35:04.814Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-14729badb9cc30541c8f",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "does not show unit type not part of a booking as available with blocked, blocked and blocked units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3566,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3429
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 65
                    }
                  ],
                  "startTime": "2026-08-17T02:35:06.045Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-d59b06407a61c3b779a8",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type not part of a booking as available with maintenance, maintenance and maintenance units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3612,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3477
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 53
                    }
                  ],
                  "startTime": "2026-08-17T02:35:06.580Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-e2a743ea11f4b3f62eae",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of an active booking as available with rented, blocked and blocked units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3595,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3463
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 57
                    }
                  ],
                  "startTime": "2026-08-17T02:35:07.771Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-b18585ecd60027a6582c",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of an active booking as available with rented, maintenance and maintenance units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3538,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3412
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 52
                    }
                  ],
                  "startTime": "2026-08-17T02:35:08.457Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-36abebd020ef20e847c5",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of a scheduled booking as available with reserved, blocked and blocked units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3557,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3437
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 48
                    }
                  ],
                  "startTime": "2026-08-17T02:35:09.616Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-760e80ab4e2d61e583f5",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of a scheduled booking as available with reserved, maintenance and maintenance units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3531,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3406
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 52
                    }
                  ],
                  "startTime": "2026-08-17T02:35:10.197Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-2c9c1726ed765b88e4d2",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of an active and already canceled booking as available with rented, blocked and blocked units, move-out date set today + 2 days, requested move-in date set 1 day before move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3520,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3397
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 49
                    }
                  ],
                  "startTime": "2026-08-17T02:35:11.373Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-bed6be7ca1abdca29cc3",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of an active and already canceled booking as available with rented, blocked and blocked units, move-out date set today + 2 days, requested move-in date set 2 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3570,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3439
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 55
                    }
                  ],
                  "startTime": "2026-08-17T02:35:12.000Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-cdcfc036bd4777e75bee",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of an active and already canceled booking as available with rented, blocked and blocked units, move-out date set today + 2 days, requested move-in date set 5 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3576,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3445
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 61
                    }
                  ],
                  "startTime": "2026-08-17T02:35:13.180Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-25d639ef2fd4c96284e5",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of a canceled booking as available with to-check, blocked and blocked units, move-out date set today - 2 days, requested move-in date set 2 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3629,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3483
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 63
                    }
                  ],
                  "startTime": "2026-08-17T02:35:13.736Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-d6f16e1b00c6a04a5112",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of a canceled booking as available with to-check, blocked and blocked units, move-out date set today - 2 days, requested move-in date set 5 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3600,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3470
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 55
                    }
                  ],
                  "startTime": "2026-08-17T02:35:14.900Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-816fe4d738b943b00234",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of a past-due and already canceled booking as available with rented, blocked and blocked units, move-out date set today + 5 days, requested move-in date set 1 day before move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3524,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3391
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 60
                    }
                  ],
                  "startTime": "2026-08-17T02:35:15.577Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-d9e7271ff85d4ef05530",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of a past-due and already canceled booking as available with rented, blocked and blocked units, move-out date set today + 5 days, requested move-in date set 2 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3564,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3427
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 57
                    }
                  ],
                  "startTime": "2026-08-17T02:35:16.764Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-ee705baffd2d4e6a5c39",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of a past-due and already canceled booking as available with rented, blocked and blocked units, move-out date set today + 5 days, requested move-in date set 5 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3590,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3457
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 56
                    }
                  ],
                  "startTime": "2026-08-17T02:35:17.372Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-b00ea745bc6ba9e4455a",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates a unit type with a single booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5933,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4562
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 327
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 623
                    }
                  ],
                  "startTime": "2026-08-17T02:35:18.509Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-d5159aa4df615bc1fa5f",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with weekly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 10296,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 8748
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 559
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 539
                    }
                  ],
                  "startTime": "2026-08-17T02:35:19.109Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-f37cfb569efc175fc39c",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with monthly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 10572,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 9121
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 477
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 525
                    }
                  ],
                  "startTime": "2026-08-17T02:35:20.339Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-e91f4382f0982638161a",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with mixed booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10276,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 8731
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 524
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 593
                    }
                  ],
                  "startTime": "2026-08-17T02:35:20.971Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-10519671b2a6044b35a1",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with a named and a nameless booking plan sharing the same period and amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 7080,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 5408
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 342
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 527
                    }
                  ],
                  "startTime": "2026-08-17T02:35:24.449Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-23dd567e2082349e32b4",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with zero taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5733,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4468
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 285
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 550
                    }
                  ],
                  "startTime": "2026-08-17T02:35:29.075Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-295d7eac3d444f675fba",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with equal b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5768,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4621
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 159
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 547
                    }
                  ],
                  "startTime": "2026-08-17T02:35:29.411Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-4208b174579bfef23fcb",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with mixed b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6177,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4899
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 299
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 549
                    }
                  ],
                  "startTime": "2026-08-17T02:35:30.918Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-d573e1ec9f370191d0bd",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with a more info url",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5623,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4375
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 301
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 498
                    }
                  ],
                  "startTime": "2026-08-17T02:35:31.254Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-ea6773495cf3bcf80458",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with a short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5599,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4412
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 267
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 503
                    }
                  ],
                  "startTime": "2026-08-17T02:35:31.536Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-fff21cccb0a00a0d9194",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with one category",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5545,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4164
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 342
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 577
                    }
                  ],
                  "startTime": "2026-08-17T02:35:34.824Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-285f62d8a9b4556c5fc0",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with two categories",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5572,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4296
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 301
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 555
                    }
                  ],
                  "startTime": "2026-08-17T02:35:35.185Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-47b8d80358ed65ef6071",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with a deposit",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7885,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2224
                    },
                    {
                      "title": "create unit type",
                      "duration": 5220
                    },
                    {
                      "title": "verify deposit on details page",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-17T02:35:36.883Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-a134bac6aae7bff4b5d7",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 76,
          "column": 5
        },
        {
          "title": "rejects a unit type without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3149,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 2716
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 42
                    }
                  ],
                  "startTime": "2026-08-17T02:35:37.102Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-c5d2e18effd6baf020e4",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 95,
          "column": 5
        },
        {
          "title": "rejects a unit type with two nameless booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4433,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 3979
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 32
                    }
                  ],
                  "startTime": "2026-08-17T02:35:37.142Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-8c9a0ebd1ecbb32337bb",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 111,
          "column": 7
        },
        {
          "title": "rejects a unit type with non-unique weekly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4784,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 4300
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 31
                    }
                  ],
                  "startTime": "2026-08-17T02:35:40.258Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-b74fd51dd8fcd7a358ba",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 111,
          "column": 7
        },
        {
          "title": "rejects a unit type with non-unique monthly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4886,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 4410
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 39
                    }
                  ],
                  "startTime": "2026-08-17T02:35:40.383Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-a52615523dbb747ed213",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 111,
          "column": 7
        },
        {
          "title": "rejects a unit type with non-unique mixed booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6873,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 6389
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 28
                    }
                  ],
                  "startTime": "2026-08-17T02:35:40.764Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-170d9166639fd7d5eae5",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 111,
          "column": 7
        },
        {
          "title": "rejects a unit type with weekly booking plans beyond the max period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 2773,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2313
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-17T02:35:41.581Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-d17b44dd1a749f05e5ba",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 128,
          "column": 7
        },
        {
          "title": "rejects a unit type with weekly booking plans below the min period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 2820,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2363
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-17T02:35:44.360Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-94d056f3f8b1968fe7a9",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 128,
          "column": 7
        },
        {
          "title": "rejects a unit type with monthly booking plans beyond the max period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2852,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2385
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-17T02:35:44.774Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-b17a86cb7e4b5e4df351",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 128,
          "column": 7
        },
        {
          "title": "rejects a unit type with monthly booking plans below the min period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2874,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2417
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-17T02:35:45.049Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-70e6b68ed68c2644c0bb",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 128,
          "column": 7
        },
        {
          "title": "rejects a unit type with two booking plans sharing period, amount and name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 2626,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "add two duplicate booking plans",
                      "duration": 2154
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:35:45.275Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-fa735582438dd174da62",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 148,
          "column": 5
        },
        {
          "title": "rejects a unit type with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5448,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1962
                    },
                    {
                      "title": "submit unit type create form with duplicate name",
                      "duration": 3017
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 88
                    }
                  ],
                  "startTime": "2026-08-17T02:35:47.186Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-babda31aa50a06c11652",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 168,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes a single booking plan via the inline action",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5152,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2962
                    },
                    {
                      "title": "delete booking plan",
                      "duration": 1590
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 222
                    }
                  ],
                  "startTime": "2026-08-17T02:35:47.635Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3aff8071e7912a497007-145f981a2a2d420aed68",
          "file": "src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts",
          "line": 10,
          "column": 5
        },
        {
          "title": "rejects deleting the only booking plan via the inline action @bug",
          "ok": true,
          "tags": [
            "bug"
          ],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [
                {
                  "type": "fail",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts",
                    "line": 35,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "failed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 40586,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts:49:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts:48:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts",
                      "column": 42,
                      "line": 49
                    },
                    "snippet": "\u001b[0m \u001b[90m 47 |\u001b[39m\n \u001b[90m 48 |\u001b[39m     \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 49 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog\u001b[33m.\u001b[39merrorSnackbar)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 50 |\u001b[39m     })\u001b[33m;\u001b[39m\n \u001b[90m 51 |\u001b[39m   }\n \u001b[90m 52 |\u001b[39m )\u001b[33m;\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts",
                        "column": 42,
                        "line": 49
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n\n  47 |\n  48 |     await test.step('verify error snackbar', async () => {\n> 49 |       await expect(dialog.errorSnackbar).toHaveCountGreaterThan(0);\n     |                                          ^\n  50 |     });\n  51 |   }\n  52 | );\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts:49:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts:48:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 9099
                    },
                    {
                      "title": "attempt to delete the only booking plan via inline action",
                      "duration": 1095
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30021,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts:49:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts:48:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts",
                          "column": 42,
                          "line": 49
                        },
                        "snippet": "\u001b[0m \u001b[90m 47 |\u001b[39m\n \u001b[90m 48 |\u001b[39m     \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 49 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog\u001b[33m.\u001b[39merrorSnackbar)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 50 |\u001b[39m     })\u001b[33m;\u001b[39m\n \u001b[90m 51 |\u001b[39m   }\n \u001b[90m 52 |\u001b[39m )\u001b[33m;\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:35:47.645Z",
                  "annotations": [
                    {
                      "type": "fail",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts",
                        "line": 35,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/unit-type-unit-type-delete-0cfb3-n-via-the-inline-action-bug-manager-e2e/error-context.md"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts",
                    "column": 42,
                    "line": 49
                  }
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3aff8071e7912a497007-d210b895aee6d74a8df1",
          "file": "src/manager/tests/e2e/unit-type/unit-type-delete-booking-plan.spec.ts",
          "line": 35,
          "column": 6
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes some booking plans via the row action",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 8063,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5794
                    },
                    {
                      "title": "select booking plans to delete",
                      "duration": 466
                    },
                    {
                      "title": "delete booking plans",
                      "duration": 1339
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 94
                    }
                  ],
                  "startTime": "2026-08-17T02:35:47.908Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c6967ef9e15df74ba6de-2b46ed96c0e1f7858146",
          "file": "src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "rejects deleting all booking plans via the row action @bug",
          "ok": true,
          "tags": [
            "bug"
          ],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [
                {
                  "type": "fail",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts",
                    "line": 38,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "failed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "failed",
                  "duration": 35490,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts:55:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts:54:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts",
                      "column": 42,
                      "line": 55
                    },
                    "snippet": "\u001b[0m \u001b[90m 53 |\u001b[39m\n \u001b[90m 54 |\u001b[39m     \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 55 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog\u001b[33m.\u001b[39merrorSnackbar)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 56 |\u001b[39m     })\u001b[33m;\u001b[39m\n \u001b[90m 57 |\u001b[39m   }\n \u001b[90m 58 |\u001b[39m )\u001b[33m;\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts",
                        "column": 42,
                        "line": 55
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n\n  53 |\n  54 |     await test.step('verify error snackbar', async () => {\n> 55 |       await expect(dialog.errorSnackbar).toHaveCountGreaterThan(0);\n     |                                          ^\n  56 |     });\n  57 |   }\n  58 | );\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts:55:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts:54:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4295
                    },
                    {
                      "title": "attempt to delete all booking plans via row action",
                      "duration": 762
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30026,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-snackbar').filter({ hasText: 'At least one booking plan is required' })\nExpected: > \u001b[32m0\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts:55:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts:54:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts",
                          "column": 42,
                          "line": 55
                        },
                        "snippet": "\u001b[0m \u001b[90m 53 |\u001b[39m\n \u001b[90m 54 |\u001b[39m     \u001b[36mawait\u001b[39m test\u001b[33m.\u001b[39mstep(\u001b[32m'verify error snackbar'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 55 |\u001b[39m       \u001b[36mawait\u001b[39m expect(dialog\u001b[33m.\u001b[39merrorSnackbar)\u001b[33m.\u001b[39mtoHaveCountGreaterThan(\u001b[35m0\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m                                          \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 56 |\u001b[39m     })\u001b[33m;\u001b[39m\n \u001b[90m 57 |\u001b[39m   }\n \u001b[90m 58 |\u001b[39m )\u001b[33m;\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-17T02:35:47.930Z",
                  "annotations": [
                    {
                      "type": "fail",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts",
                        "line": 38,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/unit-type-unit-type-delete-65061-lans-via-the-row-action-bug-manager-e2e/error-context.md"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts",
                    "column": 42,
                    "line": 55
                  }
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c6967ef9e15df74ba6de-af085a11ea7e7d10036a",
          "file": "src/manager/tests/e2e/unit-type/unit-type-delete-booking-plans.spec.ts",
          "line": 38,
          "column": 6
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-delete.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-delete.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes a unit type that is not used by any units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4732,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2621
                    },
                    {
                      "title": "delete unit type",
                      "duration": 1433
                    },
                    {
                      "title": "verify unit type is no longer on list page",
                      "duration": 294
                    }
                  ],
                  "startTime": "2026-08-17T02:35:52.641Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "63d19bd96b1c10afbc25-524d662b830621d9f321",
          "file": "src/manager/tests/e2e/unit-type/unit-type-delete.spec.ts",
          "line": 6,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the name of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7527,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5544
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1342
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 286
                    }
                  ],
                  "startTime": "2026-08-17T02:35:52.794Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-3094f1d95b948cba9114",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the short description of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6026,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4057
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1321
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 260
                    }
                  ],
                  "startTime": "2026-08-17T02:35:55.978Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-925adeb7a73dc97d865e",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "removes the name of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6361,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4407
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1296
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 290
                    }
                  ],
                  "startTime": "2026-08-17T02:35:57.380Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-ae4ae06bbdcd11e2ad95",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "removes the short description of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5000,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2971
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1376
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 273
                    }
                  ],
                  "startTime": "2026-08-17T02:36:00.326Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-408283564629c19dc9e5",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the price of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5583,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3067
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1930
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 238
                    }
                  ],
                  "startTime": "2026-08-17T02:36:02.009Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-140b4b7e259bef49d653",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the period amount of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5614,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3160
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1868
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 206
                    }
                  ],
                  "startTime": "2026-08-17T02:36:03.749Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-80eb5f765aa0b4dd1ad7",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the discount of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5589,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3095
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1929
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 204
                    }
                  ],
                  "startTime": "2026-08-17T02:36:05.331Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-5e3b1cf2a09054e5e419",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "removes the discount of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5436,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2975
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1847
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 244
                    }
                  ],
                  "startTime": "2026-08-17T02:36:07.597Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-d0f8ee41f4a759edf1ee",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the name and period amount of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5644,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3069
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1976
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 248
                    }
                  ],
                  "startTime": "2026-08-17T02:36:09.369Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-cb983295d6fd49c6be0c",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the publish status of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4992,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3012
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1351
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 250
                    }
                  ],
                  "startTime": "2026-08-17T02:36:10.925Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-3296dc9ad0d4ad9516b8",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate period amount and name in weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4941,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3085
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1419
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 71
                    }
                  ],
                  "startTime": "2026-08-17T02:36:13.039Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-bff1754259c214aeb1c7",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate period amount and name in monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4929,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3159
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1371
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 48
                    }
                  ],
                  "startTime": "2026-08-17T02:36:15.018Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-a94d01b7a042700b7b74",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate weekly period amount and name in mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5662,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3859
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1366
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 70
                    }
                  ],
                  "startTime": "2026-08-17T02:36:15.923Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-25331df509b377b17dce",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate monthly period amount and name in mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5087,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3287
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1372
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 46
                    }
                  ],
                  "startTime": "2026-08-17T02:36:17.986Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-43da68e63dc488034940",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a weekly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4677,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3007
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1288
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 22
                    }
                  ],
                  "startTime": "2026-08-17T02:36:19.953Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-a954385fd5bb0a009997",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a weekly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4886,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3185
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1319
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-17T02:36:21.590Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-bda2cc1fbbda47c1c610",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a monthly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5065,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3359
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1326
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-17T02:36:23.078Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-274900eccd091dff9e58",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a monthly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6250,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4542
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1320
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-17T02:36:23.429Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-e6a5a64de8ab36c7b79c",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan to clear a name shared with another plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6515,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4900
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1183
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 62
                    }
                  ],
                  "startTime": "2026-08-17T02:36:24.636Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-31381e32c86e77244796",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6332,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4731
                    },
                    {
                      "title": "submit booking plan edit form with cleared required fields",
                      "duration": 1224
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-17T02:36:26.480Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-0191dd9009363364d03a",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 54,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-prices.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-prices.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "increases the price of some booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 9519,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4544
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 347
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1241
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 3019
                    }
                  ],
                  "startTime": "2026-08-17T02:36:28.149Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "ee2b682cfaf3e9ef1193-e3119e59acce37bfc02d",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-prices.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "decreases the price of all booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 12568,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7592
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 354
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1231
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 3028
                    }
                  ],
                  "startTime": "2026-08-17T02:36:28.239Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "ee2b682cfaf3e9ef1193-af5efe1e07cb6e644965",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-prices.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "rejects a price change without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 8709,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7691
                    },
                    {
                      "title": "submit price change form without required fields",
                      "duration": 635
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-17T02:36:29.688Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "ee2b682cfaf3e9ef1193-dac28b10c93d08d92c25",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-prices.spec.ts",
          "line": 40,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-publish-status.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-publish-status.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "publishes some booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4167,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3020
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 386
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 191
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 194
                    }
                  ],
                  "startTime": "2026-08-17T02:36:31.157Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "deddb2845b3c2459852a-8b1f7753e5e5fcee39ce",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-publish-status.spec.ts",
          "line": 8,
          "column": 7
        },
        {
          "title": "unpublishes all booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7099,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6004
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 345
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 191
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 180
                    }
                  ],
                  "startTime": "2026-08-17T02:36:32.819Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "deddb2845b3c2459852a-c8161a48574ef3b7b482",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-publish-status.spec.ts",
          "line": 8,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the more info url",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 13948,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 12675
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 887
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-17T02:36:35.330Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "59eb5bc2f9a9be7dd230-86fdf3b363978d3cd269",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "removes the more info url",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3885,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2616
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 873
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-17T02:36:37.675Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "59eb5bc2f9a9be7dd230-d90bbf60be9b8dc564d1",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4701,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3379
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 963
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-17T02:36:38.404Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "59eb5bc2f9a9be7dd230-a0f5d9c31d86a125cd08",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "removes the short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4680,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3373
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 933
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-17T02:36:39.924Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "59eb5bc2f9a9be7dd230-33c884a5e972da70c88e",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the category",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7321,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5630
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 1293
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 28
                    }
                  ],
                  "startTime": "2026-08-17T02:36:40.814Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "59eb5bc2f9a9be7dd230-c4a13a9b1257d40bec08",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a category",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5106,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3330
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 1402
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 33
                    }
                  ],
                  "startTime": "2026-08-17T02:36:41.565Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "59eb5bc2f9a9be7dd230-bef3020e478fe99ff2d5",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "removes a category",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 8117,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6410
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 1335
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 23
                    }
                  ],
                  "startTime": "2026-08-17T02:36:43.111Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "59eb5bc2f9a9be7dd230-8cd4cd23e7848424f011",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10609,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 9570
                    },
                    {
                      "title": "submit edit clearing the categories",
                      "duration": 660
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:36:44.609Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "59eb5bc2f9a9be7dd230-204fb3c6910edbebf691",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
          "line": 31,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-edit-general.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-edit-general.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 8027,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5829
                    },
                    {
                      "title": "edit unit type general",
                      "duration": 1346
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 20
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 468
                    }
                  ],
                  "startTime": "2026-08-17T02:36:46.677Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "1acef0ba30eb1e6ab54f-395944942924a328b0be",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-general.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "edits the size",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5056,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2884
                    },
                    {
                      "title": "edit unit type general",
                      "duration": 1323
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 21
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 470
                    }
                  ],
                  "startTime": "2026-08-17T02:36:48.141Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "1acef0ba30eb1e6ab54f-eb3b47083b4a75255fe7",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-general.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "adds a deposit",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 15742,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6416
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 7504
                    },
                    {
                      "title": "add a deposit",
                      "duration": 1465
                    },
                    {
                      "title": "verify deposit on details page",
                      "duration": 8
                    }
                  ],
                  "startTime": "2026-08-17T02:36:49.284Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "1acef0ba30eb1e6ab54f-eea68312d0e503b50a0f",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-general.spec.ts",
          "line": 44,
          "column": 5
        },
        {
          "title": "removes the deposit",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 31302,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 20626
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 8802
                    },
                    {
                      "title": "remove the deposit",
                      "duration": 1508
                    },
                    {
                      "title": "verify deposit cleared on details page",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-17T02:36:51.234Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "1acef0ba30eb1e6ab54f-f14a6fe4dd2401f746e4",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-general.spec.ts",
          "line": 60,
          "column": 5
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4919,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3939
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 606
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:36:53.202Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "1acef0ba30eb1e6ab54f-17b5645fa597cf586911",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-general.spec.ts",
          "line": 76,
          "column": 5
        },
        {
          "title": "rejects an edit with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 10939,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3819
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6124
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 588
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 44
                    }
                  ],
                  "startTime": "2026-08-17T02:36:54.710Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "1acef0ba30eb1e6ab54f-20d23996320ba89884f0",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-general.spec.ts",
          "line": 94,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-edit-tax.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-edit-tax.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the b2c tax",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6210,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4741
                    },
                    {
                      "title": "edit unit type tax",
                      "duration": 1117
                    },
                    {
                      "title": "verify new unit type tax on details page",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-17T02:36:55.224Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "168fe000372bcefa277f-3c92d67df6246eb6e958",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits the b2b tax",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4858,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3445
                    },
                    {
                      "title": "edit unit type tax",
                      "duration": 1035
                    },
                    {
                      "title": "verify new unit type tax on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-17T02:36:58.128Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "168fe000372bcefa277f-dd06a033c3cb10c01286",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits both b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8099,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6125
                    },
                    {
                      "title": "edit unit type tax",
                      "duration": 1612
                    },
                    {
                      "title": "verify new unit type tax on details page",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-17T02:37:01.440Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "168fe000372bcefa277f-e0208d78d258a07411de",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4128,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3110
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 649
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-17T02:37:02.991Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "168fe000372bcefa277f-a40a93764065ebe072b5",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-tax.spec.ts",
          "line": 25,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "filters by id",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 12007,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 11128
                    },
                    {
                      "title": "apply filter",
                      "duration": 461
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 65
                    }
                  ],
                  "startTime": "2026-08-17T02:37:05.034Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10464b1684286e127613-66359a6c2c81f485d8d8",
          "file": "src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts",
          "line": 9,
          "column": 5
        },
        {
          "title": "filters by name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4551,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3398
                    },
                    {
                      "title": "apply filter",
                      "duration": 454
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 77
                    }
                  ],
                  "startTime": "2026-08-17T02:37:05.655Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10464b1684286e127613-caa67e01b07e09e22aa8",
          "file": "src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts",
          "line": 23,
          "column": 5
        },
        {
          "title": "filters by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4189,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3347
                    },
                    {
                      "title": "apply filter",
                      "duration": 403
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 97
                    }
                  ],
                  "startTime": "2026-08-17T02:37:07.126Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10464b1684286e127613-5050117531f0d04c860e",
          "file": "src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts",
          "line": 40,
          "column": 5
        },
        {
          "title": "filters by size",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5938,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5131
                    },
                    {
                      "title": "apply filter",
                      "duration": 368
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 97
                    }
                  ],
                  "startTime": "2026-08-17T02:37:09.545Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10464b1684286e127613-2b97225babcdce31c15f",
          "file": "src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts",
          "line": 57,
          "column": 5
        },
        {
          "title": "filters by name and location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4020,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3018
                    },
                    {
                      "title": "apply filter",
                      "duration": 627
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 21
                    }
                  ],
                  "startTime": "2026-08-17T02:37:10.211Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10464b1684286e127613-ec3f21372863f92badbe",
          "file": "src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts",
          "line": 71,
          "column": 5
        },
        {
          "title": "filters by name, location and size",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 12095,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 10920
                    },
                    {
                      "title": "apply filter",
                      "duration": 803
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-17T02:37:11.322Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10464b1684286e127613-95da1a56a253cb648d02",
          "file": "src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts",
          "line": 86,
          "column": 5
        },
        {
          "title": "excludes unit types not in the filtered location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5947,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4962
                    },
                    {
                      "title": "apply filter",
                      "duration": 648
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-17T02:37:14.237Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10464b1684286e127613-74833dbbabd04c42deb1",
          "file": "src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts",
          "line": 103,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-navigate.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-navigate.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "navigates from the unit type list to the unit type details page",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3222,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2212
                    },
                    {
                      "title": "navigate to unit type details page",
                      "duration": 584
                    },
                    {
                      "title": "verify unit type details page",
                      "duration": 76
                    }
                  ],
                  "startTime": "2026-08-17T02:37:15.489Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e4a8d4cf4651a56f96dd-39a5b0c1175a2fe3dfc3",
          "file": "src/manager/tests/e2e/unit-type/unit-type-navigate.spec.ts",
          "line": 7,
          "column": 5
        },
        {
          "title": "navigates from the unit type list to the unit type create dialog",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 960,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open unit type create dialog from list",
                      "duration": 262
                    },
                    {
                      "title": "verify unit type create dialog is open",
                      "duration": 341
                    }
                  ],
                  "startTime": "2026-08-17T02:37:17.053Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e4a8d4cf4651a56f96dd-ede4154efb03b30e3653",
          "file": "src/manager/tests/e2e/unit-type/unit-type-navigate.spec.ts",
          "line": 25,
          "column": 5
        }
      ]
    },
    {
      "title": "src/portal/tests/e2e/booking/booking-create.spec.ts",
      "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "shows the correct basket for a private customer with a weekly plan, insurance and no discount",
          "ok": true,
          "tags": [
            "mobile"
          ],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3891,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 954
                    },
                    {
                      "title": "select unit type",
                      "duration": 402
                    },
                    {
                      "title": "select booking options",
                      "duration": 903
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 63
                    },
                    {
                      "title": "confirm basket",
                      "duration": 442
                    },
                    {
                      "title": "fill customer data",
                      "duration": 989
                    }
                  ],
                  "startTime": "2026-08-17T02:15:09.202Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            },
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "mobile-portal-e2e",
              "projectName": "mobile-portal-e2e",
              "results": [
                {
                  "workerIndex": 3,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4086,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 965
                    },
                    {
                      "title": "select unit type",
                      "duration": 404
                    },
                    {
                      "title": "select booking options",
                      "duration": 1001
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 68
                    },
                    {
                      "title": "confirm basket",
                      "duration": 440
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1069
                    }
                  ],
                  "startTime": "2026-08-17T02:15:09.207Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-c4f0d5c6a1f627bcb96c",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 123,
          "column": 7
        },
        {
          "title": "shows the correct basket for a business customer with a monthly plan, no insurance and no discount",
          "ok": true,
          "tags": [
            "mobile"
          ],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3037,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 440
                    },
                    {
                      "title": "select unit type",
                      "duration": 323
                    },
                    {
                      "title": "select booking options",
                      "duration": 637
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 61
                    },
                    {
                      "title": "confirm basket",
                      "duration": 426
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1052
                    }
                  ],
                  "startTime": "2026-08-17T02:15:13.149Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            },
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "mobile-portal-e2e",
              "projectName": "mobile-portal-e2e",
              "results": [
                {
                  "workerIndex": 3,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3284,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 446
                    },
                    {
                      "title": "select unit type",
                      "duration": 323
                    },
                    {
                      "title": "select booking options",
                      "duration": 637
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 44
                    },
                    {
                      "title": "confirm basket",
                      "duration": 427
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1304
                    }
                  ],
                  "startTime": "2026-08-17T02:15:13.344Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-28825c078d4ef3f4e1a1",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 123,
          "column": 7
        },
        {
          "title": "shows the correct basket for a private customer with a monthly plan, no insurance and a forever discount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3017,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 448
                    },
                    {
                      "title": "select unit type",
                      "duration": 304
                    },
                    {
                      "title": "select booking options",
                      "duration": 621
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 393
                    },
                    {
                      "title": "confirm basket",
                      "duration": 211
                    },
                    {
                      "title": "fill customer data",
                      "duration": 942
                    }
                  ],
                  "startTime": "2026-08-17T02:15:16.190Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-213f9d1792a3c25ef9d6",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 123,
          "column": 7
        },
        {
          "title": "shows the correct basket for a business customer with a weekly plan, insurance and a forever discount",
          "ok": true,
          "tags": [
            "mobile"
          ],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3625,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 433
                    },
                    {
                      "title": "select unit type",
                      "duration": 370
                    },
                    {
                      "title": "select booking options",
                      "duration": 872
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 401
                    },
                    {
                      "title": "confirm basket",
                      "duration": 220
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1238
                    }
                  ],
                  "startTime": "2026-08-17T02:15:19.210Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            },
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "mobile-portal-e2e",
              "projectName": "mobile-portal-e2e",
              "results": [
                {
                  "workerIndex": 3,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3800,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 431
                    },
                    {
                      "title": "select unit type",
                      "duration": 322
                    },
                    {
                      "title": "select booking options",
                      "duration": 988
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 443
                    },
                    {
                      "title": "confirm basket",
                      "duration": 211
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1307
                    }
                  ],
                  "startTime": "2026-08-17T02:15:16.638Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-ec565fe3bb946e5c4688",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 123,
          "column": 7
        },
        {
          "title": "shows the correct basket for a business customer with a weekly plan, no insurance and a one-time discount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3328,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 448
                    },
                    {
                      "title": "select unit type",
                      "duration": 321
                    },
                    {
                      "title": "select booking options",
                      "duration": 622
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 398
                    },
                    {
                      "title": "confirm basket",
                      "duration": 224
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1218
                    }
                  ],
                  "startTime": "2026-08-17T02:15:22.839Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-65d96fd0bc143d1eddc0",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 123,
          "column": 7
        },
        {
          "title": "shows the correct basket for a private customer with a monthly plan, insurance and a one-time discount",
          "ok": true,
          "tags": [
            "mobile"
          ],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3328,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 433
                    },
                    {
                      "title": "select unit type",
                      "duration": 305
                    },
                    {
                      "title": "select booking options",
                      "duration": 872
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 393
                    },
                    {
                      "title": "confirm basket",
                      "duration": 211
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1018
                    }
                  ],
                  "startTime": "2026-08-17T02:15:26.171Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            },
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "mobile-portal-e2e",
              "projectName": "mobile-portal-e2e",
              "results": [
                {
                  "workerIndex": 3,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3381,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 440
                    },
                    {
                      "title": "select unit type",
                      "duration": 324
                    },
                    {
                      "title": "select booking options",
                      "duration": 886
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 384
                    },
                    {
                      "title": "confirm basket",
                      "duration": 219
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1026
                    }
                  ],
                  "startTime": "2026-08-17T02:15:20.442Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-a28b126686a022e4aa77",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 123,
          "column": 7
        },
        {
          "title": "shows the correct basket for a business customer with a monthly plan, insurance and a multiple-months discount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3447,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 448
                    },
                    {
                      "title": "select unit type",
                      "duration": 306
                    },
                    {
                      "title": "select booking options",
                      "duration": 855
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 399
                    },
                    {
                      "title": "confirm basket",
                      "duration": 222
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1118
                    }
                  ],
                  "startTime": "2026-08-17T02:15:29.503Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-209861b9a0e219f24ae9",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 123,
          "column": 7
        },
        {
          "title": "shows the correct basket for a private customer with a weekly plan, no insurance, a multiple-months discount and a move-in date 5 days in the future",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3131,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 438
                    },
                    {
                      "title": "select unit type",
                      "duration": 321
                    },
                    {
                      "title": "select booking options",
                      "duration": 688
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 386
                    },
                    {
                      "title": "confirm basket",
                      "duration": 219
                    },
                    {
                      "title": "fill customer data",
                      "duration": 986
                    }
                  ],
                  "startTime": "2026-08-17T02:15:32.953Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-f0710e431c87cc91d356",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 123,
          "column": 7
        },
        {
          "title": "creates an active booking for a private customer with no insurance or discount and card payment",
          "ok": true,
          "tags": [
            "mobile"
          ],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 9140,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 433
                    },
                    {
                      "title": "select unit type",
                      "duration": 305
                    },
                    {
                      "title": "select booking options",
                      "duration": 604
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 62
                    },
                    {
                      "title": "confirm basket",
                      "duration": 443
                    },
                    {
                      "title": "fill customer data",
                      "duration": 987
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2555
                    },
                    {
                      "title": "confirm payment",
                      "duration": 3614
                    },
                    {
                      "title": "verify success view",
                      "duration": 35
                    }
                  ],
                  "startTime": "2026-08-17T02:15:36.087Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            },
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "mobile-portal-e2e",
              "projectName": "mobile-portal-e2e",
              "results": [
                {
                  "workerIndex": 3,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9389,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 443
                    },
                    {
                      "title": "select unit type",
                      "duration": 322
                    },
                    {
                      "title": "select booking options",
                      "duration": 621
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 43
                    },
                    {
                      "title": "confirm basket",
                      "duration": 429
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1039
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2547
                    },
                    {
                      "title": "confirm payment",
                      "duration": 3816
                    },
                    {
                      "title": "verify success view",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-17T02:15:23.828Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-59b81b67f82d658217a0",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 131,
          "column": 7
        },
        {
          "title": "creates an active booking for a business customer with a monthly plan and card payment",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 9802,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 441
                    },
                    {
                      "title": "select unit type",
                      "duration": 307
                    },
                    {
                      "title": "select booking options",
                      "duration": 854
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 387
                    },
                    {
                      "title": "confirm basket",
                      "duration": 217
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1040
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2559
                    },
                    {
                      "title": "confirm payment",
                      "duration": 3864
                    },
                    {
                      "title": "verify success view",
                      "duration": 35
                    }
                  ],
                  "startTime": "2026-08-17T02:15:45.231Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-970a42e9b4e4cf93149e",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 131,
          "column": 7
        },
        {
          "title": "creates a scheduled booking for a private customer with a move-in date in the future and card payment",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 10186,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 433
                    },
                    {
                      "title": "select unit type",
                      "duration": 306
                    },
                    {
                      "title": "select booking options",
                      "duration": 921
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 388
                    },
                    {
                      "title": "confirm basket",
                      "duration": 217
                    },
                    {
                      "title": "fill customer data",
                      "duration": 937
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2709
                    },
                    {
                      "title": "confirm payment",
                      "duration": 4140
                    },
                    {
                      "title": "verify success view",
                      "duration": 35
                    }
                  ],
                  "startTime": "2026-08-17T02:15:55.038Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-d44d2ec1ab2ec4fc2a99",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 131,
          "column": 7
        },
        {
          "title": "creates an active booking for a private customer with sepa payment",
          "ok": true,
          "tags": [
            "mobile"
          ],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6529,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 425
                    },
                    {
                      "title": "select unit type",
                      "duration": 306
                    },
                    {
                      "title": "select booking options",
                      "duration": 872
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 385
                    },
                    {
                      "title": "confirm basket",
                      "duration": 220
                    },
                    {
                      "title": "fill customer data",
                      "duration": 949
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 3274
                    }
                  ],
                  "startTime": "2026-08-17T02:16:05.228Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            },
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "mobile-portal-e2e",
              "projectName": "mobile-portal-e2e",
              "results": [
                {
                  "workerIndex": 3,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10326,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 429
                    },
                    {
                      "title": "select unit type",
                      "duration": 324
                    },
                    {
                      "title": "select booking options",
                      "duration": 904
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 382
                    },
                    {
                      "title": "confirm basket",
                      "duration": 223
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1037
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 3313
                    },
                    {
                      "title": "confirm payment",
                      "duration": 3577
                    },
                    {
                      "title": "verify success view",
                      "duration": 35
                    }
                  ],
                  "startTime": "2026-08-17T02:15:33.221Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-851c78b32a6c976dbc01",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 131,
          "column": 7
        },
        {
          "title": "does not create a booking with a card that has been declined for an unknown reason",
          "ok": true,
          "tags": [
            "mobile"
          ],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 7436,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 441
                    },
                    {
                      "title": "select unit type",
                      "duration": 319
                    },
                    {
                      "title": "select booking options",
                      "duration": 860
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 386
                    },
                    {
                      "title": "confirm basket",
                      "duration": 218
                    },
                    {
                      "title": "fill customer data",
                      "duration": 953
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2440
                    },
                    {
                      "title": "attempt to confirm and verify payment error",
                      "duration": 1720
                    }
                  ],
                  "startTime": "2026-08-17T02:16:11.761Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            },
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "mobile-portal-e2e",
              "projectName": "mobile-portal-e2e",
              "results": [
                {
                  "workerIndex": 3,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7669,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 449
                    },
                    {
                      "title": "select unit type",
                      "duration": 306
                    },
                    {
                      "title": "select booking options",
                      "duration": 854
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 381
                    },
                    {
                      "title": "confirm basket",
                      "duration": 224
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1015
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2587
                    },
                    {
                      "title": "attempt to confirm and verify payment error",
                      "duration": 1751
                    }
                  ],
                  "startTime": "2026-08-17T02:15:43.552Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-6fda70ba9500e6244355",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 156,
          "column": 7
        },
        {
          "title": "does not create a booking with an incorrect card security code",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 7352,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 433
                    },
                    {
                      "title": "select unit type",
                      "duration": 306
                    },
                    {
                      "title": "select booking options",
                      "duration": 855
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 386
                    },
                    {
                      "title": "confirm basket",
                      "duration": 218
                    },
                    {
                      "title": "fill customer data",
                      "duration": 954
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2336
                    },
                    {
                      "title": "attempt to confirm and verify payment error",
                      "duration": 1761
                    }
                  ],
                  "startTime": "2026-08-17T02:16:19.201Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-3e6e85093af99eaf9384",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 156,
          "column": 7
        },
        {
          "title": "creates a booking with the smaller neighboring unit out of the two available bigger ones",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 12025,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 446
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 322
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 90
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3063
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 387
                    },
                    {
                      "title": "confirm basket",
                      "duration": 217
                    },
                    {
                      "title": "fill customer data",
                      "duration": 919
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2721
                    },
                    {
                      "title": "confirm payment",
                      "duration": 3733
                    },
                    {
                      "title": "verify success view",
                      "duration": 27
                    }
                  ],
                  "startTime": "2026-08-17T02:16:26.557Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-cadf30c26da44ea702c3",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 170,
          "column": 7
        },
        {
          "title": "suggests the bigger neighboring unit out of the two available bigger ones",
          "ok": true,
          "tags": [
            "mobile"
          ],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5542,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 437
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 323
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 105
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3066
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 385
                    },
                    {
                      "title": "confirm basket",
                      "duration": 220
                    },
                    {
                      "title": "fill customer data",
                      "duration": 917
                    }
                  ],
                  "startTime": "2026-08-17T02:16:38.587Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            },
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "mobile-portal-e2e",
              "projectName": "mobile-portal-e2e",
              "results": [
                {
                  "workerIndex": 3,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5912,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 440
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 306
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 87
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3368
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 387
                    },
                    {
                      "title": "confirm basket",
                      "duration": 217
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1008
                    }
                  ],
                  "startTime": "2026-08-17T02:15:51.225Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-3ddadfb3173bae7f113e",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 170,
          "column": 7
        },
        {
          "title": "suggests the smaller neighboring unit out of the available smaller and bigger one",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5497,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 436
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 303
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 94
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3046
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 391
                    },
                    {
                      "title": "confirm basket",
                      "duration": 213
                    },
                    {
                      "title": "fill customer data",
                      "duration": 918
                    }
                  ],
                  "startTime": "2026-08-17T02:16:44.132Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-10dac3351b0f577ef843",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 170,
          "column": 7
        },
        {
          "title": "suggests the bigger neighboring unit out of the available smaller and bigger one",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5529,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 437
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 324
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 104
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3050
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 386
                    },
                    {
                      "title": "confirm basket",
                      "duration": 218
                    },
                    {
                      "title": "fill customer data",
                      "duration": 918
                    }
                  ],
                  "startTime": "2026-08-17T02:16:49.633Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-4c96ce3c373b54aa0518",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 170,
          "column": 7
        },
        {
          "title": "suggests the bigger neighboring unit out of the two available smaller ones",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5942,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 425
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 320
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 90
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3415
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 390
                    },
                    {
                      "title": "confirm basket",
                      "duration": 215
                    },
                    {
                      "title": "fill customer data",
                      "duration": 992
                    }
                  ],
                  "startTime": "2026-08-17T02:16:55.165Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-33f31a60cde0403a9ccc",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 170,
          "column": 7
        },
        {
          "title": "suggests the smaller neighboring unit out of the two available smaller ones",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5566,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 424
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 372
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 73
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3065
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 386
                    },
                    {
                      "title": "confirm basket",
                      "duration": 219
                    },
                    {
                      "title": "fill customer data",
                      "duration": 935
                    }
                  ],
                  "startTime": "2026-08-17T02:17:01.112Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-fa83f616a256cfafd075",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 170,
          "column": 7
        },
        {
          "title": "suggests the one bigger neighboring unit",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3197,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 437
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 322
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 88
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 749
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 384
                    },
                    {
                      "title": "confirm basket",
                      "duration": 220
                    },
                    {
                      "title": "fill customer data",
                      "duration": 903
                    }
                  ],
                  "startTime": "2026-08-17T02:17:06.682Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-012f4f2b582792303db8",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 170,
          "column": 7
        },
        {
          "title": "suggests the one smaller neighboring unit",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3197,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 437
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 322
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 90
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 732
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 388
                    },
                    {
                      "title": "confirm basket",
                      "duration": 216
                    },
                    {
                      "title": "fill customer data",
                      "duration": 920
                    }
                  ],
                  "startTime": "2026-08-17T02:17:09.883Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-95a8c2f0c6d80dd8bf7c",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 170,
          "column": 7
        },
        {
          "title": "suggests a neighboring unit from a different category",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3208,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 436
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 323
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 99
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 722
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 385
                    },
                    {
                      "title": "confirm basket",
                      "duration": 220
                    },
                    {
                      "title": "fill customer data",
                      "duration": 931
                    }
                  ],
                  "startTime": "2026-08-17T02:17:13.084Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-cd23452184ba263470c7",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 170,
          "column": 7
        },
        {
          "title": "does not create a booking with no available neighboring units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 1,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 913,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 443
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 254
                    },
                    {
                      "title": "attempt to select move-in date",
                      "duration": 79
                    },
                    {
                      "title": "verify back-to-size-selection button is visible",
                      "duration": 44
                    }
                  ],
                  "startTime": "2026-08-17T02:17:16.295Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-04549e64cdaff69ec611",
          "file": "src/portal/tests/e2e/booking/booking-create.spec.ts",
          "line": 213,
          "column": 7
        }
      ]
    },
    {
      "title": "src/portal/tests/e2e/customer/customer-login.spec.ts",
      "file": "src/portal/tests/e2e/customer/customer-login.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "logs in to customer portal",
          "ok": true,
          "tags": [
            "mobile"
          ],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "desktop-portal-e2e",
              "projectName": "desktop-portal-e2e",
              "results": [
                {
                  "workerIndex": 2,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1735,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "log in as customer",
                      "duration": 1536
                    },
                    {
                      "title": "verify account view is ready",
                      "duration": 68
                    }
                  ],
                  "startTime": "2026-08-17T02:15:09.116Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            },
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "mobile-portal-e2e",
              "projectName": "mobile-portal-e2e",
              "results": [
                {
                  "workerIndex": 4,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 1758,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "log in as customer",
                      "duration": 1575
                    },
                    {
                      "title": "verify account view is ready",
                      "duration": 45
                    }
                  ],
                  "startTime": "2026-08-17T02:15:09.108Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "caf4fbf1958341bb92bb-a2dabd16e28208c784ff",
          "file": "src/portal/tests/e2e/customer/customer-login.spec.ts",
          "line": 7,
          "column": 7
        }
      ]
    }
  ],
  "errors": [],
  "stats": {
    "startTime": "2026-08-17T02:15:03.024Z",
    "duration": 1340527.719,
    "expected": 574,
    "skipped": 20,
    "unexpected": 46,
    "flaky": 0
  }
}