{
  "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/15919047647",
        "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/15919047647",
            "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/15919047647",
            "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/15919047647",
            "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/15919047647",
            "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": 2357,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:16:40.413Z",
                  "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": 37986,
                  "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  6 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 \"6 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  6 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 \"6 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  6 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 \"6 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": 571
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3152
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 37
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 289
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 3105
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 32
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30039,
                      "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  6 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 \"6 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  6 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 \"6 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-16T02:19:04.048Z",
                  "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": 38334,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 508
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4133
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 45
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 83
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 2788
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 27
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30030,
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:19:42.772Z",
                  "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": 36647,
                  "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  6 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 \"6 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  6 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 \"6 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  6 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 \"6 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": 510
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3032
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 47
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 104
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 2182
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 24
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30042,
                      "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  6 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 \"6 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  6 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 \"6 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-16T02:20:21.821Z",
                  "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": 38473,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 499
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2691
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 81
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 4173
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 25
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30050,
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:20:59.066Z",
                  "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": 39466,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 496
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3018
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 45
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 87
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 4791
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 34
                    },
                    {
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:21:38.285Z",
                  "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": 48500,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 396
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2671
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 48
                    },
                    {
                      "title": "create booking",
                      "duration": 10276
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 3964
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 23
                    },
                    {
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:22:18.646Z",
                  "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": 4214,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 422
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2733
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 122
                    },
                    {
                      "title": "open the booking action menu",
                      "duration": 417
                    },
                    {
                      "title": "verify the adjust move-in date action is not offered",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-16T02:23:08.158Z",
                  "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": 7978,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 557
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1989
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 64
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 252
                    },
                    {
                      "title": "cancel booking with initial option",
                      "duration": 2059
                    },
                    {
                      "title": "reschedule booking cancellation",
                      "duration": 1691
                    },
                    {
                      "title": "verify booking after reschedule on details page",
                      "duration": 50
                    },
                    {
                      "title": "verify booking after reschedule on list page",
                      "duration": 826
                    }
                  ],
                  "startTime": "2026-08-16T02:19:04.051Z",
                  "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": 14219,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 576
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7628
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 40
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 340
                    },
                    {
                      "title": "cancel booking with initial option",
                      "duration": 2084
                    },
                    {
                      "title": "reschedule booking cancellation",
                      "duration": 2143
                    },
                    {
                      "title": "verify booking after reschedule on details page",
                      "duration": 39
                    },
                    {
                      "title": "verify booking after reschedule on list page",
                      "duration": 704
                    }
                  ],
                  "startTime": "2026-08-16T02:19:04.061Z",
                  "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": 11809,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 585
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4488
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 52
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 343
                    },
                    {
                      "title": "cancel booking with initial option",
                      "duration": 3374
                    },
                    {
                      "title": "reschedule booking cancellation",
                      "duration": 1576
                    },
                    {
                      "title": "verify booking after reschedule on details page",
                      "duration": 29
                    },
                    {
                      "title": "verify booking after reschedule on list page",
                      "duration": 749
                    }
                  ],
                  "startTime": "2026-08-16T02:19:04.051Z",
                  "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": 12438,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 854
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5677
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 65
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 376
                    },
                    {
                      "title": "cancel booking",
                      "duration": 2690
                    },
                    {
                      "title": "revoke booking cancellation",
                      "duration": 1262
                    },
                    {
                      "title": "verify booking after revoke on details page",
                      "duration": 40
                    },
                    {
                      "title": "verify booking after revoke on list page",
                      "duration": 811
                    }
                  ],
                  "startTime": "2026-08-16T02:19:04.061Z",
                  "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": 6,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6525,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 540
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2539
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 65
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 221
                    },
                    {
                      "title": "cancel booking",
                      "duration": 1758
                    },
                    {
                      "title": "verify booking after cancel on details page",
                      "duration": 44
                    },
                    {
                      "title": "verify booking after cancel on list page",
                      "duration": 706
                    }
                  ],
                  "startTime": "2026-08-16T02:19:12.113Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5897,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 398
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2151
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 42
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 141
                    },
                    {
                      "title": "cancel booking",
                      "duration": 1908
                    },
                    {
                      "title": "verify booking after cancel on details page",
                      "duration": 41
                    },
                    {
                      "title": "verify booking after cancel on list page",
                      "duration": 698
                    }
                  ],
                  "startTime": "2026-08-16T02:19:15.931Z",
                  "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": 9,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6723,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 409
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2656
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 36
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 136
                    },
                    {
                      "title": "cancel booking",
                      "duration": 2237
                    },
                    {
                      "title": "verify booking after cancel on details page",
                      "duration": 51
                    },
                    {
                      "title": "verify booking after cancel on list page",
                      "duration": 655
                    }
                  ],
                  "startTime": "2026-08-16T02:19:16.575Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "failed",
                  "duration": 35418,
                  "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": 478
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2355
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 181
                    },
                    {
                      "title": "cancel booking",
                      "duration": 1554
                    },
                    {
                      "title": "verify booking after cancel on details page",
                      "duration": 30023,
                      "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-16T02:19:18.354Z",
                  "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": 6,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 43560,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 405
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3529
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 49
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3585
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3711
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 351
                    },
                    {
                      "title": "create booking",
                      "duration": 880
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30171,
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:19:18.662Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 40449,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 479
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4299
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 55
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3333
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 107
                    },
                    {
                      "title": "create booking",
                      "duration": 806
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30150,
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:20:02.967Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 38647,
                  "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  16 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 \"16 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  16 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 \"16 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  16 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 \"16 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": 413
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2957
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 43
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3381
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 67
                    },
                    {
                      "title": "create booking",
                      "duration": 809
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30179,
                      "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  16 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 \"16 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  16 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 \"16 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-16T02:20:44.134Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 39100,
                  "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  14 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    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 \"14 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  14 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    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 \"14 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  14 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    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 \"14 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": 411
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3240
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 60
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3429
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 107
                    },
                    {
                      "title": "create booking",
                      "duration": 822
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30155,
                      "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  14 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    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 \"14 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  14 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    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 \"14 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-16T02:21:23.603Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 39222,
                  "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  16 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    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 \"16 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  16 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    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 \"16 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  16 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    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 \"16 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": 513
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3195
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 65
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3395
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 66
                    },
                    {
                      "title": "create booking",
                      "duration": 814
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30217,
                      "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  16 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    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 \"16 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  16 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    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 \"16 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-16T02:22:03.435Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 39645,
                  "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  26 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    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 \"26 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  26 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    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 \"26 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  26 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    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 \"26 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": 461
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3001
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 47
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3851
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 96
                    },
                    {
                      "title": "create booking",
                      "duration": 856
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30184,
                      "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  26 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    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 \"26 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  26 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    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 \"26 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-16T02:22:43.419Z",
                  "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": 27,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 45816,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 422
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 9941
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 58
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3542
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 64
                    },
                    {
                      "title": "create booking",
                      "duration": 529
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30307,
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:23:23.776Z",
                  "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": 31,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 40663,
                  "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\"Generic Sale AdOvsz\"\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    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 \"Generic Sale AdOvsz\"\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\"Generic Sale AdOvsz\"\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    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 \"Generic Sale AdOvsz\"\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\"Generic Sale AdOvsz\"\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    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 \"Generic Sale AdOvsz\"\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": 505
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3107
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 49
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1405
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3357
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 376
                    },
                    {
                      "title": "create booking",
                      "duration": 847
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30116,
                      "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\"Generic Sale AdOvsz\"\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    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 \"Generic Sale AdOvsz\"\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\"Generic Sale AdOvsz\"\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    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 \"Generic Sale AdOvsz\"\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-16T02:24:10.348Z",
                  "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": 33,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 44559,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 488
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3655
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 33
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 4329
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3569
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 348
                    },
                    {
                      "title": "create booking",
                      "duration": 520
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30346,
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:24:51.844Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 50994,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 422
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7898
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 45
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 7064
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3630
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 351
                    },
                    {
                      "title": "create booking",
                      "duration": 531
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30289,
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:25:37.192Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 56363,
                  "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": 530
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 9718
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 38
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 9821
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3429
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3891
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 353
                    },
                    {
                      "title": "create booking",
                      "duration": 803
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30299,
                      "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-16T02:26:28.925Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 42722,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 467
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3647
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 47
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2607
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3628
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 344
                    },
                    {
                      "title": "create booking",
                      "duration": 804
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30138,
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:27:26.157Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 46120,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 555
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4363
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 39
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3445
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 5052
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3767
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 350
                    },
                    {
                      "title": "create booking",
                      "duration": 818
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30138,
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:28:09.624Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 54913,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 454
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 13364
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 9213
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 49
                    },
                    {
                      "title": "create booking",
                      "duration": 518
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30340,
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:28:56.503Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 43789,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 462
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3322
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 34
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 8218
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 58
                    },
                    {
                      "title": "create booking",
                      "duration": 498
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30310,
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:29:52.257Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 39943,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 435
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3752
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 46
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3879
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 74
                    },
                    {
                      "title": "create booking",
                      "duration": 809
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30166,
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:30:36.912Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 50133,
                  "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\"Soft Sale TSrRH3\"\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    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 \"Soft Sale TSrRH3\"\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\"Soft Sale TSrRH3\"\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    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 \"Soft Sale TSrRH3\"\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\"Soft Sale TSrRH3\"\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    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 \"Soft Sale TSrRH3\"\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": 397
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7453
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 41
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3902
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1869
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 4339
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 407
                    },
                    {
                      "title": "create booking",
                      "duration": 846
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30129,
                      "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\"Soft Sale TSrRH3\"\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    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 \"Soft Sale TSrRH3\"\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\"Soft Sale TSrRH3\"\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    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 \"Soft Sale TSrRH3\"\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-16T02:31:17.611Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 45545,
                  "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  23 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    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 \"23 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  23 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    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 \"23 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  23 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    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 \"23 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": 536
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3626
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 38
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5595
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3487
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 364
                    },
                    {
                      "title": "create booking",
                      "duration": 823
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30172,
                      "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  23 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    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 \"23 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  23 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    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 \"23 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-16T02:32:08.458Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 56219,
                  "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    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 \"€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    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 \"€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    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 \"€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": 537
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4704
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 37
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 10441
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4432
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3893
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 345
                    },
                    {
                      "title": "create booking",
                      "duration": 818
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30137,
                      "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    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 \"€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    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 \"€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-16T02:32:54.732Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 58357,
                  "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\"Unbranded Sale QuQKmn\"\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    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 \"Unbranded Sale QuQKmn\"\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\"Unbranded Sale QuQKmn\"\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    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 \"Unbranded Sale QuQKmn\"\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\"Unbranded Sale QuQKmn\"\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    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 \"Unbranded Sale QuQKmn\"\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": 450
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 11240
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 34
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3642
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 7032
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3895
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 365
                    },
                    {
                      "title": "create booking",
                      "duration": 811
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30098,
                      "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\"Unbranded Sale QuQKmn\"\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    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 \"Unbranded Sale QuQKmn\"\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\"Unbranded Sale QuQKmn\"\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    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 \"Unbranded Sale QuQKmn\"\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-16T02:33:51.702Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 54235,
                  "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    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 \"€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    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 \"€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    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 \"€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": 402
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6088
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 47
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5250
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 5154
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 4731
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 373
                    },
                    {
                      "title": "create booking",
                      "duration": 844
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30429,
                      "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    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 \"€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    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 \"€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-16T02:34:50.813Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 58076,
                  "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\"Intelligent Sale OG6TlX\"\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    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 \"Intelligent Sale OG6TlX\"\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\"Intelligent Sale OG6TlX\"\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    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 \"Intelligent Sale OG6TlX\"\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\"Intelligent Sale OG6TlX\"\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    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 \"Intelligent Sale OG6TlX\"\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": 497
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3812
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 47
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4801
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 7665
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3832
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2516
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1752
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 4791
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 357
                    },
                    {
                      "title": "create booking",
                      "duration": 843
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30089,
                      "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\"Intelligent Sale OG6TlX\"\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    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 \"Intelligent Sale OG6TlX\"\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\"Intelligent Sale OG6TlX\"\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    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 \"Intelligent Sale OG6TlX\"\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-16T02:35:45.774Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:36:44.535Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:36:44.536Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:36:44.536Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:36:44.536Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:36:44.536Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:36:44.536Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:36:44.536Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:36:44.536Z",
                  "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": 1,
                  "status": "passed",
                  "duration": 26260,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 397
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 10205
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 34
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3949
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 4303
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1767
                    },
                    {
                      "title": "create booking",
                      "duration": 5001
                    },
                    {
                      "title": "verify the discount is not shown on the details page",
                      "duration": 135
                    }
                  ],
                  "startTime": "2026-08-16T02:36:44.536Z",
                  "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": 1,
                  "status": "passed",
                  "duration": 9366,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 374
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4224
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "create booking",
                      "duration": 4058
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 169
                    }
                  ],
                  "startTime": "2026-08-16T02:37:10.860Z",
                  "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": 1,
                  "status": "passed",
                  "duration": 8201,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 394
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3256
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "create booking",
                      "duration": 3862
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 206
                    }
                  ],
                  "startTime": "2026-08-16T02:37:20.239Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 49639,
                  "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": 457
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3640
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 36
                    },
                    {
                      "title": "add a second payment method after the first",
                      "duration": 13861
                    },
                    {
                      "title": "create booking",
                      "duration": 553
                    },
                    {
                      "title": "verify the booking uses the most recently added method",
                      "duration": 30052,
                      "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-16T02:37:28.450Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:38:19.024Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:38:19.024Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:38:19.025Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:38:19.025Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:38:19.025Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:38:19.025Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:38:19.025Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:38:19.025Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:38:19.025Z",
                  "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": 1,
                  "status": "skipped",
                  "duration": 0,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-16T02:38:19.025Z",
                  "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": 1,
                  "status": "failed",
                  "duration": 46569,
                  "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": 412
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6634
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 37
                    },
                    {
                      "title": "submit booking",
                      "duration": 8423
                    },
                    {
                      "title": "verify the payment limit error",
                      "duration": 30039,
                      "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-16T02:38:19.025Z",
                  "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": 1,
                  "status": "passed",
                  "duration": 1357,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid booking create form",
                      "duration": 713
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 50
                    }
                  ],
                  "startTime": "2026-08-16T02:39:06.676Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4796,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 441
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2640
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 75
                    },
                    {
                      "title": "edit booking note",
                      "duration": 1071
                    },
                    {
                      "title": "verify new note on details page",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-16T02:19:21.841Z",
                  "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": 9,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6181,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 530
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3817
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 128
                    },
                    {
                      "title": "edit booking note",
                      "duration": 1147
                    },
                    {
                      "title": "verify new note on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-16T02:19:23.314Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5006,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 528
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3050
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 39
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 135
                    },
                    {
                      "title": "apply filter",
                      "duration": 604
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 155
                    }
                  ],
                  "startTime": "2026-08-16T02:19:26.650Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5202,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 508
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3157
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 46
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 189
                    },
                    {
                      "title": "apply filter",
                      "duration": 669
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 128
                    }
                  ],
                  "startTime": "2026-08-16T02:19:31.667Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5416,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 510
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3374
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 33
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 101
                    },
                    {
                      "title": "apply filter",
                      "duration": 737
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 165
                    }
                  ],
                  "startTime": "2026-08-16T02:19:36.879Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5166,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 572
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2948
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 36
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 96
                    },
                    {
                      "title": "apply filter",
                      "duration": 745
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 196
                    }
                  ],
                  "startTime": "2026-08-16T02:19:42.307Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4784,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 411
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2953
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 37
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 74
                    },
                    {
                      "title": "apply filter",
                      "duration": 582
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 215
                    }
                  ],
                  "startTime": "2026-08-16T02:19:47.487Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4594,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 399
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2902
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 74
                    },
                    {
                      "title": "apply filter",
                      "duration": 707
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 32
                    }
                  ],
                  "startTime": "2026-08-16T02:19:52.281Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5730,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 503
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2663
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 32
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 154
                    },
                    {
                      "title": "apply filter",
                      "duration": 1631
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 242
                    }
                  ],
                  "startTime": "2026-08-16T02:19:56.886Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6556,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 448
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3309
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 32
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 82
                    },
                    {
                      "title": "apply filters",
                      "duration": 2146
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 117
                    }
                  ],
                  "startTime": "2026-08-16T02:20:02.627Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5037,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 462
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3076
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 44
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 97
                    },
                    {
                      "title": "apply filter",
                      "duration": 872
                    },
                    {
                      "title": "verify booking is excluded",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-16T02:20:09.191Z",
                  "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": 9,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5038,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 426
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2917
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 38
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 141
                    },
                    {
                      "title": "navigate to booking details page",
                      "duration": 852
                    },
                    {
                      "title": "verify booking details page",
                      "duration": 174
                    }
                  ],
                  "startTime": "2026-08-16T02:19:29.509Z",
                  "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": 9,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 1433,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog from list",
                      "duration": 530
                    },
                    {
                      "title": "verify booking create dialog is open",
                      "duration": 430
                    }
                  ],
                  "startTime": "2026-08-16T02:19:34.561Z",
                  "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": 9,
                  "parallelIndex": 4,
                  "status": "timedOut",
                  "duration": 120260,
                  "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": 466
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2811
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 37
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 106
                    },
                    {
                      "title": "setup: create booking price change via API",
                      "duration": 38
                    },
                    {
                      "title": "remove the price adjustment",
                      "duration": 116253,
                      "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-16T02:19:36.004Z",
                  "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": 4,
                  "status": "timedOut",
                  "duration": 120259,
                  "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": 418
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2761
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 47
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 85
                    },
                    {
                      "title": "setup: create booking price change via API",
                      "duration": 51
                    },
                    {
                      "title": "remove the price adjustment",
                      "duration": 116297,
                      "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-16T02:21:37.011Z",
                  "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": 4,
                  "status": "timedOut",
                  "duration": 120170,
                  "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": 524
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5564
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 39
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 98
                    },
                    {
                      "title": "setup: create booking price change via API",
                      "duration": 50
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 751
                    },
                    {
                      "title": "remove the price adjustment",
                      "duration": 112600,
                      "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-16T02:23:37.958Z",
                  "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": 2,
                  "status": "failed",
                  "duration": 45557,
                  "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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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": 2811
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 45
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4147
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2956
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 153
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 922
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2598
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30641,
                      "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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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-16T02:19:54.405Z",
                  "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": 2,
                  "status": "failed",
                  "duration": 38272,
                  "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 30 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 26 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 26 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 26 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 30 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 26 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 26 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 26 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 30 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 26 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 26 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 26 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": 524
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2917
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 55
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 84
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 771
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2435
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30725,
                      "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 30 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 26 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 26 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 26 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 30 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 26 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 26 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 26 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-16T02:20:40.680Z",
                  "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": 2,
                  "status": "failed",
                  "duration": 38620,
                  "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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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": 463
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2899
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 51
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 102
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 850
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2541
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30859,
                      "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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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-16T02:21:19.726Z",
                  "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": 2,
                  "status": "failed",
                  "duration": 41308,
                  "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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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": 455
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2848
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 51
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2932
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 137
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 812
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2521
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30750,
                      "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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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-16T02:21:59.067Z",
                  "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": 2,
                  "status": "failed",
                  "duration": 42600,
                  "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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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": 469
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3053
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 42
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3654
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 138
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 939
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2702
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30767,
                      "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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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-16T02:22:41.141Z",
                  "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": 28,
                  "parallelIndex": 2,
                  "status": "failed",
                  "duration": 41762,
                  "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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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": 419
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2864
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3462
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 142
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 723
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2665
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30699,
                      "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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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    63 × locator resolved to <span class=\"text-dark-grey text-xs uppercase\" data-test-id=\"booking-price-change-applied-from\">applied from 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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-16T02:23:24.466Z",
                  "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": 30,
                  "parallelIndex": 2,
                  "status": "failed",
                  "duration": 38340,
                  "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 16 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 16 \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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 16 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 16 \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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 16 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 16 \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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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": 3124
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 42
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 99
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 783
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2466
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30687,
                      "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 16 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 16 \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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 16 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 16 \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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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-16T02:24:06.962Z",
                  "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": 32,
                  "parallelIndex": 2,
                  "status": "failed",
                  "duration": 39987,
                  "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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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": 400
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4711
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 54
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 218
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 786
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2478
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30596,
                      "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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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-16T02:24:46.005Z",
                  "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": 2,
                  "status": "failed",
                  "duration": 41380,
                  "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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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": 493
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6020
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 123
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 658
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2584
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30689,
                      "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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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-16T02:25:26.657Z",
                  "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": 2,
                  "status": "failed",
                  "duration": 45625,
                  "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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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": 496
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5592
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4701
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3134
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 113
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 684
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2563
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30626,
                      "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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 13 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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-16T02:26:08.721Z",
                  "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": 2,
                  "status": "failed",
                  "duration": 46716,
                  "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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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": 413
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6900
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 37
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3719
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 52
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 107
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 96
                    },
                    {
                      "title": "select both bookings in the list",
                      "duration": 986
                    },
                    {
                      "title": "apply one price change to both bookings",
                      "duration": 2698
                    },
                    {
                      "title": "verify the price adjustment on booking 316362162711621",
                      "duration": 30808,
                      "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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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 23 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 16 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 16 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 16 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-16T02:26:55.184Z",
                  "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": 2,
                  "status": "passed",
                  "duration": 5749,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 588
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3449
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 112
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 690
                    },
                    {
                      "title": "submit the price change form",
                      "duration": 394
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 22
                    }
                  ],
                  "startTime": "2026-08-16T02:27:42.703Z",
                  "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": 2,
                  "status": "passed",
                  "duration": 9406,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 418
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3353
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 36
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 149
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 741
                    },
                    {
                      "title": "open the price change dialog",
                      "duration": 72
                    },
                    {
                      "title": "verify increase of 1001 (percentage) is rejected",
                      "duration": 1672
                    },
                    {
                      "title": "verify decrease of 101 (percentage) is rejected",
                      "duration": 1230
                    },
                    {
                      "title": "verify increase of 5001 (amount) is rejected",
                      "duration": 1333
                    }
                  ],
                  "startTime": "2026-08-16T02:27:48.539Z",
                  "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": 2,
                  "status": "failed",
                  "duration": 38986,
                  "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": 489
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4972
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 68
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 727
                    },
                    {
                      "title": "apply the price change",
                      "duration": 1918
                    },
                    {
                      "title": "verify the error snackbar",
                      "duration": 30019,
                      "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-16T02:27:57.956Z",
                  "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": 2,
                  "status": "passed",
                  "duration": 8212,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 495
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6350
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 39
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 87
                    },
                    {
                      "title": "select the scheduled booking in the list",
                      "duration": 638
                    },
                    {
                      "title": "verify the price adjustment action is disabled",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-16T02:28:37.630Z",
                  "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": 2,
                  "status": "passed",
                  "duration": 7333,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 400
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5589
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 32
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 94
                    },
                    {
                      "title": "setup: create booking price change via API",
                      "duration": 19
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 734
                    },
                    {
                      "title": "verify the price adjustment action is disabled",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-16T02:28:45.926Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5909,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 3984
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 318
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 568
                    }
                  ],
                  "startTime": "2026-08-16T02:20:14.244Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4852,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 3628
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 192
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 598
                    }
                  ],
                  "startTime": "2026-08-16T02:20:20.162Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5701,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 4354
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 273
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 540
                    }
                  ],
                  "startTime": "2026-08-16T02:20:25.024Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4631,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 3437
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 244
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 522
                    }
                  ],
                  "startTime": "2026-08-16T02:20:30.734Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5041,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 3871
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 249
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 538
                    }
                  ],
                  "startTime": "2026-08-16T02:20:35.372Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5665,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 4516
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 188
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 567
                    }
                  ],
                  "startTime": "2026-08-16T02:20:40.421Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5575,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 4170
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 321
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 643
                    }
                  ],
                  "startTime": "2026-08-16T02:20:46.093Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3846,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid customer create form",
                      "duration": 3350
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 21
                    }
                  ],
                  "startTime": "2026-08-16T02:20:51.677Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3474,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid customer create form",
                      "duration": 2722
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-16T02:20:55.533Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3792,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 412
                    },
                    {
                      "title": "submit customer create form with duplicate email",
                      "duration": 2888
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 70
                    }
                  ],
                  "startTime": "2026-08-16T02:20:59.016Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3703,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 452
                    },
                    {
                      "title": "submit customer create form with duplicate phone number",
                      "duration": 2721
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 100
                    }
                  ],
                  "startTime": "2026-08-16T02:21:02.819Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4411,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit customer create form with mismatched vat type and number",
                      "duration": 3502
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 415
                    }
                  ],
                  "startTime": "2026-08-16T02:21:06.533Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2679,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 385
                    },
                    {
                      "title": "delete customer",
                      "duration": 1485
                    },
                    {
                      "title": "verify customer is no longer on list page",
                      "duration": 304
                    }
                  ],
                  "startTime": "2026-08-16T02:21:10.955Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3368,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 910
                    },
                    {
                      "title": "edit customer details",
                      "duration": 1977
                    },
                    {
                      "title": "verify accounts receivable number on details page",
                      "duration": 8
                    }
                  ],
                  "startTime": "2026-08-16T02:21:13.651Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2837,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 391
                    },
                    {
                      "title": "edit customer details",
                      "duration": 1816
                    },
                    {
                      "title": "verify accounts receivable number on details page",
                      "duration": 8
                    }
                  ],
                  "startTime": "2026-08-16T02:21:17.030Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4693,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 440
                    },
                    {
                      "title": "edit customer general",
                      "duration": 2922
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 153
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 698
                    }
                  ],
                  "startTime": "2026-08-16T02:21:19.882Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3805,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 395
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1957
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 173
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 734
                    }
                  ],
                  "startTime": "2026-08-16T02:21:24.587Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3604,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 484
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1900
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 118
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 626
                    }
                  ],
                  "startTime": "2026-08-16T02:21:28.400Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3742,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 491
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1972
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 113
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 642
                    }
                  ],
                  "startTime": "2026-08-16T02:21:32.011Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4019,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 551
                    },
                    {
                      "title": "edit customer general",
                      "duration": 2285
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 123
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 556
                    }
                  ],
                  "startTime": "2026-08-16T02:21:35.762Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3802,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 498
                    },
                    {
                      "title": "edit customer general",
                      "duration": 2002
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 150
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 654
                    }
                  ],
                  "startTime": "2026-08-16T02:21:39.792Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3643,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 470
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1987
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 92
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 563
                    }
                  ],
                  "startTime": "2026-08-16T02:21:43.604Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3593,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 463
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1940
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 100
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 603
                    }
                  ],
                  "startTime": "2026-08-16T02:21:47.259Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3316,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 399
                    },
                    {
                      "title": "edit customer email",
                      "duration": 1988
                    },
                    {
                      "title": "verify new email on details page",
                      "duration": 7
                    },
                    {
                      "title": "verify new email on list page",
                      "duration": 463
                    }
                  ],
                  "startTime": "2026-08-16T02:21:50.859Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4386,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 427
                    },
                    {
                      "title": "edit customer phone number",
                      "duration": 2983
                    },
                    {
                      "title": "verify new phone number on details page",
                      "duration": 11
                    },
                    {
                      "title": "verify new phone number on list page",
                      "duration": 525
                    }
                  ],
                  "startTime": "2026-08-16T02:21:54.184Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2149,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 436
                    },
                    {
                      "title": "setup: create customer via API",
                      "duration": 395
                    },
                    {
                      "title": "submit edit with duplicate email",
                      "duration": 796
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 77
                    }
                  ],
                  "startTime": "2026-08-16T02:21:58.581Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3512,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 409
                    },
                    {
                      "title": "setup: create customer via API",
                      "duration": 444
                    },
                    {
                      "title": "submit edit with duplicate phone number",
                      "duration": 2113
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 60
                    }
                  ],
                  "startTime": "2026-08-16T02:22:00.742Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3333,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 388
                    },
                    {
                      "title": "submit edit with mismatched vat type and number",
                      "duration": 1050
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 1426
                    }
                  ],
                  "startTime": "2026-08-16T02:22:04.264Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1941,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 519
                    },
                    {
                      "title": "submit edit clearing required fields",
                      "duration": 827
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-16T02:22:07.608Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1955,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 732
                    },
                    {
                      "title": "apply filter",
                      "duration": 611
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 102
                    }
                  ],
                  "startTime": "2026-08-16T02:22:09.562Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1580,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 413
                    },
                    {
                      "title": "apply filter",
                      "duration": 582
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 109
                    }
                  ],
                  "startTime": "2026-08-16T02:22:11.529Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1529,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 430
                    },
                    {
                      "title": "apply filter",
                      "duration": 529
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 79
                    }
                  ],
                  "startTime": "2026-08-16T02:22:13.118Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1597,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 445
                    },
                    {
                      "title": "apply filter",
                      "duration": 548
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 123
                    }
                  ],
                  "startTime": "2026-08-16T02:22:14.656Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1679,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 576
                    },
                    {
                      "title": "apply filter",
                      "duration": 462
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 145
                    }
                  ],
                  "startTime": "2026-08-16T02:22:16.261Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1378,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 429
                    },
                    {
                      "title": "apply filter",
                      "duration": 408
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 124
                    }
                  ],
                  "startTime": "2026-08-16T02:22:17.947Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1758,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 686
                    },
                    {
                      "title": "apply filter",
                      "duration": 664
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-16T02:22:19.331Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1389,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 428
                    },
                    {
                      "title": "apply filter",
                      "duration": 432
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 139
                    }
                  ],
                  "startTime": "2026-08-16T02:22:21.095Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1718,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 392
                    },
                    {
                      "title": "apply filter",
                      "duration": 897
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-16T02:22:22.493Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1964,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 432
                    },
                    {
                      "title": "apply filter",
                      "duration": 1060
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-16T02:22:24.218Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1608,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 405
                    },
                    {
                      "title": "apply filter",
                      "duration": 767
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 10
                    }
                  ],
                  "startTime": "2026-08-16T02:22:26.191Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1614,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 412
                    },
                    {
                      "title": "apply filter",
                      "duration": 725
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-16T02:22:27.809Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1630,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 409
                    },
                    {
                      "title": "navigate to customer details page",
                      "duration": 703
                    },
                    {
                      "title": "verify customer details page",
                      "duration": 107
                    }
                  ],
                  "startTime": "2026-08-16T02:22:29.433Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1082,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open customer create dialog from list",
                      "duration": 311
                    },
                    {
                      "title": "verify customer create dialog is open",
                      "duration": 357
                    }
                  ],
                  "startTime": "2026-08-16T02:22:31.071Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2090,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 434
                    },
                    {
                      "title": "set password",
                      "duration": 1205
                    }
                  ],
                  "startTime": "2026-08-16T02:22:32.162Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1971,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 442
                    },
                    {
                      "title": "submit set-password form with mismatched confirm",
                      "duration": 1037
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-16T02:22:34.261Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1968,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 438
                    },
                    {
                      "title": "submit set-password form with a weak password",
                      "duration": 1058
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-16T02:22:36.241Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1965,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 470
                    },
                    {
                      "title": "submit set-password form with cleared required fields",
                      "duration": 1023
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-16T02:22:38.217Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2749,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create deposit",
                      "duration": 1715
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 97
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 439
                    }
                  ],
                  "startTime": "2026-08-16T02:22:40.196Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3487,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create deposit",
                      "duration": 2380
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 94
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 502
                    }
                  ],
                  "startTime": "2026-08-16T02:22:42.954Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3630,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create deposit",
                      "duration": 2506
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 114
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 524
                    }
                  ],
                  "startTime": "2026-08-16T02:22:46.451Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1183,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid deposit create form",
                      "duration": 604
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 30
                    }
                  ],
                  "startTime": "2026-08-16T02:22:50.096Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3630,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2289
                    },
                    {
                      "title": "submit deposit create form with duplicate name",
                      "duration": 796
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 66
                    }
                  ],
                  "startTime": "2026-08-16T02:22:51.289Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3907,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1767
                    },
                    {
                      "title": "delete deposit",
                      "duration": 1407
                    },
                    {
                      "title": "verify deposit is no longer on list page",
                      "duration": 284
                    }
                  ],
                  "startTime": "2026-08-16T02:22:54.931Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4419,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2190
                    },
                    {
                      "title": "edit deposit general",
                      "duration": 1345
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 13
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 446
                    }
                  ],
                  "startTime": "2026-08-16T02:22:58.849Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4241,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1740
                    },
                    {
                      "title": "edit deposit general",
                      "duration": 1529
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 24
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 541
                    }
                  ],
                  "startTime": "2026-08-16T02:23:03.275Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5015,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1720
                    },
                    {
                      "title": "edit deposit general",
                      "duration": 1857
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 17
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 479
                    }
                  ],
                  "startTime": "2026-08-16T02:23:07.523Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2747,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1728
                    },
                    {
                      "title": "submit edit clearing the name",
                      "duration": 597
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-16T02:23:12.452Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6620,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2792
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2747
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 607
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 39
                    }
                  ],
                  "startTime": "2026-08-16T02:23:12.547Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3209,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1743
                    },
                    {
                      "title": "edit deposit tax",
                      "duration": 1060
                    },
                    {
                      "title": "verify new deposit tax on details page",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-16T02:23:15.213Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3180,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1716
                    },
                    {
                      "title": "edit deposit tax",
                      "duration": 1062
                    },
                    {
                      "title": "verify new deposit tax on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-16T02:23:18.429Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4242,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2155
                    },
                    {
                      "title": "edit deposit tax",
                      "duration": 1628
                    },
                    {
                      "title": "verify new deposit tax on details page",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-16T02:23:19.174Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2944,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1775
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 690
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-16T02:23:21.617Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2809,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1847
                    },
                    {
                      "title": "apply filter",
                      "duration": 483
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 55
                    }
                  ],
                  "startTime": "2026-08-16T02:23:23.428Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3016,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2008
                    },
                    {
                      "title": "apply filter",
                      "duration": 467
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 73
                    }
                  ],
                  "startTime": "2026-08-16T02:23:24.569Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3651,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2762
                    },
                    {
                      "title": "apply filter",
                      "duration": 387
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 108
                    }
                  ],
                  "startTime": "2026-08-16T02:23:26.245Z",
                  "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": 3717,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2579
                    },
                    {
                      "title": "apply filter",
                      "duration": 694
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-16T02:23:27.594Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4101,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2869
                    },
                    {
                      "title": "apply filter",
                      "duration": 754
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-16T02:23:29.905Z",
                  "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": 5883,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 4672
                    },
                    {
                      "title": "navigate to deposit details page",
                      "duration": 667
                    },
                    {
                      "title": "verify deposit details page",
                      "duration": 68
                    }
                  ],
                  "startTime": "2026-08-16T02:23:31.321Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1242,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open deposit create dialog from list",
                      "duration": 302
                    },
                    {
                      "title": "verify deposit create dialog is open",
                      "duration": 373
                    }
                  ],
                  "startTime": "2026-08-16T02:23:34.017Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 14467,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3170
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7190
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1102
                    },
                    {
                      "title": "attach billing plans from two unit types",
                      "duration": 2527
                    },
                    {
                      "title": "verify attached billing plans in inline list",
                      "duration": 48
                    }
                  ],
                  "startTime": "2026-08-16T02:23:35.284Z",
                  "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": 7517,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3010
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1286
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1155
                    },
                    {
                      "title": "attempt to attach the conflicting billing plan and verify the code-in-use error",
                      "duration": 1589
                    }
                  ],
                  "startTime": "2026-08-16T02:23:37.220Z",
                  "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": 11433,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3452
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1838
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2584
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1118
                    },
                    {
                      "title": "attach a one-time product and a deposit",
                      "duration": 1508
                    },
                    {
                      "title": "verify attached one-time products and deposits in inline list",
                      "duration": 536
                    }
                  ],
                  "startTime": "2026-08-16T02:23:44.748Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 11175,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1691
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3618
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1684
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1041
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1026
                    },
                    {
                      "title": "attach a non-conflicting product",
                      "duration": 1102
                    },
                    {
                      "title": "verify the attached product in the inline list",
                      "duration": 610
                    }
                  ],
                  "startTime": "2026-08-16T02:23:49.762Z",
                  "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": 9871,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3799
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1784
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1226
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1221
                    },
                    {
                      "title": "attempt to attach the conflicting product and verify the code-in-use error",
                      "duration": 1328
                    }
                  ],
                  "startTime": "2026-08-16T02:23:56.194Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9186,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4766
                    },
                    {
                      "title": "create discount",
                      "duration": 2722
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 633
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 634
                    }
                  ],
                  "startTime": "2026-08-16T02:24:00.947Z",
                  "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": 6374,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1922
                    },
                    {
                      "title": "create discount",
                      "duration": 2741
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 605
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 642
                    }
                  ],
                  "startTime": "2026-08-16T02:24:06.076Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6745,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2146
                    },
                    {
                      "title": "create discount",
                      "duration": 2866
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 634
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 632
                    }
                  ],
                  "startTime": "2026-08-16T02:24:10.140Z",
                  "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": 8995,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4606
                    },
                    {
                      "title": "create discount",
                      "duration": 2754
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 587
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 608
                    }
                  ],
                  "startTime": "2026-08-16T02:24:12.458Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7790,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2238
                    },
                    {
                      "title": "create discount",
                      "duration": 3762
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 683
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 631
                    }
                  ],
                  "startTime": "2026-08-16T02:24:16.892Z",
                  "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": 6593,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2142
                    },
                    {
                      "title": "create discount",
                      "duration": 2858
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 534
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 589
                    }
                  ],
                  "startTime": "2026-08-16T02:24:21.460Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7245,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1967
                    },
                    {
                      "title": "create discount",
                      "duration": 3672
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 556
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 614
                    }
                  ],
                  "startTime": "2026-08-16T02:24:24.693Z",
                  "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": 6959,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1932
                    },
                    {
                      "title": "create discount",
                      "duration": 3351
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 615
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 575
                    }
                  ],
                  "startTime": "2026-08-16T02:24:28.063Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7719,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1941
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1803
                    },
                    {
                      "title": "create discount",
                      "duration": 3039
                    },
                    {
                      "title": "verify one-time products and deposits on details page",
                      "duration": 501
                    }
                  ],
                  "startTime": "2026-08-16T02:24:31.948Z",
                  "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": 7941,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3009
                    },
                    {
                      "title": "create discount",
                      "duration": 3914
                    },
                    {
                      "title": "verify billing plans on details page",
                      "duration": 550
                    }
                  ],
                  "startTime": "2026-08-16T02:24:35.030Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 11857,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3053
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2129
                    },
                    {
                      "title": "create discount",
                      "duration": 4973
                    },
                    {
                      "title": "verify one-time products and billing plans on details page",
                      "duration": 1283
                    }
                  ],
                  "startTime": "2026-08-16T02:24:39.678Z",
                  "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": 10858,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3230
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1852
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1443
                    },
                    {
                      "title": "create a second discount reusing the code on a different product",
                      "duration": 3373
                    },
                    {
                      "title": "verify the reused code was accepted",
                      "duration": 505
                    }
                  ],
                  "startTime": "2026-08-16T02:24:42.977Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10820,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3043
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 2947
                    },
                    {
                      "title": "create a second discount reusing the code on a different billing plan",
                      "duration": 3821
                    },
                    {
                      "title": "verify the reused code was accepted",
                      "duration": 561
                    }
                  ],
                  "startTime": "2026-08-16T02:24:51.545Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 14341,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4997
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3699
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1630
                    },
                    {
                      "title": "create a second discount reusing the code in a different location",
                      "duration": 3428
                    },
                    {
                      "title": "verify the reused code was accepted",
                      "duration": 63
                    }
                  ],
                  "startTime": "2026-08-16T02:24:53.844Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1110,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid discount create form",
                      "duration": 603
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 30
                    }
                  ],
                  "startTime": "2026-08-16T02:25:02.377Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6709,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2282
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1561
                    },
                    {
                      "title": "submit discount create form with duplicate name",
                      "duration": 2402
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-16T02:25:03.498Z",
                  "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": 7107,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2324
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1271
                    },
                    {
                      "title": "submit discount create form with duplicate code",
                      "duration": 3006
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 34
                    }
                  ],
                  "startTime": "2026-08-16T02:25:08.193Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6780,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2976
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1425
                    },
                    {
                      "title": "delete discount",
                      "duration": 1478
                    },
                    {
                      "title": "verify discount is no longer on list page",
                      "duration": 450
                    }
                  ],
                  "startTime": "2026-08-16T02:25:10.219Z",
                  "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": 5840,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2987
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1518
                    },
                    {
                      "title": "detach billing plan",
                      "duration": 368
                    },
                    {
                      "title": "verify only the remaining billing plan is attached",
                      "duration": 560
                    }
                  ],
                  "startTime": "2026-08-16T02:25:15.311Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7675,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4279
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1336
                    },
                    {
                      "title": "attempt to detach all billing plans and verify error snackbar",
                      "duration": 1646
                    }
                  ],
                  "startTime": "2026-08-16T02:25:17.010Z",
                  "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": 7906,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3001
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1971
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1414
                    },
                    {
                      "title": "detach deposit",
                      "duration": 327
                    },
                    {
                      "title": "verify only the remaining one-time product is attached",
                      "duration": 593
                    }
                  ],
                  "startTime": "2026-08-16T02:25:21.162Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7483,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4378
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1438
                    },
                    {
                      "title": "attempt to detach all products and verify error snackbar",
                      "duration": 1266
                    }
                  ],
                  "startTime": "2026-08-16T02:25:24.696Z",
                  "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": 8365,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2888
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 2731
                    },
                    {
                      "title": "edit discount general",
                      "duration": 1562
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 46
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 633
                    }
                  ],
                  "startTime": "2026-08-16T02:25:29.077Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8204,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4256
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1874
                    },
                    {
                      "title": "edit discount general",
                      "duration": 956
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 26
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 644
                    }
                  ],
                  "startTime": "2026-08-16T02:25:32.191Z",
                  "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": 5936,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2555
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1373
                    },
                    {
                      "title": "edit discount general",
                      "duration": 935
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 28
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 608
                    }
                  ],
                  "startTime": "2026-08-16T02:25:37.451Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 18177,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 12413
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 2989
                    },
                    {
                      "title": "edit discount general",
                      "duration": 1529
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 41
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 693
                    }
                  ],
                  "startTime": "2026-08-16T02:25:38.730Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6260,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2445
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1304
                    },
                    {
                      "title": "edit discount general",
                      "duration": 1464
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 27
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 595
                    }
                  ],
                  "startTime": "2026-08-16T02:25:40.404Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8017,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3634
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1380
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1428
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 1164
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-16T02:25:43.397Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 18851,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 11072
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1426
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 4756
                    },
                    {
                      "title": "submit edit with duplicate code",
                      "duration": 1162
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-16T02:25:46.673Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 12068,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4641
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 6387
                    },
                    {
                      "title": "apply filter",
                      "duration": 461
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 85
                    }
                  ],
                  "startTime": "2026-08-16T02:25:51.426Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 9479,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3876
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 4712
                    },
                    {
                      "title": "apply filter",
                      "duration": 373
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 102
                    }
                  ],
                  "startTime": "2026-08-16T02:25:56.987Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6447,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3558
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1652
                    },
                    {
                      "title": "apply filter",
                      "duration": 710
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-16T02:26:03.503Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 16795,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 7841
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 7793
                    },
                    {
                      "title": "apply filter",
                      "duration": 713
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 8
                    }
                  ],
                  "startTime": "2026-08-16T02:26:05.534Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6510,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4022
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1442
                    },
                    {
                      "title": "navigate to discount details page",
                      "duration": 567
                    },
                    {
                      "title": "verify discount details page",
                      "duration": 84
                    }
                  ],
                  "startTime": "2026-08-16T02:26:06.476Z",
                  "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": 1070,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open discount create dialog from list",
                      "duration": 229
                    },
                    {
                      "title": "verify discount create dialog is open",
                      "duration": 338
                    }
                  ],
                  "startTime": "2026-08-16T02:26:09.961Z",
                  "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": 24494,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5466
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 14526
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1362
                    },
                    {
                      "title": "update attached billing plans across unit types",
                      "duration": 2637
                    },
                    {
                      "title": "verify updated billing plans in inline list",
                      "duration": 41
                    }
                  ],
                  "startTime": "2026-08-16T02:26:11.042Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 27360,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 9993
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3345
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 9729
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1410
                    },
                    {
                      "title": "update attached one-time products and deposits",
                      "duration": 1876
                    },
                    {
                      "title": "verify updated one-time products and deposits in inline list",
                      "duration": 632
                    }
                  ],
                  "startTime": "2026-08-16T02:26:12.997Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 13976,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2253
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3300
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1497
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 4786
                    },
                    {
                      "title": "attempt to swap in the conflicting product and verify the code-in-use error",
                      "duration": 1683
                    }
                  ],
                  "startTime": "2026-08-16T02:26:22.339Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 10792,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 8592
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1483
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 319
                    }
                  ],
                  "startTime": "2026-08-16T02:26:35.558Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6849,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4632
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1508
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 263
                    }
                  ],
                  "startTime": "2026-08-16T02:26:36.332Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 7629,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5402
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1498
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 333
                    }
                  ],
                  "startTime": "2026-08-16T02:26:40.371Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5958,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4165
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1376
                    }
                  ],
                  "startTime": "2026-08-16T02:26:43.189Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6358,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4448
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1494
                    }
                  ],
                  "startTime": "2026-08-16T02:26:46.357Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 8758,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 6771
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1442
                    }
                  ],
                  "startTime": "2026-08-16T02:26:48.007Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5704,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3653
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1598
                    }
                  ],
                  "startTime": "2026-08-16T02:26:49.154Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5870,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4048
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1376
                    }
                  ],
                  "startTime": "2026-08-16T02:26:52.724Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5658,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3821
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1369
                    }
                  ],
                  "startTime": "2026-08-16T02:26:54.868Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 5935,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4123
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1296
                    }
                  ],
                  "startTime": "2026-08-16T02:26:56.772Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7570,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5706
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1404
                    }
                  ],
                  "startTime": "2026-08-16T02:26:58.602Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9620,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 8277
                    },
                    {
                      "title": "submit booking plan add form without required fields",
                      "duration": 767
                    }
                  ],
                  "startTime": "2026-08-16T02:27:00.536Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 4402,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3281
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 212
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 486
                    }
                  ],
                  "startTime": "2026-08-16T02:27:02.714Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8209,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 6840
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 410
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 427
                    }
                  ],
                  "startTime": "2026-08-16T02:27:06.184Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 8759,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 7402
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 429
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 409
                    }
                  ],
                  "startTime": "2026-08-16T02:27:07.125Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7952,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 6481
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 399
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 477
                    }
                  ],
                  "startTime": "2026-08-16T02:27:10.177Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4637,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3373
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 301
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 494
                    }
                  ],
                  "startTime": "2026-08-16T02:27:14.404Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4648,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3463
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 218
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 461
                    }
                  ],
                  "startTime": "2026-08-16T02:27:15.895Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4683,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3485
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 244
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 440
                    }
                  ],
                  "startTime": "2026-08-16T02:27:18.140Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4810,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3600
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 266
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 426
                    }
                  ],
                  "startTime": "2026-08-16T02:27:19.051Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 2335,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid insurance create form",
                      "duration": 1800
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-16T02:27:20.555Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "failed",
                  "duration": 35894,
                  "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": 2698
                    },
                    {
                      "title": "submit insurance create form with duplicate name",
                      "duration": 2574
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 30046,
                      "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-16T02:27:22.832Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3593,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid insurance create form",
                      "duration": 3060
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-16T02:27:22.898Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3958,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid insurance create form",
                      "duration": 3476
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-16T02:27:23.869Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5303,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid insurance create form",
                      "duration": 4700
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 21
                    }
                  ],
                  "startTime": "2026-08-16T02:27:26.501Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3057,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2536
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 8
                    }
                  ],
                  "startTime": "2026-08-16T02:27:27.836Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2550,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2079
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-16T02:27:30.901Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 2626,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2160
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 8
                    }
                  ],
                  "startTime": "2026-08-16T02:27:31.814Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2799,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2262
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-16T02:27:33.460Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 2528,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "add two duplicate booking plans",
                      "duration": 2002
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-16T02:27:34.447Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7228,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4931
                    },
                    {
                      "title": "delete booking plan",
                      "duration": 1626
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 203
                    }
                  ],
                  "startTime": "2026-08-16T02:27:36.269Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 34061,
                  "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": 2383
                    },
                    {
                      "title": "attempt to delete the only booking plan via inline action",
                      "duration": 1159
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30034,
                      "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-16T02:27:36.984Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7333,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4956
                    },
                    {
                      "title": "select booking plans to delete",
                      "duration": 493
                    },
                    {
                      "title": "delete booking plans",
                      "duration": 1335
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 109
                    }
                  ],
                  "startTime": "2026-08-16T02:27:43.507Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 34459,
                  "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": 3197
                    },
                    {
                      "title": "attempt to delete all booking plans via row action",
                      "duration": 780
                    },
                    {
                      "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-16T02:27:50.849Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4953,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2762
                    },
                    {
                      "title": "delete insurance",
                      "duration": 1437
                    },
                    {
                      "title": "verify insurance is no longer on list page",
                      "duration": 308
                    }
                  ],
                  "startTime": "2026-08-16T02:27:58.736Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5898,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3271
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1930
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 269
                    }
                  ],
                  "startTime": "2026-08-16T02:28:03.698Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5773,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3334
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1808
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 231
                    }
                  ],
                  "startTime": "2026-08-16T02:28:09.604Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 7810,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5143
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1942
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 251
                    }
                  ],
                  "startTime": "2026-08-16T02:28:11.054Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8658,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 6040
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1928
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 267
                    }
                  ],
                  "startTime": "2026-08-16T02:28:15.384Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6581,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4400
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1401
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 308
                    }
                  ],
                  "startTime": "2026-08-16T02:28:18.873Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5227,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3287
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1433
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 66
                    }
                  ],
                  "startTime": "2026-08-16T02:28:24.048Z",
                  "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": 5940,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3963
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1402
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 62
                    }
                  ],
                  "startTime": "2026-08-16T02:28:25.322Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 7790,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5813
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1452
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 61
                    }
                  ],
                  "startTime": "2026-08-16T02:28:25.463Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5847,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3979
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1357
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 60
                    }
                  ],
                  "startTime": "2026-08-16T02:28:29.283Z",
                  "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": 5893,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4048
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1377
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-16T02:28:31.275Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5751,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3863
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1414
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-16T02:28:33.264Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5797,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3975
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1369
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-16T02:28:35.137Z",
                  "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": 5801,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3973
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1374
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-16T02:28:37.177Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5674,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3809
                    },
                    {
                      "title": "submit booking plan edit form with cleared required fields",
                      "duration": 1344
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-16T02:28:39.025Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 12260,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 7065
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 461
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1248
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 3061
                    }
                  ],
                  "startTime": "2026-08-16T02:28:40.945Z",
                  "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": 8407,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3259
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 398
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1250
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 3065
                    }
                  ],
                  "startTime": "2026-08-16T02:28:42.990Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6489,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5314
                    },
                    {
                      "title": "submit price change form without required fields",
                      "duration": 716
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 35
                    }
                  ],
                  "startTime": "2026-08-16T02:28:44.709Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4700,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3328
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 436
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 185
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 297
                    }
                  ],
                  "startTime": "2026-08-16T02:28:51.209Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6496,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5196
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 469
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 186
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 198
                    }
                  ],
                  "startTime": "2026-08-16T02:28:51.408Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6492,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5152
                    },
                    {
                      "title": "edit insurance booking portal",
                      "duration": 923
                    },
                    {
                      "title": "verify new insurance booking portal on details page",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-16T02:28:53.215Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 14999,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 13649
                    },
                    {
                      "title": "edit insurance booking portal",
                      "duration": 935
                    },
                    {
                      "title": "verify new insurance booking portal on details page",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-16T02:28:53.277Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 6498,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4118
                    },
                    {
                      "title": "edit insurance general",
                      "duration": 1406
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 20
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 471
                    }
                  ],
                  "startTime": "2026-08-16T02:28:55.919Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5473,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4029
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 608
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-16T02:28:57.914Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9980,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4003
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4921
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 596
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 44
                    }
                  ],
                  "startTime": "2026-08-16T02:28:59.713Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 4234,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2827
                    },
                    {
                      "title": "edit insurance tax",
                      "duration": 1002
                    },
                    {
                      "title": "verify new insurance tax on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-16T02:29:02.427Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 14604,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 12877
                    },
                    {
                      "title": "edit insurance tax",
                      "duration": 1201
                    },
                    {
                      "title": "verify new insurance tax on details page",
                      "duration": 23
                    }
                  ],
                  "startTime": "2026-08-16T02:29:03.394Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 9752,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 7534
                    },
                    {
                      "title": "edit insurance tax",
                      "duration": 1757
                    },
                    {
                      "title": "verify new insurance tax on details page",
                      "duration": 22
                    }
                  ],
                  "startTime": "2026-08-16T02:29:06.669Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5084,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3873
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 784
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 28
                    }
                  ],
                  "startTime": "2026-08-16T02:29:08.284Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 11824,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 10749
                    },
                    {
                      "title": "apply filter",
                      "duration": 522
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 75
                    }
                  ],
                  "startTime": "2026-08-16T02:29:09.700Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6151,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5124
                    },
                    {
                      "title": "apply filter",
                      "duration": 490
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 79
                    }
                  ],
                  "startTime": "2026-08-16T02:29:13.375Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 17766,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 16698
                    },
                    {
                      "title": "apply filter",
                      "duration": 423
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 134
                    }
                  ],
                  "startTime": "2026-08-16T02:29:16.432Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5521,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4283
                    },
                    {
                      "title": "apply filter",
                      "duration": 763
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-16T02:29:18.006Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7970,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 6838
                    },
                    {
                      "title": "apply filter",
                      "duration": 694
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 8
                    }
                  ],
                  "startTime": "2026-08-16T02:29:19.533Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4200,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3004
                    },
                    {
                      "title": "navigate to insurance details page",
                      "duration": 594
                    },
                    {
                      "title": "verify insurance details page",
                      "duration": 99
                    }
                  ],
                  "startTime": "2026-08-16T02:29:21.530Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 1154,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open insurance create dialog from list",
                      "duration": 334
                    },
                    {
                      "title": "verify insurance create dialog is open",
                      "duration": 335
                    }
                  ],
                  "startTime": "2026-08-16T02:29:23.537Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 55443,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 477
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2834
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 8782
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 88
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 59
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 7099
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 2253
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 32531
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 826
                    }
                  ],
                  "startTime": "2026-08-16T02:29:24.728Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 53506,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 397
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3390
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 6572
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 50
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 39
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 7334
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 32788
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 1300
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 840
                    }
                  ],
                  "startTime": "2026-08-16T02:30:20.180Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 56449,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 389
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4114
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 10112
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 70
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 55
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 6452
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 32801
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 1211
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 774
                    }
                  ],
                  "startTime": "2026-08-16T02:31:13.692Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 53946,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 440
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3904
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 7310
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 60
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 70
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 6830
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 32788
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 1244
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 802
                    }
                  ],
                  "startTime": "2026-08-16T02:32:10.149Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 57160,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 393
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3959
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 10733
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 47
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 45
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 6834
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 32548
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 1232
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 898
                    }
                  ],
                  "startTime": "2026-08-16T02:33:04.103Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 33846,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 455
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 9096
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 5159
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 2850
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 66
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 84
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 6858
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 1556
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 6293
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 880
                    }
                  ],
                  "startTime": "2026-08-16T02:34:01.271Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 16014,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 389
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4578
                    },
                    {
                      "title": "create invoice",
                      "duration": 9740
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 853
                    }
                  ],
                  "startTime": "2026-08-16T02:34:35.128Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3123,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 445
                    },
                    {
                      "title": "submit invalid invoice create form",
                      "duration": 2163
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 32
                    }
                  ],
                  "startTime": "2026-08-16T02:34:51.153Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 11293,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 441
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3623
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5924
                    },
                    {
                      "title": "apply filter",
                      "duration": 671
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 112
                    }
                  ],
                  "startTime": "2026-08-16T02:29:25.754Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9955,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 426
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2319
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5898
                    },
                    {
                      "title": "apply filter",
                      "duration": 647
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 158
                    }
                  ],
                  "startTime": "2026-08-16T02:29:37.057Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10251,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 543
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2262
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6164
                    },
                    {
                      "title": "apply filter",
                      "duration": 650
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 202
                    }
                  ],
                  "startTime": "2026-08-16T02:29:47.024Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10545,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 428
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2374
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6377
                    },
                    {
                      "title": "apply filter",
                      "duration": 660
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 209
                    }
                  ],
                  "startTime": "2026-08-16T02:29:57.285Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 11646,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 495
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2632
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6617
                    },
                    {
                      "title": "apply filter",
                      "duration": 1223
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 290
                    }
                  ],
                  "startTime": "2026-08-16T02:30:07.842Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 11297,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 453
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2274
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6017
                    },
                    {
                      "title": "apply filters",
                      "duration": 1965
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 103
                    }
                  ],
                  "startTime": "2026-08-16T02:30:19.496Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9997,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 387
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2496
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5570
                    },
                    {
                      "title": "apply filter",
                      "duration": 1078
                    },
                    {
                      "title": "verify invoice is excluded",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-16T02:30:30.802Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "skipped",
                  "duration": 52961,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 453
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3482
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5376
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6174
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 471
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 361
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 29
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 60
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 55
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 6006
                    },
                    {
                      "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-16T02:29:27.522Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 27317,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 439
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4893
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5852
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6085
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 436
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 460
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 54
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 846
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 55
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5814
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1241
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 715
                    }
                  ],
                  "startTime": "2026-08-16T02:30:20.492Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 24517,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 389
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2434
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5998
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6026
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 435
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 449
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 206
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 216
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 62
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5807
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1314
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 766
                    }
                  ],
                  "startTime": "2026-08-16T02:30:47.818Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "skipped",
                  "duration": 60182,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 455
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3217
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4046
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 7293
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6077
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 507
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 449
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 44
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 89
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 77
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 7459
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 30000,
                      "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-16T02:31:12.342Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 30699,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 405
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3512
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3978
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6504
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6287
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 444
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 454
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 78
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 816
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 40
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5817
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1155
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 667
                    }
                  ],
                  "startTime": "2026-08-16T02:32:12.531Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 30595,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 413
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4036
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4255
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6106
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6140
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 428
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 457
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 48
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 841
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 49
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5343
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1197
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 799
                    }
                  ],
                  "startTime": "2026-08-16T02:32:43.239Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 29145,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 463
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2715
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3969
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6223
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6088
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 440
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 315
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 223
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 843
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 43
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5416
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1174
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 714
                    }
                  ],
                  "startTime": "2026-08-16T02:33:13.846Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 56959,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 444
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 16326
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 18478
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5957
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6139
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 451
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 446
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 98
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 829
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 48
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5314
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1206
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 734
                    }
                  ],
                  "startTime": "2026-08-16T02:33:43.000Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 34977,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 442
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 5970
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 6205
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5769
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6129
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 353
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 521
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 401
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 840
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 45
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5420
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1378
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 1020
                    }
                  ],
                  "startTime": "2026-08-16T02:34:39.966Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 56714,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 446
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3453
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4794
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6219
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 430
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 33043
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 436
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 431
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 69
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 36
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 56
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 4804
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1246
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 718
                    }
                  ],
                  "startTime": "2026-08-16T02:35:14.951Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 25206,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 408
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2619
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4484
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6409
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 394
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 2278
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 488
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 350
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 102
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 322
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 49
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 4806
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1251
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 708
                    }
                  ],
                  "startTime": "2026-08-16T02:36:11.677Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 58703,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 369
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 5606
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4074
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6621
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 407
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 32704
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 474
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 372
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 353
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 354
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 44
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 4814
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1201
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 814
                    }
                  ],
                  "startTime": "2026-08-16T02:36:36.891Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 27288,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 432
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 8234
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5386
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 418
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 2892
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 485
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 368
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 92
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 53
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 73
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 6354
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1280
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 666
                    }
                  ],
                  "startTime": "2026-08-16T02:37:35.608Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 22350,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 378
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2935
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6082
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 470
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 3354
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 467
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 462
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 107
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 331
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 51
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5309
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1266
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 699
                    }
                  ],
                  "startTime": "2026-08-16T02:38:02.905Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 44309,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 442
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 26388
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5861
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 372
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 2377
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 523
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 355
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 334
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 126
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 69
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 4817
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1409
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 717
                    }
                  ],
                  "startTime": "2026-08-16T02:38:25.265Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 13861,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 387
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 5752
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5503
                    },
                    {
                      "title": "submit invalid invoice issue credit note form",
                      "duration": 1756
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-16T02:39:09.581Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 25799,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 423
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2660
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5710
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6268
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3179
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 7114
                    }
                  ],
                  "startTime": "2026-08-16T02:29:34.229Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 26718,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 503
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2682
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6042
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6389
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 2954
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 7688
                    }
                  ],
                  "startTime": "2026-08-16T02:30:00.039Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 25877,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 383
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2682
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5614
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6317
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3180
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 7244
                    }
                  ],
                  "startTime": "2026-08-16T02:30:26.766Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 25510,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 420
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2386
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6158
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6184
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3059
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 6854
                    }
                  ],
                  "startTime": "2026-08-16T02:30:52.653Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 26349,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 480
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3113
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5669
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6279
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3486
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 6849
                    }
                  ],
                  "startTime": "2026-08-16T02:31:18.174Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 52519,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 399
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2307
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5821
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6230
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3136
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 34181
                    }
                  ],
                  "startTime": "2026-08-16T02:31:44.535Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 11134,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 389
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2599
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5948
                    },
                    {
                      "title": "submit invalid invoice mark as paid form",
                      "duration": 1734
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-16T02:32:37.062Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 15000,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 399
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3091
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5630
                    },
                    {
                      "title": "mark invoice as void",
                      "duration": 3587
                    },
                    {
                      "title": "verify voided invoice on details page",
                      "duration": 18
                    },
                    {
                      "title": "verify cancelled payment charge",
                      "duration": 349
                    },
                    {
                      "title": "verify voided invoice on list page",
                      "duration": 1439
                    }
                  ],
                  "startTime": "2026-08-16T02:30:40.812Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10341,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 443
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2400
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5491
                    },
                    {
                      "title": "navigate to invoice details page",
                      "duration": 719
                    },
                    {
                      "title": "verify invoice details page",
                      "duration": 832
                    }
                  ],
                  "startTime": "2026-08-16T02:30:55.822Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1252,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open invoice create dialog from list",
                      "duration": 459
                    },
                    {
                      "title": "verify invoice create dialog is open",
                      "duration": 387
                    }
                  ],
                  "startTime": "2026-08-16T02:31:06.171Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3874,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2485
                    },
                    {
                      "title": "navigate to one-time product details page",
                      "duration": 821
                    },
                    {
                      "title": "verify one-time product details page",
                      "duration": 95
                    }
                  ],
                  "startTime": "2026-08-16T02:31:07.438Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3801,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2680
                    },
                    {
                      "title": "navigate to recurring product details page",
                      "duration": 588
                    },
                    {
                      "title": "verify recurring product details page",
                      "duration": 92
                    }
                  ],
                  "startTime": "2026-08-16T02:31:11.319Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1434,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open one-time product create dialog from list",
                      "duration": 690
                    },
                    {
                      "title": "verify one-time product create dialog is open",
                      "duration": 337
                    }
                  ],
                  "startTime": "2026-08-16T02:31:15.128Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1588,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open recurring product create dialog from list",
                      "duration": 731
                    },
                    {
                      "title": "verify recurring product create dialog is open",
                      "duration": 364
                    }
                  ],
                  "startTime": "2026-08-16T02:31:16.569Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 18110,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5555
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3550
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 6040
                    },
                    {
                      "title": "attach unit types",
                      "duration": 2412
                    },
                    {
                      "title": "verify attached unit types in inline list",
                      "duration": 41
                    }
                  ],
                  "startTime": "2026-08-16T02:31:18.168Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4383,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2956
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 198
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 553
                    }
                  ],
                  "startTime": "2026-08-16T02:31:36.301Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3975,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2807
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 132
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 514
                    }
                  ],
                  "startTime": "2026-08-16T02:31:40.695Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3666,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2610
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 131
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 473
                    }
                  ],
                  "startTime": "2026-08-16T02:31:44.679Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3585,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2551
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 119
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 494
                    }
                  ],
                  "startTime": "2026-08-16T02:31:48.355Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4053,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 3018
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 123
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 507
                    }
                  ],
                  "startTime": "2026-08-16T02:31:51.949Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3782,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2722
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 118
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 509
                    }
                  ],
                  "startTime": "2026-08-16T02:31:56.009Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5927,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2673
                    },
                    {
                      "title": "create one-time product with duplicate name",
                      "duration": 2692
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 93
                    }
                  ],
                  "startTime": "2026-08-16T02:31:59.800Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9697,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2677
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2408
                    },
                    {
                      "title": "create one-time product with attached unit types",
                      "duration": 3939
                    },
                    {
                      "title": "verify attached unit types on details page",
                      "duration": 239
                    }
                  ],
                  "startTime": "2026-08-16T02:32:05.738Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 12087,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7237
                    },
                    {
                      "title": "create published one-time product",
                      "duration": 4259
                    },
                    {
                      "title": "verify published status on details page",
                      "duration": 121
                    }
                  ],
                  "startTime": "2026-08-16T02:32:15.444Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 1220,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid one-time product create form",
                      "duration": 678
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 30
                    }
                  ],
                  "startTime": "2026-08-16T02:32:27.539Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4600,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2435
                    },
                    {
                      "title": "delete one-time product",
                      "duration": 1468
                    },
                    {
                      "title": "verify product is no longer on list page",
                      "duration": 291
                    }
                  ],
                  "startTime": "2026-08-16T02:32:28.766Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9922,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2353
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2470
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3492
                    },
                    {
                      "title": "detach unit type",
                      "duration": 370
                    },
                    {
                      "title": "verify only the remaining unit type is attached",
                      "duration": 805
                    }
                  ],
                  "startTime": "2026-08-16T02:32:33.373Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4241,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2434
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1406
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-16T02:32:43.313Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4552,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2530
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1382
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-16T02:32:47.565Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 7353,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 5475
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1430
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-16T02:32:48.214Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5305,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3433
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1459
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-16T02:32:52.126Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 4348,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2337
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1569
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-16T02:32:55.575Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5982,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4782
                    },
                    {
                      "title": "submit edit clearing the max quantity per booking",
                      "duration": 692
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 30
                    }
                  ],
                  "startTime": "2026-08-16T02:32:57.440Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 6708,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4337
                    },
                    {
                      "title": "edit one-time product general",
                      "duration": 1380
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 21
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 504
                    }
                  ],
                  "startTime": "2026-08-16T02:32:59.936Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5764,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2861
                    },
                    {
                      "title": "edit one-time product general",
                      "duration": 1901
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 23
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 479
                    }
                  ],
                  "startTime": "2026-08-16T02:33:03.432Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 8940,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 5836
                    },
                    {
                      "title": "edit one-time product general",
                      "duration": 2005
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 26
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 517
                    }
                  ],
                  "startTime": "2026-08-16T02:33:06.653Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 17656,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 9836
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 5902
                    },
                    {
                      "title": "edit one-time product to use duplicate name",
                      "duration": 1370
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-16T02:33:09.205Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 8371,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 7196
                    },
                    {
                      "title": "submit edit clearing the name",
                      "duration": 679
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-16T02:33:15.600Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 8740,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3250
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4041
                    },
                    {
                      "title": "verify product is initially unpublished",
                      "duration": 209
                    },
                    {
                      "title": "publish the product",
                      "duration": 835
                    },
                    {
                      "title": "verify product is now published",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-16T02:33:23.982Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7495,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2528
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3500
                    },
                    {
                      "title": "verify product is initially published",
                      "duration": 176
                    },
                    {
                      "title": "unpublish the product",
                      "duration": 837
                    },
                    {
                      "title": "verify product is now unpublished",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-16T02:33:26.874Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 4703,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2454
                    },
                    {
                      "title": "edit one-time product tax",
                      "duration": 1846
                    },
                    {
                      "title": "verify new one-time product tax on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-16T02:33:32.729Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5039,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2754
                    },
                    {
                      "title": "edit one-time product tax",
                      "duration": 1844
                    },
                    {
                      "title": "verify new one-time product tax on details page",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-16T02:33:34.379Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 5170,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2495
                    },
                    {
                      "title": "edit one-time product tax",
                      "duration": 2224
                    },
                    {
                      "title": "verify new one-time product tax on details page",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-16T02:33:37.439Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3866,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2608
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 761
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-16T02:33:39.427Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 3569,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2516
                    },
                    {
                      "title": "apply filter",
                      "duration": 491
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 146
                    }
                  ],
                  "startTime": "2026-08-16T02:33:42.618Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4562,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3620
                    },
                    {
                      "title": "apply filter",
                      "duration": 486
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 69
                    }
                  ],
                  "startTime": "2026-08-16T02:33:43.305Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 3505,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2564
                    },
                    {
                      "title": "apply filter",
                      "duration": 403
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 124
                    }
                  ],
                  "startTime": "2026-08-16T02:33:46.195Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3717,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2538
                    },
                    {
                      "title": "apply filter",
                      "duration": 708
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-16T02:33:47.876Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 3984,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2744
                    },
                    {
                      "title": "apply filter",
                      "duration": 719
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-16T02:33:49.708Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3810,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2658
                    },
                    {
                      "title": "apply filter",
                      "duration": 680
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-16T02:33:51.603Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 3559,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2399
                    },
                    {
                      "title": "apply filter",
                      "duration": 690
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 8
                    }
                  ],
                  "startTime": "2026-08-16T02:33:53.702Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 27848,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2464
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7409
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7177
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 8019
                    },
                    {
                      "title": "update attached unit types",
                      "duration": 2269
                    },
                    {
                      "title": "verify updated unit types in inline list",
                      "duration": 31
                    }
                  ],
                  "startTime": "2026-08-16T02:33:55.424Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 6637,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4434
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1521
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 268
                    }
                  ],
                  "startTime": "2026-08-16T02:33:57.272Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 7381,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4946
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1755
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 266
                    }
                  ],
                  "startTime": "2026-08-16T02:34:03.917Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 14250,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 11704
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1676
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 380
                    }
                  ],
                  "startTime": "2026-08-16T02:34:11.307Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5682,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3718
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1491
                    }
                  ],
                  "startTime": "2026-08-16T02:34:23.286Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5577,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3676
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1486
                    }
                  ],
                  "startTime": "2026-08-16T02:34:25.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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5369,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3424
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1497
                    }
                  ],
                  "startTime": "2026-08-16T02:34:28.976Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5787,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3802
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1550
                    }
                  ],
                  "startTime": "2026-08-16T02:34:31.150Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5455,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3403
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1574
                    }
                  ],
                  "startTime": "2026-08-16T02:34:34.353Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6932,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5040
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1425
                    }
                  ],
                  "startTime": "2026-08-16T02:34:36.944Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6378,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4405
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1538
                    }
                  ],
                  "startTime": "2026-08-16T02:34:39.820Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6110,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4222
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1429
                    }
                  ],
                  "startTime": "2026-08-16T02:34:43.884Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5141,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3976
                    },
                    {
                      "title": "submit booking plan add form without required fields",
                      "duration": 725
                    }
                  ],
                  "startTime": "2026-08-16T02:34:46.207Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 18065,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5061
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4833
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5153
                    },
                    {
                      "title": "attach unit types",
                      "duration": 2449
                    },
                    {
                      "title": "verify attached unit types in inline list",
                      "duration": 47
                    }
                  ],
                  "startTime": "2026-08-16T02:34:50.004Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5104,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 3924
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 244
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 476
                    }
                  ],
                  "startTime": "2026-08-16T02:34:51.357Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8655,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 7153
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 526
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 506
                    }
                  ],
                  "startTime": "2026-08-16T02:34:54.296Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8777,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 7302
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 471
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 541
                    }
                  ],
                  "startTime": "2026-08-16T02:34:56.468Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 9295,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 7592
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 701
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 551
                    }
                  ],
                  "startTime": "2026-08-16T02:35:02.959Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5556,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 4167
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 312
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 555
                    }
                  ],
                  "startTime": "2026-08-16T02:35:05.256Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 6088,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 4278
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 391
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 570
                    }
                  ],
                  "startTime": "2026-08-16T02:35:08.083Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5818,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 4322
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 356
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 550
                    }
                  ],
                  "startTime": "2026-08-16T02:35:10.824Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6248,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 4722
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 355
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 541
                    }
                  ],
                  "startTime": "2026-08-16T02:35:12.262Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 5512,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 4127
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 280
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 506
                    }
                  ],
                  "startTime": "2026-08-16T02:35:14.180Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5573,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 4221
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 295
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 475
                    }
                  ],
                  "startTime": "2026-08-16T02:35:16.654Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7168,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2592
                    },
                    {
                      "title": "create recurring product with duplicate name",
                      "duration": 3918
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 155
                    }
                  ],
                  "startTime": "2026-08-16T02:35:18.518Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 16013,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6344
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2906
                    },
                    {
                      "title": "create recurring product with attached unit types",
                      "duration": 6030
                    },
                    {
                      "title": "verify attached unit types on details page",
                      "duration": 250
                    }
                  ],
                  "startTime": "2026-08-16T02:35:19.702Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2288,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid recurring product create form",
                      "duration": 1796
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 21
                    }
                  ],
                  "startTime": "2026-08-16T02:35:22.240Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3773,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid recurring product create form",
                      "duration": 3293
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-16T02:35:24.539Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3815,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid recurring product create form",
                      "duration": 3301
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 35
                    }
                  ],
                  "startTime": "2026-08-16T02:35:25.696Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5752,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid recurring product create form",
                      "duration": 5237
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-16T02:35:28.322Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2854,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2321
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 10
                    }
                  ],
                  "startTime": "2026-08-16T02:35:29.520Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2920,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2286
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-16T02:35:32.386Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2812,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2338
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-16T02:35:34.084Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2646,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2164
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-16T02:35:35.314Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 2514,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "add two duplicate booking plans",
                      "duration": 1980
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 35
                    }
                  ],
                  "startTime": "2026-08-16T02:35:35.723Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5564,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3352
                    },
                    {
                      "title": "delete booking plan",
                      "duration": 1611
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 202
                    }
                  ],
                  "startTime": "2026-08-16T02:35:36.908Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 37692,
                  "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": 6021
                    },
                    {
                      "title": "attempt to delete the only booking plan via inline action",
                      "duration": 1157
                    },
                    {
                      "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/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-16T02:35:37.968Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6260,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3843
                    },
                    {
                      "title": "select booking plans to delete",
                      "duration": 466
                    },
                    {
                      "title": "delete booking plans",
                      "duration": 1369
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 157
                    }
                  ],
                  "startTime": "2026-08-16T02:35:38.245Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "failed",
                  "duration": 34917,
                  "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": 3640
                    },
                    {
                      "title": "attempt to delete all booking plans via row action",
                      "duration": 817
                    },
                    {
                      "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/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-16T02:35:42.481Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5746,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3550
                    },
                    {
                      "title": "delete recurring product",
                      "duration": 1419
                    },
                    {
                      "title": "verify product is no longer on list page",
                      "duration": 281
                    }
                  ],
                  "startTime": "2026-08-16T02:35:44.515Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 12161,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2630
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4031
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3963
                    },
                    {
                      "title": "detach unit type",
                      "duration": 288
                    },
                    {
                      "title": "verify only the remaining unit type is attached",
                      "duration": 815
                    }
                  ],
                  "startTime": "2026-08-16T02:35:50.268Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 9345,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 6500
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 2059
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 336
                    }
                  ],
                  "startTime": "2026-08-16T02:36:02.439Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 7559,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4879
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1895
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 283
                    }
                  ],
                  "startTime": "2026-08-16T02:36:11.791Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 12718,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 9819
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 2003
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 433
                    }
                  ],
                  "startTime": "2026-08-16T02:36:15.674Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6566,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3737
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 2040
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 330
                    }
                  ],
                  "startTime": "2026-08-16T02:36:17.409Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6048,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3963
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1324
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 259
                    }
                  ],
                  "startTime": "2026-08-16T02:36:19.358Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5886,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3784
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1546
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 71
                    }
                  ],
                  "startTime": "2026-08-16T02:36:23.985Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6916,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4852
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1524
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 67
                    }
                  ],
                  "startTime": "2026-08-16T02:36:25.414Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6058,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4019
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1518
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 70
                    }
                  ],
                  "startTime": "2026-08-16T02:36:28.404Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6892,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4776
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1584
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 68
                    }
                  ],
                  "startTime": "2026-08-16T02:36:29.880Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6622,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4675
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1491
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-16T02:36:32.338Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6414,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4523
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1455
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-16T02:36:34.471Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5968,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4123
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1344
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-16T02:36:36.782Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 13549,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 11764
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1364
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-16T02:36:38.967Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5873,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4028
                    },
                    {
                      "title": "submit booking plan edit form with cleared required fields",
                      "duration": 1420
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-16T02:36:40.894Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 11172,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5980
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 473
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1271
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 3041
                    }
                  ],
                  "startTime": "2026-08-16T02:36:42.765Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 11281,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 6028
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 425
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1318
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 3100
                    }
                  ],
                  "startTime": "2026-08-16T02:36:46.778Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 5900,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4643
                    },
                    {
                      "title": "submit price change form without required fields",
                      "duration": 780
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-16T02:36:52.525Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8713,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 7499
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 387
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 185
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 223
                    }
                  ],
                  "startTime": "2026-08-16T02:36:53.949Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 14783,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 13508
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 416
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 184
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 245
                    }
                  ],
                  "startTime": "2026-08-16T02:36:58.071Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 12810,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 10877
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1467
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-16T02:36:58.434Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6477,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4475
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1521
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-16T02:37:02.673Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6232,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4323
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1429
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-16T02:37:09.161Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 12523,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 10598
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1464
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 22
                    }
                  ],
                  "startTime": "2026-08-16T02:37:11.251Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6722,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4626
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1429
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 32
                    }
                  ],
                  "startTime": "2026-08-16T02:37:12.864Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5689,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4486
                    },
                    {
                      "title": "submit edit clearing the max quantity per booking",
                      "duration": 673
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-16T02:37:15.401Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 13214,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 10800
                    },
                    {
                      "title": "edit recurring product general",
                      "duration": 1476
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 16
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 477
                    }
                  ],
                  "startTime": "2026-08-16T02:37:19.593Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 15882,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4812
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 9022
                    },
                    {
                      "title": "edit recurring product to use duplicate name",
                      "duration": 1479
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-16T02:37:21.100Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 5705,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4446
                    },
                    {
                      "title": "submit edit clearing the name",
                      "duration": 752
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 21
                    }
                  ],
                  "startTime": "2026-08-16T02:37:23.789Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 10106,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 7745
                    },
                    {
                      "title": "edit recurring product tax",
                      "duration": 1898
                    },
                    {
                      "title": "verify new recurring product tax on details page",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-16T02:37:29.505Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 9319,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 6853
                    },
                    {
                      "title": "edit recurring product tax",
                      "duration": 1964
                    },
                    {
                      "title": "verify new recurring product tax on details page",
                      "duration": 22
                    }
                  ],
                  "startTime": "2026-08-16T02:37:32.816Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7743,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4976
                    },
                    {
                      "title": "edit recurring product tax",
                      "duration": 2297
                    },
                    {
                      "title": "verify new recurring product tax on details page",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-16T02:37:36.993Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 12695,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 11301
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 849
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-16T02:37:39.621Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5423,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4249
                    },
                    {
                      "title": "apply filter",
                      "duration": 500
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 181
                    }
                  ],
                  "startTime": "2026-08-16T02:37:42.147Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4858,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3805
                    },
                    {
                      "title": "apply filter",
                      "duration": 516
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 87
                    }
                  ],
                  "startTime": "2026-08-16T02:37:44.748Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8981,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 7920
                    },
                    {
                      "title": "apply filter",
                      "duration": 408
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 160
                    }
                  ],
                  "startTime": "2026-08-16T02:37:47.582Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4940,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3717
                    },
                    {
                      "title": "apply filter",
                      "duration": 734
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-16T02:37:49.617Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6499,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5293
                    },
                    {
                      "title": "apply filter",
                      "duration": 721
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-16T02:37:52.329Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6746,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5219
                    },
                    {
                      "title": "apply filter",
                      "duration": 991
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-16T02:37:54.568Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 25240,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5733
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5806
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6463
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4530
                    },
                    {
                      "title": "update attached unit types",
                      "duration": 2202
                    },
                    {
                      "title": "verify updated unit types in inline list",
                      "duration": 42
                    }
                  ],
                  "startTime": "2026-08-16T02:37:56.571Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 15483,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 13370
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 33
                    },
                    {
                      "title": "change unit status",
                      "duration": 1060
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 14
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 594
                    }
                  ],
                  "startTime": "2026-08-16T02:37:58.847Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5000,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2763
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "change unit status",
                      "duration": 1201
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 6
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 551
                    }
                  ],
                  "startTime": "2026-08-16T02:38:01.330Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5917,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3954
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 30
                    },
                    {
                      "title": "change unit status",
                      "duration": 990
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 7
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 495
                    }
                  ],
                  "startTime": "2026-08-16T02:38:06.344Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6513,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4325
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 33
                    },
                    {
                      "title": "change unit status",
                      "duration": 1049
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 12
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 606
                    }
                  ],
                  "startTime": "2026-08-16T02:38:12.271Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 9256,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7071
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 51
                    },
                    {
                      "title": "change unit status",
                      "duration": 1087
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 10
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 573
                    }
                  ],
                  "startTime": "2026-08-16T02:38:14.339Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7254,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5056
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 33
                    },
                    {
                      "title": "change unit status",
                      "duration": 1121
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 7
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 548
                    }
                  ],
                  "startTime": "2026-08-16T02:38:18.795Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 10338,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6419
                    },
                    {
                      "title": "create unit",
                      "duration": 2573
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 137
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 717
                    }
                  ],
                  "startTime": "2026-08-16T02:38:21.826Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 13042,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 9721
                    },
                    {
                      "title": "create unit",
                      "duration": 1877
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 198
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 720
                    }
                  ],
                  "startTime": "2026-08-16T02:38:23.605Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7970,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4586
                    },
                    {
                      "title": "create unit",
                      "duration": 1910
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 232
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 731
                    }
                  ],
                  "startTime": "2026-08-16T02:38:26.063Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7355,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3799
                    },
                    {
                      "title": "create unit",
                      "duration": 2244
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 130
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 664
                    }
                  ],
                  "startTime": "2026-08-16T02:38:32.175Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6282,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4247
                    },
                    {
                      "title": "submit invalid unit create form",
                      "duration": 1512
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 22
                    }
                  ],
                  "startTime": "2026-08-16T02:38:34.042Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6022,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4042
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "submit unit create form with duplicate name",
                      "duration": 1408
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 73
                    }
                  ],
                  "startTime": "2026-08-16T02:38:36.655Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5615,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3486
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 42
                    },
                    {
                      "title": "edit unit general",
                      "duration": 991
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 36
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 572
                    }
                  ],
                  "startTime": "2026-08-16T02:38:39.544Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7435,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4996
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 44
                    },
                    {
                      "title": "edit unit general",
                      "duration": 1112
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 42
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 780
                    }
                  ],
                  "startTime": "2026-08-16T02:38:40.336Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 7212,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5047
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 40
                    },
                    {
                      "title": "edit unit general",
                      "duration": 1023
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 44
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 596
                    }
                  ],
                  "startTime": "2026-08-16T02:38:42.689Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 18668,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4944
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 11277
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 41
                    },
                    {
                      "title": "edit unit type",
                      "duration": 1206
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 18
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 630
                    }
                  ],
                  "startTime": "2026-08-16T02:38:45.169Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 21835,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 8434
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 10724
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 37
                    },
                    {
                      "title": "edit location and unit type",
                      "duration": 1491
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 18
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 625
                    }
                  ],
                  "startTime": "2026-08-16T02:38:47.778Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5386,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4047
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 33
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 46
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 734
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 85
                    }
                  ],
                  "startTime": "2026-08-16T02:38:49.911Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4740,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3020
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 43
                    },
                    {
                      "title": "submit edit changing only the location",
                      "duration": 1120
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-16T02:38:55.307Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6450,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4135
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 45
                    },
                    {
                      "title": "edit unit measurements",
                      "duration": 1058
                    },
                    {
                      "title": "verify new measurements on details page",
                      "duration": 88
                    },
                    {
                      "title": "verify new measurements on list page",
                      "duration": 629
                    }
                  ],
                  "startTime": "2026-08-16T02:39:00.060Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8106,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5856
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 44
                    },
                    {
                      "title": "edit unit measurements",
                      "duration": 1156
                    },
                    {
                      "title": "verify new measurements on details page",
                      "duration": 54
                    },
                    {
                      "title": "verify new measurements on list page",
                      "duration": 560
                    }
                  ],
                  "startTime": "2026-08-16T02:39:03.850Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6658,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5376
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 50
                    },
                    {
                      "title": "apply filter",
                      "duration": 559
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 238
                    }
                  ],
                  "startTime": "2026-08-16T02:39:06.521Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 18979,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 17858
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 32
                    },
                    {
                      "title": "apply filter",
                      "duration": 535
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 99
                    }
                  ],
                  "startTime": "2026-08-16T02:39:08.110Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5269,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4195
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 33
                    },
                    {
                      "title": "apply filter",
                      "duration": 502
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 131
                    }
                  ],
                  "startTime": "2026-08-16T02:39:09.625Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8948,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7560
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "apply filter",
                      "duration": 569
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 51
                    }
                  ],
                  "startTime": "2026-08-16T02:39:11.967Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 17824,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 16682
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "apply filter",
                      "duration": 550
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 138
                    }
                  ],
                  "startTime": "2026-08-16T02:39:13.187Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3968,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2804
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "apply filter",
                      "duration": 736
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-16T02:39:14.903Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4331,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2718
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 39
                    },
                    {
                      "title": "apply filter",
                      "duration": 1150
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 10
                    }
                  ],
                  "startTime": "2026-08-16T02:39:18.880Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4344,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3022
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 51
                    },
                    {
                      "title": "apply filter",
                      "duration": 799
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-16T02:39:20.925Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6031,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4705
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "navigate to unit details page",
                      "duration": 768
                    },
                    {
                      "title": "verify unit details page",
                      "duration": 113
                    }
                  ],
                  "startTime": "2026-08-16T02:39:23.219Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1178,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open unit create dialog from list",
                      "duration": 420
                    },
                    {
                      "title": "verify unit create dialog is open",
                      "duration": 358
                    }
                  ],
                  "startTime": "2026-08-16T02:39:23.457Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 11572,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 9240
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1428
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 311
                    }
                  ],
                  "startTime": "2026-08-16T02:39:24.646Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8964,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6517
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1739
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 310
                    }
                  ],
                  "startTime": "2026-08-16T02:39:25.288Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 22284,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 19837
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1637
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 344
                    }
                  ],
                  "startTime": "2026-08-16T02:39:27.112Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9081,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6677
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1591
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 321
                    }
                  ],
                  "startTime": "2026-08-16T02:39:29.262Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 9495,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7082
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1608
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 327
                    }
                  ],
                  "startTime": "2026-08-16T02:39:31.030Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 9118,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6081
                    },
                    {
                      "title": "add booking plans",
                      "duration": 2202
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 364
                    }
                  ],
                  "startTime": "2026-08-16T02:39:34.260Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 8696,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6214
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1666
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 307
                    }
                  ],
                  "startTime": "2026-08-16T02:39:36.227Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8571,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6335
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1469
                    }
                  ],
                  "startTime": "2026-08-16T02:39:38.356Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 14911,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 12946
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1544
                    }
                  ],
                  "startTime": "2026-08-16T02:39:40.534Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 19145,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 16646
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1870
                    }
                  ],
                  "startTime": "2026-08-16T02:39:43.388Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6182,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4158
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1563
                    }
                  ],
                  "startTime": "2026-08-16T02:39:44.932Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6297,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4404
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1468
                    }
                  ],
                  "startTime": "2026-08-16T02:39:46.935Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 10204,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 8378
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1363
                    }
                  ],
                  "startTime": "2026-08-16T02:39:49.402Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6407,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4548
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1440
                    }
                  ],
                  "startTime": "2026-08-16T02:39:51.120Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 18661,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 16329
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1862
                    }
                  ],
                  "startTime": "2026-08-16T02:39:53.241Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 12940,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 10620
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1768
                    }
                  ],
                  "startTime": "2026-08-16T02:39:55.454Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6861,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5560
                    },
                    {
                      "title": "submit booking plan add form without required fields",
                      "duration": 823
                    }
                  ],
                  "startTime": "2026-08-16T02:39:57.534Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3593,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3463
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 45
                    }
                  ],
                  "startTime": "2026-08-16T02:39:59.618Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "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": 44
                    }
                  ],
                  "startTime": "2026-08-16T02:40:02.547Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3788,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3627
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 70
                    }
                  ],
                  "startTime": "2026-08-16T02:40:03.217Z",
                  "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": 2,
                  "status": "passed",
                  "duration": 3520,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3377
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 47
                    }
                  ],
                  "startTime": "2026-08-16T02:40:04.407Z",
                  "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": 3706,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3564
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 49
                    }
                  ],
                  "startTime": "2026-08-16T02:40:06.107Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3972,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3812
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 50
                    }
                  ],
                  "startTime": "2026-08-16T02:40:07.011Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3927,
                  "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": 52
                    }
                  ],
                  "startTime": "2026-08-16T02:40:07.936Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3722,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3573
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 49
                    }
                  ],
                  "startTime": "2026-08-16T02:40:08.426Z",
                  "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": 4016,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3864
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 53
                    }
                  ],
                  "startTime": "2026-08-16T02:40:09.822Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3917,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3739
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 73
                    }
                  ],
                  "startTime": "2026-08-16T02:40:10.992Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4200,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4038
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 49
                    }
                  ],
                  "startTime": "2026-08-16T02:40:11.872Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4134,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3952
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 82
                    }
                  ],
                  "startTime": "2026-08-16T02:40:11.916Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4154,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3983
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 77
                    }
                  ],
                  "startTime": "2026-08-16T02:40:12.159Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4152,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3997
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 48
                    }
                  ],
                  "startTime": "2026-08-16T02:40:13.845Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3955,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3776
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 67
                    }
                  ],
                  "startTime": "2026-08-16T02:40:14.916Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4153,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3962
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 83
                    }
                  ],
                  "startTime": "2026-08-16T02:40:16.059Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4186,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4031
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 47
                    }
                  ],
                  "startTime": "2026-08-16T02:40:16.085Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3987,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3818
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 56
                    }
                  ],
                  "startTime": "2026-08-16T02:40:16.323Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4226,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4036
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 84
                    }
                  ],
                  "startTime": "2026-08-16T02:40:18.006Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4196,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3992
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 93
                    }
                  ],
                  "startTime": "2026-08-16T02:40:18.881Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4157,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3964
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 86
                    }
                  ],
                  "startTime": "2026-08-16T02:40:20.220Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4351,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4173
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 78
                    }
                  ],
                  "startTime": "2026-08-16T02:40:20.281Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 4198,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4032
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 53
                    }
                  ],
                  "startTime": "2026-08-16T02:40:20.321Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4388,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4221
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 70
                    }
                  ],
                  "startTime": "2026-08-16T02:40:22.242Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3978,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3797
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 60
                    }
                  ],
                  "startTime": "2026-08-16T02:40:23.089Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4221,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4047
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 53
                    }
                  ],
                  "startTime": "2026-08-16T02:40:24.387Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 4618,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4451
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 52
                    }
                  ],
                  "startTime": "2026-08-16T02:40:24.531Z",
                  "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": 2,
                  "status": "passed",
                  "duration": 4455,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4297
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 49
                    }
                  ],
                  "startTime": "2026-08-16T02:40:24.642Z",
                  "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": 4254,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4084
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 55
                    }
                  ],
                  "startTime": "2026-08-16T02:40:26.642Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4355,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4191
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 51
                    }
                  ],
                  "startTime": "2026-08-16T02:40:27.078Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4228,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4063
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 53
                    }
                  ],
                  "startTime": "2026-08-16T02:40:28.620Z",
                  "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": 2,
                  "status": "passed",
                  "duration": 4288,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4104
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 72
                    }
                  ],
                  "startTime": "2026-08-16T02:40:29.108Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4248,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4081
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 51
                    }
                  ],
                  "startTime": "2026-08-16T02:40:29.160Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4379,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4217
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 61
                    }
                  ],
                  "startTime": "2026-08-16T02:40:30.904Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 4258,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4090
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 47
                    }
                  ],
                  "startTime": "2026-08-16T02:40:31.442Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4177,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4001
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 68
                    }
                  ],
                  "startTime": "2026-08-16T02:40:32.860Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4188,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3993
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 74
                    }
                  ],
                  "startTime": "2026-08-16T02:40:33.409Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4251,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4064
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 60
                    }
                  ],
                  "startTime": "2026-08-16T02:40:33.417Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4256,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 4094
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 51
                    }
                  ],
                  "startTime": "2026-08-16T02:40:35.292Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6602,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 5132
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 269
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 598
                    }
                  ],
                  "startTime": "2026-08-16T02:40:35.711Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 11108,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 9215
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 651
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 622
                    }
                  ],
                  "startTime": "2026-08-16T02:40:37.053Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 11042,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 9084
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 694
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 590
                    }
                  ],
                  "startTime": "2026-08-16T02:40:37.610Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 11258,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 9324
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 638
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 658
                    }
                  ],
                  "startTime": "2026-08-16T02:40:37.683Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7325,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 5745
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 464
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 540
                    }
                  ],
                  "startTime": "2026-08-16T02:40:39.565Z",
                  "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": 1,
                  "status": "passed",
                  "duration": 6235,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4787
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 232
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 633
                    }
                  ],
                  "startTime": "2026-08-16T02:40:42.323Z",
                  "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": 6220,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4861
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 218
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 596
                    }
                  ],
                  "startTime": "2026-08-16T02:40:46.903Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6693,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 5257
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 241
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 615
                    }
                  ],
                  "startTime": "2026-08-16T02:40:48.171Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6881,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 5319
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 272
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 561
                    }
                  ],
                  "startTime": "2026-08-16T02:40:48.570Z",
                  "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": 2,
                  "status": "passed",
                  "duration": 6747,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 5145
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 414
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 533
                    }
                  ],
                  "startTime": "2026-08-16T02:40:48.659Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 7273,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 5852
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 204
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 588
                    }
                  ],
                  "startTime": "2026-08-16T02:40:48.953Z",
                  "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": 6336,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4812
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 434
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 561
                    }
                  ],
                  "startTime": "2026-08-16T02:40:53.135Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 11150,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 4299
                    },
                    {
                      "title": "create unit type",
                      "duration": 6196
                    },
                    {
                      "title": "verify deposit on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-16T02:40:54.876Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3197,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 2590
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 47
                    }
                  ],
                  "startTime": "2026-08-16T02:40:55.417Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 5085,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 4407
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 42
                    }
                  ],
                  "startTime": "2026-08-16T02:40:55.464Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5372,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 4711
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 48
                    }
                  ],
                  "startTime": "2026-08-16T02:40:56.238Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5404,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 4807
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 28
                    }
                  ],
                  "startTime": "2026-08-16T02:40:58.622Z",
                  "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": 7580,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 6886
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 42
                    }
                  ],
                  "startTime": "2026-08-16T02:40:59.481Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3500,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2732
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-16T02:41:00.561Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3199,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2552
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-16T02:41:01.622Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3238,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2602
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-16T02:41:04.035Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 3230,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2576
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-16T02:41:04.070Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 2830,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "add two duplicate booking plans",
                      "duration": 2252
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 28
                    }
                  ],
                  "startTime": "2026-08-16T02:41:04.834Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6534,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2878
                    },
                    {
                      "title": "submit unit type create form with duplicate name",
                      "duration": 3170
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 73
                    }
                  ],
                  "startTime": "2026-08-16T02:41:06.036Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6473,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4148
                    },
                    {
                      "title": "delete booking plan",
                      "duration": 1608
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 200
                    }
                  ],
                  "startTime": "2026-08-16T02:41:07.072Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "failed",
                  "duration": 42493,
                  "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": 10956
                    },
                    {
                      "title": "attempt to delete the only booking plan via inline action",
                      "duration": 1042
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30022,
                      "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-16T02:41:07.281Z",
                  "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": 1,
                  "status": "passed",
                  "duration": 15462,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 13117
                    },
                    {
                      "title": "select booking plans to delete",
                      "duration": 481
                    },
                    {
                      "title": "delete booking plans",
                      "duration": 1331
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 106
                    }
                  ],
                  "startTime": "2026-08-16T02:41:07.309Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 37215,
                  "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": 5941
                    },
                    {
                      "title": "attempt to delete all booking plans via row action",
                      "duration": 764
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30024,
                      "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-16T02:41:07.673Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5638,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3369
                    },
                    {
                      "title": "delete unit type",
                      "duration": 1481
                    },
                    {
                      "title": "verify unit type is no longer on list page",
                      "duration": 291
                    }
                  ],
                  "startTime": "2026-08-16T02:41:12.582Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 13696,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 11623
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1338
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 289
                    }
                  ],
                  "startTime": "2026-08-16T02:41:13.557Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6730,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4573
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1437
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 273
                    }
                  ],
                  "startTime": "2026-08-16T02:41:18.231Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6894,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4802
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1337
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 304
                    }
                  ],
                  "startTime": "2026-08-16T02:41:22.782Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7211,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5052
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1425
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 298
                    }
                  ],
                  "startTime": "2026-08-16T02:41:24.969Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7714,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5000
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1996
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 266
                    }
                  ],
                  "startTime": "2026-08-16T02:41:27.262Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 7523,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4826
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1925
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 293
                    }
                  ],
                  "startTime": "2026-08-16T02:41:29.682Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7312,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4608
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1912
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 260
                    }
                  ],
                  "startTime": "2026-08-16T02:41:32.189Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6910,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4194
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1971
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 262
                    }
                  ],
                  "startTime": "2026-08-16T02:41:34.985Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6986,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4385
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1891
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 247
                    }
                  ],
                  "startTime": "2026-08-16T02:41:37.213Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6538,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4414
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1339
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 305
                    }
                  ],
                  "startTime": "2026-08-16T02:41:39.511Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6237,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4438
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1280
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 79
                    }
                  ],
                  "startTime": "2026-08-16T02:41:41.905Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6421,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4389
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1512
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 83
                    }
                  ],
                  "startTime": "2026-08-16T02:41:44.208Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 12537,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 10557
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1433
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 76
                    }
                  ],
                  "startTime": "2026-08-16T02:41:44.901Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6963,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4929
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1483
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 89
                    }
                  ],
                  "startTime": "2026-08-16T02:41:46.058Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6931,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5168
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1316
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 23
                    }
                  ],
                  "startTime": "2026-08-16T02:41:48.151Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 12159,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 10179
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1477
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 21
                    }
                  ],
                  "startTime": "2026-08-16T02:41:49.787Z",
                  "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": 1,
                  "status": "passed",
                  "duration": 8996,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7092
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1447
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 23
                    }
                  ],
                  "startTime": "2026-08-16T02:41:50.638Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 15568,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 13826
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1303
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 23
                    }
                  ],
                  "startTime": "2026-08-16T02:41:53.033Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 9068,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7403
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1138
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 70
                    }
                  ],
                  "startTime": "2026-08-16T02:41:55.092Z",
                  "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": 4,
                  "status": "passed",
                  "duration": 22399,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 20696
                    },
                    {
                      "title": "submit booking plan edit form with cleared required fields",
                      "duration": 1288
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 21
                    }
                  ],
                  "startTime": "2026-08-16T02:41:57.447Z",
                  "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": 1,
                  "status": "passed",
                  "duration": 10248,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5056
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 462
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1257
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 3049
                    }
                  ],
                  "startTime": "2026-08-16T02:41:59.645Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 14498,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 9310
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 423
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1263
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 3104
                    }
                  ],
                  "startTime": "2026-08-16T02:42:01.955Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6017,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4832
                    },
                    {
                      "title": "submit price change form without required fields",
                      "duration": 766
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-16T02:42:04.170Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6358,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5063
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 475
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 184
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 232
                    }
                  ],
                  "startTime": "2026-08-16T02:42:08.610Z",
                  "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": false,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 31727,
                  "error": {
                    "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 ",
                    "stack": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-publish-status.spec.ts:9:22",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                      "column": 13,
                      "line": 31
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/shared/utils/billing-utils.ts:31\n\n\u001b[0m \u001b[90m 29 |\u001b[39m\n \u001b[90m 30 |\u001b[39m     \u001b[36mif\u001b[39m (\u001b[33m!\u001b[39mresponse\u001b[33m.\u001b[39mok()) {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 31 |\u001b[39m       \u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 32 |\u001b[39m     }\n \u001b[90m 33 |\u001b[39m   } \u001b[36mfinally\u001b[39m {\n \u001b[90m 34 |\u001b[39m     \u001b[36mawait\u001b[39m ctx\u001b[33m.\u001b[39mdispose()\u001b[33m;\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                        "column": 13,
                        "line": 31
                      },
                      "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n\n   at src/shared/utils/billing-utils.ts:31\n\n  29 |\n  30 |     if (!response.ok()) {\n> 31 |       throw new Error(`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`);\n     |             ^\n  32 |     }\n  33 |   } finally {\n  34 |     await ctx.dispose();\n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-publish-status.spec.ts:9:22"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 31615,
                      "error": {
                        "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 ",
                        "stack": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-publish-status.spec.ts:9:22",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                          "column": 13,
                          "line": 31
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/shared/utils/billing-utils.ts:31\n\n\u001b[0m \u001b[90m 29 |\u001b[39m\n \u001b[90m 30 |\u001b[39m     \u001b[36mif\u001b[39m (\u001b[33m!\u001b[39mresponse\u001b[33m.\u001b[39mok()) {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 31 |\u001b[39m       \u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 32 |\u001b[39m     }\n \u001b[90m 33 |\u001b[39m   } \u001b[36mfinally\u001b[39m {\n \u001b[90m 34 |\u001b[39m     \u001b[36mawait\u001b[39m ctx\u001b[33m.\u001b[39mdispose()\u001b[33m;\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-16T02:42:09.901Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/unit-type-unit-type-edit-b-5a7ac-publishes-all-booking-plans-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/unit-type-unit-type-edit-b-5a7ac-publishes-all-booking-plans-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                    "column": 13,
                    "line": 31
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7213,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5749
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 1004
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 29
                    }
                  ],
                  "startTime": "2026-08-16T02:42:10.198Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 11228,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 9832
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 963
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 28
                    }
                  ],
                  "startTime": "2026-08-16T02:42:14.976Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5387,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3881
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 1002
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 30
                    }
                  ],
                  "startTime": "2026-08-16T02:42:16.464Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6605,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5153
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 1012
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 28
                    }
                  ],
                  "startTime": "2026-08-16T02:42:17.421Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 8844,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7028
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 1382
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 31
                    }
                  ],
                  "startTime": "2026-08-16T02:42:19.854Z",
                  "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": 43,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 18065,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 16046
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 1541
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 36
                    }
                  ],
                  "startTime": "2026-08-16T02:42:21.860Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 9059,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7180
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 1436
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 38
                    }
                  ],
                  "startTime": "2026-08-16T02:42:24.035Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4015,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2844
                    },
                    {
                      "title": "submit edit clearing the categories",
                      "duration": 748
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-16T02:42:26.215Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 9326,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6910
                    },
                    {
                      "title": "edit unit type general",
                      "duration": 1432
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 25
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 494
                    }
                  ],
                  "startTime": "2026-08-16T02:42:28.709Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5604,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3169
                    },
                    {
                      "title": "edit unit type general",
                      "duration": 1414
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 34
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 552
                    }
                  ],
                  "startTime": "2026-08-16T02:42:30.242Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 19916,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7134
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 10762
                    },
                    {
                      "title": "add a deposit",
                      "duration": 1549
                    },
                    {
                      "title": "verify deposit on details page",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-16T02:42:33.105Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 23904,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 6589
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 15347
                    },
                    {
                      "title": "remove the deposit",
                      "duration": 1527
                    },
                    {
                      "title": "verify deposit cleared on details page",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-16T02:42:35.857Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 7570,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6467
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 677
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-16T02:42:38.044Z",
                  "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": false,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 2,
                  "status": "failed",
                  "duration": 30855,
                  "error": {
                    "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 ",
                    "stack": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-edit-general.spec.ts:95:20",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                      "column": 13,
                      "line": 31
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/shared/utils/billing-utils.ts:31\n\n\u001b[0m \u001b[90m 29 |\u001b[39m\n \u001b[90m 30 |\u001b[39m     \u001b[36mif\u001b[39m (\u001b[33m!\u001b[39mresponse\u001b[33m.\u001b[39mok()) {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 31 |\u001b[39m       \u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 32 |\u001b[39m     }\n \u001b[90m 33 |\u001b[39m   } \u001b[36mfinally\u001b[39m {\n \u001b[90m 34 |\u001b[39m     \u001b[36mawait\u001b[39m ctx\u001b[33m.\u001b[39mdispose()\u001b[33m;\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                        "column": 13,
                        "line": 31
                      },
                      "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n\n   at src/shared/utils/billing-utils.ts:31\n\n  29 |\n  30 |     if (!response.ok()) {\n> 31 |       throw new Error(`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`);\n     |             ^\n  32 |     }\n  33 |   } finally {\n  34 |     await ctx.dispose();\n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-edit-general.spec.ts:95:20"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 30742,
                      "error": {
                        "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 ",
                        "stack": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-edit-general.spec.ts:95:20",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                          "column": 13,
                          "line": 31
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/shared/utils/billing-utils.ts:31\n\n\u001b[0m \u001b[90m 29 |\u001b[39m\n \u001b[90m 30 |\u001b[39m     \u001b[36mif\u001b[39m (\u001b[33m!\u001b[39mresponse\u001b[33m.\u001b[39mok()) {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 31 |\u001b[39m       \u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 32 |\u001b[39m     }\n \u001b[90m 33 |\u001b[39m   } \u001b[36mfinally\u001b[39m {\n \u001b[90m 34 |\u001b[39m     \u001b[36mawait\u001b[39m ctx\u001b[33m.\u001b[39mdispose()\u001b[33m;\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-16T02:42:39.936Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/unit-type-unit-type-edit-g-cde90--edit-with-a-duplicate-name-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/unit-type-unit-type-edit-g-cde90--edit-with-a-duplicate-name-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                    "column": 13,
                    "line": 31
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "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": 56,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6245,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4484
                    },
                    {
                      "title": "edit unit type tax",
                      "duration": 1259
                    },
                    {
                      "title": "verify new unit type tax on details page",
                      "duration": 23
                    }
                  ],
                  "startTime": "2026-08-16T02:42:42.007Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4778,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3216
                    },
                    {
                      "title": "edit unit type tax",
                      "duration": 1093
                    },
                    {
                      "title": "verify new unit type tax on details page",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-16T02:42:45.623Z",
                  "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": 56,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6930,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4999
                    },
                    {
                      "title": "edit unit type tax",
                      "duration": 1480
                    },
                    {
                      "title": "verify new unit type tax on details page",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-16T02:42:48.308Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6392,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5239
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 722
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-16T02:42:50.408Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8345,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7000
                    },
                    {
                      "title": "apply filter",
                      "duration": 843
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-16T02:42:53.030Z",
                  "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": 56,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 14339,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 13294
                    },
                    {
                      "title": "apply filter",
                      "duration": 507
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 89
                    }
                  ],
                  "startTime": "2026-08-16T02:42:55.250Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6483,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5586
                    },
                    {
                      "title": "apply filter",
                      "duration": 378
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 105
                    }
                  ],
                  "startTime": "2026-08-16T02:42:56.809Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5657,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4709
                    },
                    {
                      "title": "apply filter",
                      "duration": 416
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 118
                    }
                  ],
                  "startTime": "2026-08-16T02:42:59.769Z",
                  "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": false,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 30806,
                  "error": {
                    "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 ",
                    "stack": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts:72:20",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                      "column": 13,
                      "line": 31
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/shared/utils/billing-utils.ts:31\n\n\u001b[0m \u001b[90m 29 |\u001b[39m\n \u001b[90m 30 |\u001b[39m     \u001b[36mif\u001b[39m (\u001b[33m!\u001b[39mresponse\u001b[33m.\u001b[39mok()) {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 31 |\u001b[39m       \u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 32 |\u001b[39m     }\n \u001b[90m 33 |\u001b[39m   } \u001b[36mfinally\u001b[39m {\n \u001b[90m 34 |\u001b[39m     \u001b[36mawait\u001b[39m ctx\u001b[33m.\u001b[39mdispose()\u001b[33m;\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                        "column": 13,
                        "line": 31
                      },
                      "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n\n   at src/shared/utils/billing-utils.ts:31\n\n  29 |\n  30 |     if (!response.ok()) {\n> 31 |       throw new Error(`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`);\n     |             ^\n  32 |     }\n  33 |   } finally {\n  34 |     await ctx.dispose();\n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts:72:20"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 30715,
                      "error": {
                        "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 ",
                        "stack": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts:72:20",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                          "column": 13,
                          "line": 31
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/shared/utils/billing-utils.ts:31\n\n\u001b[0m \u001b[90m 29 |\u001b[39m\n \u001b[90m 30 |\u001b[39m     \u001b[36mif\u001b[39m (\u001b[33m!\u001b[39mresponse\u001b[33m.\u001b[39mok()) {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 31 |\u001b[39m       \u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 32 |\u001b[39m     }\n \u001b[90m 33 |\u001b[39m   } \u001b[36mfinally\u001b[39m {\n \u001b[90m 34 |\u001b[39m     \u001b[36mawait\u001b[39m ctx\u001b[33m.\u001b[39mdispose()\u001b[33m;\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-16T02:43:01.384Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/unit-type-unit-type-filter-filters-by-name-and-location-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/unit-type-unit-type-filter-filters-by-name-and-location-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                    "column": 13,
                    "line": 31
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4483,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3201
                    },
                    {
                      "title": "apply filter",
                      "duration": 842
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-16T02:43:03.298Z",
                  "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": false,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 8,
                  "parallelIndex": 3,
                  "status": "failed",
                  "duration": 30815,
                  "error": {
                    "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 ",
                    "stack": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts:104:20",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                      "column": 13,
                      "line": 31
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/shared/utils/billing-utils.ts:31\n\n\u001b[0m \u001b[90m 29 |\u001b[39m\n \u001b[90m 30 |\u001b[39m     \u001b[36mif\u001b[39m (\u001b[33m!\u001b[39mresponse\u001b[33m.\u001b[39mok()) {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 31 |\u001b[39m       \u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 32 |\u001b[39m     }\n \u001b[90m 33 |\u001b[39m   } \u001b[36mfinally\u001b[39m {\n \u001b[90m 34 |\u001b[39m     \u001b[36mawait\u001b[39m ctx\u001b[33m.\u001b[39mdispose()\u001b[33m;\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                        "column": 13,
                        "line": 31
                      },
                      "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n\n   at src/shared/utils/billing-utils.ts:31\n\n  29 |\n  30 |     if (!response.ok()) {\n> 31 |       throw new Error(`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`);\n     |             ^\n  32 |     }\n  33 |   } finally {\n  34 |     await ctx.dispose();\n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts:104:20"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 30711,
                      "error": {
                        "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 ",
                        "stack": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts:104:20",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                          "column": 13,
                          "line": 31
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/shared/utils/billing-utils.ts:31\n\n\u001b[0m \u001b[90m 29 |\u001b[39m\n \u001b[90m 30 |\u001b[39m     \u001b[36mif\u001b[39m (\u001b[33m!\u001b[39mresponse\u001b[33m.\u001b[39mok()) {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 31 |\u001b[39m       \u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 32 |\u001b[39m     }\n \u001b[90m 33 |\u001b[39m   } \u001b[36mfinally\u001b[39m {\n \u001b[90m 34 |\u001b[39m     \u001b[36mawait\u001b[39m ctx\u001b[33m.\u001b[39mdispose()\u001b[33m;\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-16T02:43:05.436Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/unit-type-unit-type-filter-1f25a-ot-in-the-filtered-location-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/unit-type-unit-type-filter-1f25a-ot-in-the-filtered-location-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                    "column": 13,
                    "line": 31
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "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": false,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "failed",
                  "duration": 30797,
                  "error": {
                    "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 ",
                    "stack": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-navigate.spec.ts:11:20",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                      "column": 13,
                      "line": 31
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/shared/utils/billing-utils.ts:31\n\n\u001b[0m \u001b[90m 29 |\u001b[39m\n \u001b[90m 30 |\u001b[39m     \u001b[36mif\u001b[39m (\u001b[33m!\u001b[39mresponse\u001b[33m.\u001b[39mok()) {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 31 |\u001b[39m       \u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 32 |\u001b[39m     }\n \u001b[90m 33 |\u001b[39m   } \u001b[36mfinally\u001b[39m {\n \u001b[90m 34 |\u001b[39m     \u001b[36mawait\u001b[39m ctx\u001b[33m.\u001b[39mdispose()\u001b[33m;\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                        "column": 13,
                        "line": 31
                      },
                      "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n\n   at src/shared/utils/billing-utils.ts:31\n\n  29 |\n  30 |     if (!response.ok()) {\n> 31 |       throw new Error(`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`);\n     |             ^\n  32 |     }\n  33 |   } finally {\n  34 |     await ctx.dispose();\n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-navigate.spec.ts:11:20"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 30699,
                      "error": {
                        "message": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 ",
                        "stack": "Error: Failed to sync billing catalog via http://billing-api-dev:8080/e2e/storeroom/import: 500 \n    at callBillingE2eRoute (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:31:13)\n    at syncBillingCatalog (/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts:57:3)\n    at createUnitTypeViaApi (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-api.ts:35:3)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/modules/unit-type/unit-type-fixtures.ts:40:24\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/unit-type/unit-type-navigate.spec.ts:11:20",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                          "column": 13,
                          "line": 31
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/shared/utils/billing-utils.ts:31\n\n\u001b[0m \u001b[90m 29 |\u001b[39m\n \u001b[90m 30 |\u001b[39m     \u001b[36mif\u001b[39m (\u001b[33m!\u001b[39mresponse\u001b[33m.\u001b[39mok()) {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 31 |\u001b[39m       \u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m`Failed to ${action} via ${baseURL}${path}: ${response.status()} ${await response.text()}`\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m    |\u001b[39m             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 32 |\u001b[39m     }\n \u001b[90m 33 |\u001b[39m   } \u001b[36mfinally\u001b[39m {\n \u001b[90m 34 |\u001b[39m     \u001b[36mawait\u001b[39m ctx\u001b[33m.\u001b[39mdispose()\u001b[33m;\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-16T02:43:07.790Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/unit-type-unit-type-naviga-3e909--the-unit-type-details-page-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/unit-type-unit-type-naviga-3e909--the-unit-type-details-page-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/shared/utils/billing-utils.ts",
                    "column": 13,
                    "line": 31
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "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": 56,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 1109,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open unit type create dialog from list",
                      "duration": 313
                    },
                    {
                      "title": "verify unit type create dialog is open",
                      "duration": 356
                    }
                  ],
                  "startTime": "2026-08-16T02:43:09.600Z",
                  "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": 4151,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 958
                    },
                    {
                      "title": "select unit type",
                      "duration": 351
                    },
                    {
                      "title": "select booking options",
                      "duration": 1006
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 136
                    },
                    {
                      "title": "confirm basket",
                      "duration": 438
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1126
                    }
                  ],
                  "startTime": "2026-08-16T02:16:40.501Z",
                  "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": 3752,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 662
                    },
                    {
                      "title": "select unit type",
                      "duration": 407
                    },
                    {
                      "title": "select booking options",
                      "duration": 1036
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 117
                    },
                    {
                      "title": "confirm basket",
                      "duration": 300
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1085
                    }
                  ],
                  "startTime": "2026-08-16T02:16:40.501Z",
                  "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": 3302,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 470
                    },
                    {
                      "title": "select unit type",
                      "duration": 357
                    },
                    {
                      "title": "select booking options",
                      "duration": 687
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 67
                    },
                    {
                      "title": "confirm basket",
                      "duration": 438
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1160
                    }
                  ],
                  "startTime": "2026-08-16T02:16:44.708Z",
                  "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": 3324,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 451
                    },
                    {
                      "title": "select unit type",
                      "duration": 389
                    },
                    {
                      "title": "select booking options",
                      "duration": 457
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 62
                    },
                    {
                      "title": "confirm basket",
                      "duration": 442
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1419
                    }
                  ],
                  "startTime": "2026-08-16T02:16:44.310Z",
                  "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": 3408,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 470
                    },
                    {
                      "title": "select unit type",
                      "duration": 347
                    },
                    {
                      "title": "select booking options",
                      "duration": 662
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 478
                    },
                    {
                      "title": "confirm basket",
                      "duration": 225
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1108
                    }
                  ],
                  "startTime": "2026-08-16T02:16:48.020Z",
                  "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": 3760,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 510
                    },
                    {
                      "title": "select unit type",
                      "duration": 405
                    },
                    {
                      "title": "select booking options",
                      "duration": 903
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 468
                    },
                    {
                      "title": "confirm basket",
                      "duration": 216
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1140
                    }
                  ],
                  "startTime": "2026-08-16T02:16:51.432Z",
                  "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": 3926,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 461
                    },
                    {
                      "title": "select unit type",
                      "duration": 372
                    },
                    {
                      "title": "select booking options",
                      "duration": 918
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 411
                    },
                    {
                      "title": "confirm basket",
                      "duration": 228
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1431
                    }
                  ],
                  "startTime": "2026-08-16T02:16:47.643Z",
                  "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": 3435,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 503
                    },
                    {
                      "title": "select unit type",
                      "duration": 345
                    },
                    {
                      "title": "select booking options",
                      "duration": 642
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 428
                    },
                    {
                      "title": "confirm basket",
                      "duration": 225
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1179
                    }
                  ],
                  "startTime": "2026-08-16T02:16:55.198Z",
                  "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": 3930,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 476
                    },
                    {
                      "title": "select unit type",
                      "duration": 371
                    },
                    {
                      "title": "select booking options",
                      "duration": 956
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 473
                    },
                    {
                      "title": "confirm basket",
                      "duration": 213
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1318
                    }
                  ],
                  "startTime": "2026-08-16T02:16:58.641Z",
                  "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": 3453,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 467
                    },
                    {
                      "title": "select unit type",
                      "duration": 368
                    },
                    {
                      "title": "select booking options",
                      "duration": 727
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 472
                    },
                    {
                      "title": "confirm basket",
                      "duration": 211
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1092
                    }
                  ],
                  "startTime": "2026-08-16T02:16:51.573Z",
                  "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": 3654,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 501
                    },
                    {
                      "title": "select unit type",
                      "duration": 349
                    },
                    {
                      "title": "select booking options",
                      "duration": 905
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 434
                    },
                    {
                      "title": "confirm basket",
                      "duration": 219
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1127
                    }
                  ],
                  "startTime": "2026-08-16T02:17:02.576Z",
                  "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": 3460,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 471
                    },
                    {
                      "title": "select unit type",
                      "duration": 417
                    },
                    {
                      "title": "select booking options",
                      "duration": 688
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 429
                    },
                    {
                      "title": "confirm basket",
                      "duration": 224
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1110
                    }
                  ],
                  "startTime": "2026-08-16T02:17:06.236Z",
                  "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": 10407,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 442
                    },
                    {
                      "title": "select unit type",
                      "duration": 338
                    },
                    {
                      "title": "select booking options",
                      "duration": 638
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 65
                    },
                    {
                      "title": "confirm basket",
                      "duration": 458
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1066
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2948
                    },
                    {
                      "title": "confirm payment",
                      "duration": 4304
                    },
                    {
                      "title": "verify success view",
                      "duration": 32
                    }
                  ],
                  "startTime": "2026-08-16T02:17:09.702Z",
                  "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": 10863,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 480
                    },
                    {
                      "title": "select unit type",
                      "duration": 320
                    },
                    {
                      "title": "select booking options",
                      "duration": 641
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 58
                    },
                    {
                      "title": "confirm basket",
                      "duration": 435
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1126
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 3222
                    },
                    {
                      "title": "confirm payment",
                      "duration": 4418
                    },
                    {
                      "title": "verify success view",
                      "duration": 33
                    }
                  ],
                  "startTime": "2026-08-16T02:16:55.033Z",
                  "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": 11569,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 494
                    },
                    {
                      "title": "select unit type",
                      "duration": 364
                    },
                    {
                      "title": "select booking options",
                      "duration": 955
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 435
                    },
                    {
                      "title": "confirm basket",
                      "duration": 221
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1133
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 3271
                    },
                    {
                      "title": "confirm payment",
                      "duration": 4529
                    },
                    {
                      "title": "verify success view",
                      "duration": 41
                    }
                  ],
                  "startTime": "2026-08-16T02:17:20.113Z",
                  "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": 10872,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 458
                    },
                    {
                      "title": "select unit type",
                      "duration": 337
                    },
                    {
                      "title": "select booking options",
                      "duration": 955
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 435
                    },
                    {
                      "title": "confirm basket",
                      "duration": 220
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1468
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2981
                    },
                    {
                      "title": "confirm payment",
                      "duration": 3871
                    },
                    {
                      "title": "verify success view",
                      "duration": 34
                    }
                  ],
                  "startTime": "2026-08-16T02:17:31.688Z",
                  "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": 7272,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 448
                    },
                    {
                      "title": "select unit type",
                      "duration": 381
                    },
                    {
                      "title": "select booking options",
                      "duration": 905
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 434
                    },
                    {
                      "title": "confirm basket",
                      "duration": 219
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1128
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 3640
                    }
                  ],
                  "startTime": "2026-08-16T02:17:42.566Z",
                  "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": 11306,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 469
                    },
                    {
                      "title": "select unit type",
                      "duration": 367
                    },
                    {
                      "title": "select booking options",
                      "duration": 925
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 395
                    },
                    {
                      "title": "confirm basket",
                      "duration": 226
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1187
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 3939
                    },
                    {
                      "title": "confirm payment",
                      "duration": 3633
                    },
                    {
                      "title": "verify success view",
                      "duration": 40
                    }
                  ],
                  "startTime": "2026-08-16T02:17:05.902Z",
                  "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": 8435,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 432
                    },
                    {
                      "title": "select unit type",
                      "duration": 356
                    },
                    {
                      "title": "select booking options",
                      "duration": 923
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 454
                    },
                    {
                      "title": "confirm basket",
                      "duration": 215
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1235
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2927
                    },
                    {
                      "title": "attempt to confirm and verify payment error",
                      "duration": 1760
                    }
                  ],
                  "startTime": "2026-08-16T02:17:49.844Z",
                  "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": 8398,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 481
                    },
                    {
                      "title": "select unit type",
                      "duration": 342
                    },
                    {
                      "title": "select booking options",
                      "duration": 906
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 392
                    },
                    {
                      "title": "confirm basket",
                      "duration": 211
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1184
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 3000
                    },
                    {
                      "title": "attempt to confirm and verify payment error",
                      "duration": 1755
                    }
                  ],
                  "startTime": "2026-08-16T02:17:17.214Z",
                  "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": 8478,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 474
                    },
                    {
                      "title": "select unit type",
                      "duration": 360
                    },
                    {
                      "title": "select booking options",
                      "duration": 905
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 519
                    },
                    {
                      "title": "confirm basket",
                      "duration": 222
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1151
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2973
                    },
                    {
                      "title": "attempt to confirm and verify payment error",
                      "duration": 1762
                    }
                  ],
                  "startTime": "2026-08-16T02:17:58.285Z",
                  "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": 13538,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 582
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 373
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 114
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3519
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 423
                    },
                    {
                      "title": "confirm basket",
                      "duration": 216
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1528
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2788
                    },
                    {
                      "title": "confirm payment",
                      "duration": 3850
                    },
                    {
                      "title": "verify success view",
                      "duration": 35
                    }
                  ],
                  "startTime": "2026-08-16T02:18:06.769Z",
                  "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": 6484,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 525
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 350
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 131
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3561
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 442
                    },
                    {
                      "title": "confirm basket",
                      "duration": 223
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1148
                    }
                  ],
                  "startTime": "2026-08-16T02:18:20.314Z",
                  "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": 6150,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 473
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 325
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 114
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3404
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 400
                    },
                    {
                      "title": "confirm basket",
                      "duration": 223
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1085
                    }
                  ],
                  "startTime": "2026-08-16T02:17:25.620Z",
                  "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": 6318,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 432
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 394
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 134
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3485
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 433
                    },
                    {
                      "title": "confirm basket",
                      "duration": 217
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1108
                    }
                  ],
                  "startTime": "2026-08-16T02:18:26.805Z",
                  "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": 6272,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 446
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 353
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 93
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3514
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 473
                    },
                    {
                      "title": "confirm basket",
                      "duration": 215
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1061
                    }
                  ],
                  "startTime": "2026-08-16T02:18:33.135Z",
                  "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": 6296,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 478
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 428
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 118
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3472
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 425
                    },
                    {
                      "title": "confirm basket",
                      "duration": 210
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1049
                    }
                  ],
                  "startTime": "2026-08-16T02:18:39.415Z",
                  "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": 6191,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 472
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 345
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 110
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3486
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 403
                    },
                    {
                      "title": "confirm basket",
                      "duration": 219
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1057
                    }
                  ],
                  "startTime": "2026-08-16T02:18:45.716Z",
                  "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": 3508,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 438
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 380
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 92
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 803
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 409
                    },
                    {
                      "title": "confirm basket",
                      "duration": 225
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1055
                    }
                  ],
                  "startTime": "2026-08-16T02:18:51.911Z",
                  "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": 3553,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 478
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 363
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 93
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 796
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 397
                    },
                    {
                      "title": "confirm basket",
                      "duration": 224
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1076
                    }
                  ],
                  "startTime": "2026-08-16T02:18:55.423Z",
                  "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": 3538,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 459
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 407
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 146
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 722
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 415
                    },
                    {
                      "title": "confirm basket",
                      "duration": 220
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1059
                    }
                  ],
                  "startTime": "2026-08-16T02:18:58.983Z",
                  "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": 1029,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 437
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 259
                    },
                    {
                      "title": "attempt to select move-in date",
                      "duration": 105
                    },
                    {
                      "title": "verify back-to-size-selection button is visible",
                      "duration": 103
                    }
                  ],
                  "startTime": "2026-08-16T02:19:02.526Z",
                  "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": 2578,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "log in as customer",
                      "duration": 2362
                    },
                    {
                      "title": "verify account view is ready",
                      "duration": 58
                    }
                  ],
                  "startTime": "2026-08-16T02:16:40.420Z",
                  "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": 2583,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "log in as customer",
                      "duration": 2367
                    },
                    {
                      "title": "verify account view is ready",
                      "duration": 68
                    }
                  ],
                  "startTime": "2026-08-16T02:16:40.411Z",
                  "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-16T02:16:26.372Z",
    "duration": 1632459.3969999999,
    "expected": 569,
    "skipped": 20,
    "unexpected": 51,
    "flaky": 0
  }
}