{
  "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/15912825395",
        "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/15912825395",
            "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/15912825395",
            "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/15912825395",
            "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/15912825395",
            "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": 1897,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "startTime": "2026-08-15T02:14:50.162Z",
                  "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": 39359,
                  "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  5 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"5 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  5 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"5 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  5 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"5 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": 819
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5130
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 49
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 307
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 2376
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 26
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30028,
                      "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  5 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"5 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  5 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"5 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-15T02:16:59.551Z",
                  "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": 35711,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 391
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2473
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 30
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 100
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 2012
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 30
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30024,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:17:39.487Z",
                  "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": 35671,
                  "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  5 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"5 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  5 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"5 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  5 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"5 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": 519
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2348
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 54
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 2108
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 27
                    },
                    {
                      "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  5 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"5 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  5 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"5 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-15T02:18:15.808Z",
                  "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": 37569,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 469
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2329
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 51
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 3917
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 20
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30019,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:18:52.006Z",
                  "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": 38117,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 373
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2380
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 30
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 59
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 4548
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 22
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30022,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:19:30.186Z",
                  "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": 46469,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 385
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2343
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "create booking",
                      "duration": 8986
                    },
                    {
                      "title": "adjust the move-in date",
                      "duration": 3870
                    },
                    {
                      "title": "verify the booking values on the details page",
                      "duration": 23
                    },
                    {
                      "title": "verify the billing values on the details page",
                      "duration": 30022,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:20:08.905Z",
                  "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": 3803,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 451
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2458
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 30
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 103
                    },
                    {
                      "title": "open the booking action menu",
                      "duration": 352
                    },
                    {
                      "title": "verify the adjust move-in date action is not offered",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-15T02:20:56.099Z",
                  "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": 7218,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 561
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1568
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 32
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 209
                    },
                    {
                      "title": "cancel booking with initial option",
                      "duration": 1962
                    },
                    {
                      "title": "reschedule booking cancellation",
                      "duration": 1639
                    },
                    {
                      "title": "verify booking after reschedule on details page",
                      "duration": 28
                    },
                    {
                      "title": "verify booking after reschedule on list page",
                      "duration": 788
                    }
                  ],
                  "startTime": "2026-08-15T02:16:59.554Z",
                  "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": 8905,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 1030
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1843
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 49
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 238
                    },
                    {
                      "title": "cancel booking with initial option",
                      "duration": 2034
                    },
                    {
                      "title": "reschedule booking cancellation",
                      "duration": 2532
                    },
                    {
                      "title": "verify booking after reschedule on details page",
                      "duration": 49
                    },
                    {
                      "title": "verify booking after reschedule on list page",
                      "duration": 685
                    }
                  ],
                  "startTime": "2026-08-15T02:16:59.554Z",
                  "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": 9825,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 1292
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2497
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 49
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 255
                    },
                    {
                      "title": "cancel booking with initial option",
                      "duration": 2930
                    },
                    {
                      "title": "reschedule booking cancellation",
                      "duration": 1649
                    },
                    {
                      "title": "verify booking after reschedule on details page",
                      "duration": 43
                    },
                    {
                      "title": "verify booking after reschedule on list page",
                      "duration": 650
                    }
                  ],
                  "startTime": "2026-08-15T02:16:59.558Z",
                  "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": 9793,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 1592
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3221
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 39
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 285
                    },
                    {
                      "title": "cancel booking",
                      "duration": 2109
                    },
                    {
                      "title": "revoke booking cancellation",
                      "duration": 1309
                    },
                    {
                      "title": "verify booking after revoke on details page",
                      "duration": 37
                    },
                    {
                      "title": "verify booking after revoke on list page",
                      "duration": 695
                    }
                  ],
                  "startTime": "2026-08-15T02:16:59.564Z",
                  "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": 4802,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 436
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1725
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 33
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 67
                    },
                    {
                      "title": "cancel booking",
                      "duration": 1452
                    },
                    {
                      "title": "verify booking after cancel on details page",
                      "duration": 22
                    },
                    {
                      "title": "verify booking after cancel on list page",
                      "duration": 626
                    }
                  ],
                  "startTime": "2026-08-15T02:17:06.838Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4573,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 489
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1403
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 58
                    },
                    {
                      "title": "cancel booking",
                      "duration": 1474
                    },
                    {
                      "title": "verify booking after cancel on details page",
                      "duration": 21
                    },
                    {
                      "title": "verify booking after cancel on list page",
                      "duration": 666
                    }
                  ],
                  "startTime": "2026-08-15T02:17:08.521Z",
                  "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": 5515,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 544
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1473
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 38
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 119
                    },
                    {
                      "title": "cancel booking",
                      "duration": 2255
                    },
                    {
                      "title": "verify booking after cancel on details page",
                      "duration": 39
                    },
                    {
                      "title": "verify booking after cancel on list page",
                      "duration": 636
                    }
                  ],
                  "startTime": "2026-08-15T02:17:09.420Z",
                  "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": 8,
                  "parallelIndex": 3,
                  "status": "failed",
                  "duration": 35031,
                  "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": 539
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2345
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 34
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 146
                    },
                    {
                      "title": "cancel booking",
                      "duration": 1299
                    },
                    {
                      "title": "verify booking after cancel on details page",
                      "duration": 30029,
                      "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-15T02:17:09.451Z",
                  "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": 40496,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 389
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2421
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2431
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3312
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 357
                    },
                    {
                      "title": "create booking",
                      "duration": 801
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30122,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:17:11.658Z",
                  "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": 38180,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 439
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2836
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3130
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 66
                    },
                    {
                      "title": "create booking",
                      "duration": 486
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30416,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:17:52.749Z",
                  "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": 37428,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  15 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"15 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  15 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"15 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  15 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"15 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": 461
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2517
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 33
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 2969
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 96
                    },
                    {
                      "title": "create booking",
                      "duration": 440
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30273,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  15 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"15 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  15 Sep 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"15 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-15T02:18:31.589Z",
                  "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": 37865,
                  "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  13 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"13 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  13 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"13 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  13 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"13 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": 431
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2482
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 37
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3347
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 97
                    },
                    {
                      "title": "create booking",
                      "duration": 521
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30319,
                      "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  13 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"13 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  13 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"13 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-15T02:19:09.663Z",
                  "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": 37973,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  15 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    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 \"15 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  15 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    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 \"15 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  15 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    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 \"15 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 443
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2449
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 35
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3361
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 74
                    },
                    {
                      "title": "create booking",
                      "duration": 812
                    },
                    {
                      "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  15 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    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 \"15 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  15 Feb 2027\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    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 \"15 Feb 2027\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-15T02:19:48.120Z",
                  "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": 38372,
                  "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  25 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"25 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  25 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"25 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  25 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"25 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": 377
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3205
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 37
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3277
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 67
                    },
                    {
                      "title": "create booking",
                      "duration": 482
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30363,
                      "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  25 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"25 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  25 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"25 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-15T02:20:26.669Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-0c336--with-a-future-move-in-date-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-0c336--with-a-future-move-in-date-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-c9e7fa2b0a3ebee57c5d",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a note",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 28,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 37828,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 364
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2762
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 32
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3204
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 66
                    },
                    {
                      "title": "create booking",
                      "duration": 470
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30339,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:21:05.547Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-creates-a-booking-with-a-note-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-creates-a-booking-with-a-note-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-3ff60968cd177a04a164",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a fixed once discount",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 30,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 39252,
                  "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\"Recycled Sale fDaNNy\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Recycled Sale fDaNNy\"\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\"Recycled Sale fDaNNy\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Recycled Sale fDaNNy\"\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\"Recycled Sale fDaNNy\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Recycled Sale fDaNNy\"\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": 470
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2613
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 44
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 939
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3405
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 332
                    },
                    {
                      "title": "create booking",
                      "duration": 470
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30234,
                      "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\"Recycled Sale fDaNNy\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Recycled Sale fDaNNy\"\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\"Recycled Sale fDaNNy\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Recycled Sale fDaNNy\"\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-15T02:21:43.895Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-610e5--with-a-fixed-once-discount-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-create-cre-610e5--with-a-fixed-once-discount-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 25,
                    "line": 26
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "172088f15008fc3aa6ae-59e7a36bf00b71bee190",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 84,
          "column": 7
        },
        {
          "title": "creates a booking with a percentage forever discount",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 32,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 43860,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 472
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6129
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 38
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1929
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3579
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 335
                    },
                    {
                      "title": "create booking",
                      "duration": 462
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30288,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:22:23.715Z",
                  "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": 42893,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 481
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4226
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3334
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3111
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 311
                    },
                    {
                      "title": "create booking",
                      "duration": 463
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30236,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:23:08.147Z",
                  "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": 44657,
                  "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": 397
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3121
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 33
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5014
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3781
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 4059
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 352
                    },
                    {
                      "title": "create booking",
                      "duration": 823
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30112,
                      "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-15T02:23:51.701Z",
                  "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": 41038,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 Aug 2026\u001b[22m\n\u001b[2mShow preview\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:131:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 390
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2679
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2809
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3415
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 344
                    },
                    {
                      "title": "create booking",
                      "duration": 511
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30262,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:24:36.887Z",
                  "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": 46814,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 388
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3232
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 33
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3316
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 7736
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3734
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 340
                    },
                    {
                      "title": "create booking",
                      "duration": 496
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30242,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:25:18.559Z",
                  "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": 42364,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 365
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2549
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 7724
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 73
                    },
                    {
                      "title": "create booking",
                      "duration": 511
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30309,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:26:05.889Z",
                  "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": 42289,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 455
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2765
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 7460
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 59
                    },
                    {
                      "title": "create booking",
                      "duration": 490
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30333,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:26:48.972Z",
                  "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": 38497,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 396
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2824
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3650
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 71
                    },
                    {
                      "title": "create booking",
                      "duration": 515
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30386,
                      "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:27:31.923Z",
                  "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": 43230,
                  "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\"Luxurious Sale y7ewzr\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Luxurious Sale y7ewzr\"\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\"Luxurious Sale y7ewzr\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Luxurious Sale y7ewzr\"\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\"Luxurious Sale y7ewzr\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Luxurious Sale y7ewzr\"\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": 377
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2800
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3905
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1091
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3409
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 339
                    },
                    {
                      "title": "create booking",
                      "duration": 484
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30232,
                      "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\"Luxurious Sale y7ewzr\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Luxurious Sale y7ewzr\"\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\"Luxurious Sale y7ewzr\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Luxurious Sale y7ewzr\"\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-15T02:28:10.967Z",
                  "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": 41361,
                  "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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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": 389
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2805
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3007
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3409
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 330
                    },
                    {
                      "title": "create booking",
                      "duration": 507
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30303,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\nTimeout: 30000ms\n\u001b[32m- Expected  - 0\u001b[39m\n\u001b[31m+ Received  + 1\u001b[39m\n\n\u001b[2m  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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  22 Aug 2026\u001b[22m\n\u001b[31m+ Show preview\u001b[39m\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Next invoice\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"22 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-15T02:28:54.726Z",
                  "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": 47034,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€1\u001b[7m2\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€1\u001b[7m1\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€110.00\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€1\u001b[7m2\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€1\u001b[7m1\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€110.00\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€1\u001b[7m2\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€1\u001b[7m1\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€110.00\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 438
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4267
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3412
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3373
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3680
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 345
                    },
                    {
                      "title": "create booking",
                      "duration": 509
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30270,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€1\u001b[7m2\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€1\u001b[7m1\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€110.00\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€1\u001b[7m2\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€1\u001b[7m1\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€110.00\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-15T02:29:36.650Z",
                  "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": 43964,
                  "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 9tl8XE\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Generic Sale 9tl8XE\"\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 9tl8XE\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Generic Sale 9tl8XE\"\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 9tl8XE\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Generic Sale 9tl8XE\"\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": 475
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3003
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2952
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1416
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 4197
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 294
                    },
                    {
                      "title": "create booking",
                      "duration": 814
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30096,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator: getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\nExpected pattern: \u001b[32m/^(\\s*-?\\s*)$/\u001b[39m\nReceived string:  \u001b[31m\"Generic Sale 9tl8XE\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Generic Sale 9tl8XE\"\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 9tl8XE\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Generic Sale 9tl8XE\"\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-15T02:30:24.313Z",
                  "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": 46202,
                  "error": {
                    "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m6\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€60.00\"\u001b[22m\n",
                    "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m6\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€60.00\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                    "location": {
                      "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                      "column": 29,
                      "line": 21
                    },
                    "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                  },
                  "errors": [
                    {
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                        "column": 29,
                        "line": 21
                      },
                      "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m6\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€60.00\"\u001b[22m\n\n\n   at src/manager/shared/utils/expect-utils.ts:21\n\n  19 | ): Promise<void> {\n  20 |   text\n> 21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })\n     |                             ^\n  22 |     : await expectLocatorToBeEmpty(locator);\n  23 | }\n  24 |\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5"
                    }
                  ],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 454
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3949
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3479
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2634
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 3917
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 340
                    },
                    {
                      "title": "create booking",
                      "duration": 517
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30278,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m6\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€60.00\"\u001b[22m\n",
                        "stack": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveText\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m failed\n\nLocator:  getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\nExpected: \u001b[32m\"€\u001b[7m7\u001b[27m0.00\"\u001b[39m\nReceived: \u001b[31m\"€\u001b[7m6\u001b[27m0.00\"\u001b[39m\nTimeout:  30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"Billing\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Amount excl. VAT\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"€60.00\"\u001b[22m\n\n    at expectSingleLocatorToHaveText (/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts:21:29)\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:126:42\n    at /builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/booking/booking-create.spec.ts:113:5",
                        "location": {
                          "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                          "column": 29,
                          "line": 21
                        },
                        "snippet": "\u001b[90m   at \u001b[39msrc/manager/shared/utils/expect-utils.ts:21\n\n\u001b[0m \u001b[90m 19 |\u001b[39m )\u001b[33m:\u001b[39m \u001b[33mPromise\u001b[39m\u001b[33m<\u001b[39m\u001b[36mvoid\u001b[39m\u001b[33m>\u001b[39m {\n \u001b[90m 20 |\u001b[39m   text\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 21 |\u001b[39m     \u001b[33m?\u001b[39m \u001b[36mawait\u001b[39m expect(locator)\u001b[33m.\u001b[39mtoHaveText(text\u001b[33m,\u001b[39m { ignoreCase\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m\u001b[33m,\u001b[39m useInnerText\u001b[33m:\u001b[39m \u001b[36mtrue\u001b[39m })\n \u001b[90m    |\u001b[39m                             \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 22 |\u001b[39m     \u001b[33m:\u001b[39m \u001b[36mawait\u001b[39m expectLocatorToBeEmpty(locator)\u001b[33m;\u001b[39m\n \u001b[90m 23 |\u001b[39m }\n \u001b[90m 24 |\u001b[39m\u001b[0m"
                      }
                    }
                  ],
                  "startTime": "2026-08-15T02:31:08.931Z",
                  "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": 53787,
                  "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\"Practical Sale qpZ3EG\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Practical Sale qpZ3EG\"\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\"Practical Sale qpZ3EG\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Practical Sale qpZ3EG\"\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\"Practical Sale qpZ3EG\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Practical Sale qpZ3EG\"\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": 382
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3131
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5117
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3780
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4911
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2342
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1164
                    },
                    {
                      "title": "fill booking create form",
                      "duration": 4886
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 368
                    },
                    {
                      "title": "create booking",
                      "duration": 533
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 30210,
                      "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\"Practical Sale qpZ3EG\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Practical Sale qpZ3EG\"\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\"Practical Sale qpZ3EG\"\u001b[39m\nTimeout: 30000ms\n\nCall log:\n\u001b[2m  - Expect \"toHaveText\" with timeout 30000ms\u001b[22m\n\u001b[2m  - waiting for getByTestId('app-page').getByTestId('app-page-content').locator('[data-test-id=app-details-card]:has([data-test-id=title]:has-text(\"General\"))').locator('[data-test-id=key-value-item]:has([data-test-id=key]:text-is(\"Discount\"))').getByTestId('value')\u001b[22m\n\u001b[2m    64 × locator resolved to <td data-v-15a5d3d2=\"\" data-test-id=\"value\" class=\"col-content pl-1 col-align-top\">…</td>\u001b[22m\n\u001b[2m       - unexpected value \"Practical Sale qpZ3EG\"\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-15T02:31:55.723Z",
                  "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-15T02:32:50.173Z",
                  "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-15T02:32:50.173Z",
                  "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-15T02:32:50.173Z",
                  "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-15T02:32:50.173Z",
                  "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-15T02:32:50.174Z",
                  "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-15T02:32:50.174Z",
                  "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-15T02:32:50.174Z",
                  "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-15T02:32:50.174Z",
                  "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": 20270,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 404
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3021
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 6022
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 4367
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1255
                    },
                    {
                      "title": "create booking",
                      "duration": 4659
                    },
                    {
                      "title": "verify the discount is not shown on the details page",
                      "duration": 94
                    }
                  ],
                  "startTime": "2026-08-15T02:32:50.174Z",
                  "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": 16097,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 474
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 11146
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "create booking",
                      "duration": 3827
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 156
                    }
                  ],
                  "startTime": "2026-08-15T02:33:10.503Z",
                  "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": 7183,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 429
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2597
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "create booking",
                      "duration": 3532
                    },
                    {
                      "title": "verify new booking on details page",
                      "duration": 132
                    }
                  ],
                  "startTime": "2026-08-15T02:33:26.606Z",
                  "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": 52511,
                  "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": 374
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6899
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "add a second payment method after the first",
                      "duration": 13805
                    },
                    {
                      "title": "create booking",
                      "duration": 504
                    },
                    {
                      "title": "verify the booking uses the most recently added method",
                      "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(\"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-15T02:33:33.797Z",
                  "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-15T02:34:27.183Z",
                  "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-15T02:34:27.184Z",
                  "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-15T02:34:27.184Z",
                  "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-15T02:34:27.184Z",
                  "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-15T02:34:27.184Z",
                  "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-15T02:34:27.184Z",
                  "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-15T02:34:27.184Z",
                  "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-15T02:34:27.184Z",
                  "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-15T02:34:27.184Z",
                  "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-15T02:34:27.184Z",
                  "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": 42221,
                  "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": 604
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2357
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 44
                    },
                    {
                      "title": "submit booking",
                      "duration": 8188
                    },
                    {
                      "title": "verify the payment limit error",
                      "duration": 30030,
                      "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-15T02:34:27.185Z",
                  "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": 1299,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid booking create form",
                      "duration": 681
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 58
                    }
                  ],
                  "startTime": "2026-08-15T02:35:10.278Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "172088f15008fc3aa6ae-ea98074e442139f45ce4",
          "file": "src/manager/tests/e2e/booking/booking-create.spec.ts",
          "line": 996,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/booking/booking-edit-notes.spec.ts",
      "file": "src/manager/tests/e2e/booking/booking-edit-notes.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the note of a booking",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4322,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 503
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2262
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 124
                    },
                    {
                      "title": "edit booking note",
                      "duration": 976
                    },
                    {
                      "title": "verify new note on details page",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-15T02:17:13.103Z",
                  "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": 4601,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 717
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2393
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 51
                    },
                    {
                      "title": "edit booking note",
                      "duration": 983
                    },
                    {
                      "title": "verify new note on details page",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-15T02:17:14.944Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9313ea1517b230752e5a-dd2740066a346a55d97e",
          "file": "src/manager/tests/e2e/booking/booking-edit-notes.spec.ts",
          "line": 6,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
      "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "filters bookings by id",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3989,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 370
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2468
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 96
                    },
                    {
                      "title": "apply filter",
                      "duration": 544
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 91
                    }
                  ],
                  "startTime": "2026-08-15T02:17:17.433Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-3bc5c9972b5ca8f1acdf",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 13,
          "column": 5
        },
        {
          "title": "filters bookings by customer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4326,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 472
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2678
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 34
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 123
                    },
                    {
                      "title": "apply filter",
                      "duration": 522
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 102
                    }
                  ],
                  "startTime": "2026-08-15T02:17:21.428Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-9f97d1e00a0cce0e1121",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 27,
          "column": 5
        },
        {
          "title": "filters bookings by unit",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4264,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 481
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2557
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 34
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 68
                    },
                    {
                      "title": "apply filter",
                      "duration": 579
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 112
                    }
                  ],
                  "startTime": "2026-08-15T02:17:25.761Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-4dc21b1138dc8a99a911",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 46,
          "column": 5
        },
        {
          "title": "filters bookings by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4106,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 380
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2362
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 71
                    },
                    {
                      "title": "apply filter",
                      "duration": 612
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 228
                    }
                  ],
                  "startTime": "2026-08-15T02:17:30.032Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-3c0a069cba6f25a5d893",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 60,
          "column": 5
        },
        {
          "title": "filters bookings by status",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4147,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 464
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2361
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 30
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 64
                    },
                    {
                      "title": "apply filter",
                      "duration": 612
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 218
                    }
                  ],
                  "startTime": "2026-08-15T02:17:34.146Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-8304a2d5036d1c158d86",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 77,
          "column": 5
        },
        {
          "title": "filters bookings by unit type",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4015,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 496
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2414
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 33
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 61
                    },
                    {
                      "title": "apply filter",
                      "duration": 554
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 40
                    }
                  ],
                  "startTime": "2026-08-15T02:17:38.302Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-fe55f5f3c5f5f9623fab",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 94,
          "column": 5
        },
        {
          "title": "filters bookings by created-at",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4745,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 385
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2488
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 128
                    },
                    {
                      "title": "apply filter",
                      "duration": 1128
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 207
                    }
                  ],
                  "startTime": "2026-08-15T02:17:42.324Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-c461b25b5692336f5ef3",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 112,
          "column": 5
        },
        {
          "title": "filters bookings by customer, location, status, unit type and created-at",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5330,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 402
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2350
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 51
                    },
                    {
                      "title": "apply filters",
                      "duration": 2012
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 99
                    }
                  ],
                  "startTime": "2026-08-15T02:17:47.076Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f572c1d9a05f34d2d04-cf39b78e5c3f668f1046",
          "file": "src/manager/tests/e2e/booking/booking-filter.spec.ts",
          "line": 129,
          "column": 5
        },
        {
          "title": "excludes bookings that do not match the status filter",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4084,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 402
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2416
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 48
                    },
                    {
                      "title": "apply filter",
                      "duration": 791
                    },
                    {
                      "title": "verify booking is excluded",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-15T02:17:52.413Z",
                  "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": 4204,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 501
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2330
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 101
                    },
                    {
                      "title": "navigate to booking details page",
                      "duration": 735
                    },
                    {
                      "title": "verify booking details page",
                      "duration": 121
                    }
                  ],
                  "startTime": "2026-08-15T02:17:19.551Z",
                  "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": 1140,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog from list",
                      "duration": 380
                    },
                    {
                      "title": "verify booking create dialog is open",
                      "duration": 373
                    }
                  ],
                  "startTime": "2026-08-15T02:17:23.764Z",
                  "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": 120221,
                  "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": 544
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2373
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 56
                    },
                    {
                      "title": "setup: create booking price change via API",
                      "duration": 47
                    },
                    {
                      "title": "remove the price adjustment",
                      "duration": 116747,
                      "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-15T02:17:24.912Z",
                  "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": 120156,
                  "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": 480
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2434
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 30
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 102
                    },
                    {
                      "title": "setup: create booking price change via API",
                      "duration": 33
                    },
                    {
                      "title": "remove the price adjustment",
                      "duration": 116550,
                      "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-15T02:19:25.651Z",
                  "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": 120159,
                  "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": 385
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2473
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 111
                    },
                    {
                      "title": "setup: create booking price change via API",
                      "duration": 28
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 689
                    },
                    {
                      "title": "remove the price adjustment",
                      "duration": 116020,
                      "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-15T02:21:26.300Z",
                  "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": 3,
                  "status": "failed",
                  "duration": 42308,
                  "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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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": 377
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2372
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2663
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2359
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 128
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 662
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2454
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30590,
                      "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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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-15T02:17:45.046Z",
                  "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": 3,
                  "status": "failed",
                  "duration": 37279,
                  "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 2\u001b[7m9\u001b[27m A\u001b[7mug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 2\u001b[7m5\u001b[27m A\u001b[7mUG\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 25 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 25 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 2\u001b[7m9\u001b[27m A\u001b[7mug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 2\u001b[7m5\u001b[27m A\u001b[7mUG\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 25 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 25 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 2\u001b[7m9\u001b[27m A\u001b[7mug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 2\u001b[7m5\u001b[27m A\u001b[7mUG\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 25 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 25 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": 2349
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 34
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 61
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 702
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2430
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30633,
                      "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 2\u001b[7m9\u001b[27m A\u001b[7mug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 2\u001b[7m5\u001b[27m A\u001b[7mUG\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 25 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 25 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 2\u001b[7m9\u001b[27m A\u001b[7mug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 2\u001b[7m5\u001b[27m A\u001b[7mUG\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 25 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 25 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-15T02:18:28.001Z",
                  "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": 3,
                  "status": "failed",
                  "duration": 37286,
                  "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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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": 382
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2338
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 60
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 777
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2483
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30623,
                      "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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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-15T02:19:05.871Z",
                  "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": 3,
                  "status": "failed",
                  "duration": 39836,
                  "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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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": 374
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2408
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2494
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 154
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 715
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2430
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30618,
                      "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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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-15T02:19:43.706Z",
                  "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": 3,
                  "status": "failed",
                  "duration": 39690,
                  "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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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": 418
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2433
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 30
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2317
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 74
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 738
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2483
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30580,
                      "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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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-15T02:20:24.115Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-c26ec-ing-product-price-by-amount-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-c26ec-ing-product-price-by-amount-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-e7c2ce12ed9f051d1fcc",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "decreases a multi-piece recurring product price by percentage",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 27,
                  "parallelIndex": 3,
                  "status": "failed",
                  "duration": 42324,
                  "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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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": 376
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2487
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 22
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5023
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 118
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 729
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2438
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30497,
                      "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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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-15T02:21:04.364Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-4477e-product-price-by-percentage-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-4477e-product-price-by-percentage-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-bbceffd173494d8bf7bc",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "increases the unit price by percentage on a monthly plan",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 31,
                  "parallelIndex": 3,
                  "status": "failed",
                  "duration": 37415,
                  "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 15 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 15 \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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 15 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 15 \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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 15 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 15 \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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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": 452
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2486
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 30
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 56
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 711
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2415
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30645,
                      "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 15 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 15 \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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 15 \u001b[7mSep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM\u001b[27m 15 \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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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-15T02:21:47.315Z",
                  "annotations": [],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-3a1d0-ercentage-on-a-monthly-plan-manager-e2e/error-context.md"
                    },
                    {
                      "name": "trace",
                      "contentType": "application/zip",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/booking-booking-price-chan-3a1d0-ercentage-on-a-monthly-plan-manager-e2e/trace.zip"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/shared/utils/expect-utils.ts",
                    "column": 29,
                    "line": 21
                  }
                }
              ],
              "status": "unexpected"
            }
          ],
          "id": "3f93f43ea619b2147d92-b802bef6aa099f90ba15",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "decreases the unit price by percentage on a multi-week plan",
          "ok": false,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 33,
                  "parallelIndex": 3,
                  "status": "failed",
                  "duration": 37169,
                  "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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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": 564
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2396
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 55
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 690
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2326
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30531,
                      "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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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-15T02:22:25.311Z",
                  "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": 3,
                  "status": "failed",
                  "duration": 37276,
                  "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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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": 448
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2509
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 54
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 652
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2445
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30527,
                      "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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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-15T02:23:03.111Z",
                  "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": 3,
                  "status": "failed",
                  "duration": 42652,
                  "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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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": 531
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2931
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 40
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3992
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2744
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 136
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 770
                    },
                    {
                      "title": "apply the price change",
                      "duration": 2454
                    },
                    {
                      "title": "verify the price adjustment on the details page",
                      "duration": 30624,
                      "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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 12 Sep\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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-15T02:23:41.043Z",
                  "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": 3,
                  "status": "failed",
                  "duration": 40131,
                  "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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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": 410
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2704
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 22
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2633
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 51
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 52
                    },
                    {
                      "title": "select both bookings in the list",
                      "duration": 722
                    },
                    {
                      "title": "apply one price change to both bookings",
                      "duration": 2394
                    },
                    {
                      "title": "verify the price adjustment on booking 469491346886197",
                      "duration": 30534,
                      "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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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 22 Aug\u001b[27m 2026\"\u001b[39m\nReceived: \u001b[31m\"\u001b[7mAPPLIED FROM 15 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 15 Aug 2026</span>\u001b[22m\n\u001b[2m       - unexpected value \"APPLIED FROM 15 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-15T02:24:24.242Z",
                  "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": 3,
                  "status": "passed",
                  "duration": 6746,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 453
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4732
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 56
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 683
                    },
                    {
                      "title": "submit the price change form",
                      "duration": 379
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 23
                    }
                  ],
                  "startTime": "2026-08-15T02:25:04.958Z",
                  "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": 3,
                  "status": "passed",
                  "duration": 9329,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 392
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3896
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 51
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 654
                    },
                    {
                      "title": "open the price change dialog",
                      "duration": 57
                    },
                    {
                      "title": "verify increase of 1001 (percentage) is rejected",
                      "duration": 1464
                    },
                    {
                      "title": "verify decrease of 101 (percentage) is rejected",
                      "duration": 1210
                    },
                    {
                      "title": "verify increase of 5001 (amount) is rejected",
                      "duration": 1224
                    }
                  ],
                  "startTime": "2026-08-15T02:25:11.761Z",
                  "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": 3,
                  "status": "failed",
                  "duration": 36537,
                  "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": 417
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2973
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 51
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 644
                    },
                    {
                      "title": "apply the price change",
                      "duration": 1879
                    },
                    {
                      "title": "verify the error snackbar",
                      "duration": 30016,
                      "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-15T02:25:21.098Z",
                  "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": 3,
                  "status": "passed",
                  "duration": 4382,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 365
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2834
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 51
                    },
                    {
                      "title": "select the scheduled booking in the list",
                      "duration": 698
                    },
                    {
                      "title": "verify the price adjustment action is disabled",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:25:58.167Z",
                  "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": 3,
                  "status": "passed",
                  "duration": 4472,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 380
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2898
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 34
                    },
                    {
                      "title": "setup: create booking via API",
                      "duration": 48
                    },
                    {
                      "title": "setup: create booking price change via API",
                      "duration": 15
                    },
                    {
                      "title": "select the booking in the list",
                      "duration": 717
                    },
                    {
                      "title": "verify the price adjustment action is disabled",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-15T02:26:02.609Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "3f93f43ea619b2147d92-5b6d0c67e8a0bad5840e",
          "file": "src/manager/tests/e2e/booking/booking-price-change.spec.ts",
          "line": 244,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-create.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates a private customer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4932,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 3511
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 435
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 574
                    }
                  ],
                  "startTime": "2026-08-15T02:17:56.509Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-f5faa7d94cc8d306d33b",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "creates a business customer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4905,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 3638
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 287
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 572
                    }
                  ],
                  "startTime": "2026-08-15T02:18:01.448Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-55bdd50991b7f441790a",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "creates a business customer with vat type and vat number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5397,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 4223
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 252
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 532
                    }
                  ],
                  "startTime": "2026-08-15T02:18:06.359Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-0cb66274a90cf475ffa2",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "creates a customer with a note",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4806,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 3634
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 207
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 581
                    }
                  ],
                  "startTime": "2026-08-15T02:18:11.762Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-36f4fc284d4339e8d467",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "creates a customer with an accounts receivable number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4680,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 3512
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 180
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 595
                    }
                  ],
                  "startTime": "2026-08-15T02:18:16.574Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-b5b520c671fc7fe7e53e",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "creates a customer with multiple locations",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5079,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 4084
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 121
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 503
                    }
                  ],
                  "startTime": "2026-08-15T02:18:21.259Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-cadd511bc116eee8cdfb",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "creates a customer with russian language",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4163,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create customer",
                      "duration": 3218
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 112
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 491
                    }
                  ],
                  "startTime": "2026-08-15T02:18:26.343Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-d786b703ce33dc47b61d",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 16,
          "column": 7
        },
        {
          "title": "rejects a private customer without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3574,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid customer create form",
                      "duration": 3174
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 27
                    }
                  ],
                  "startTime": "2026-08-15T02:18:30.511Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-de2c785c97ed1763fa14",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 105,
          "column": 5
        },
        {
          "title": "rejects a business customer without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3144,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid customer create form",
                      "duration": 2744
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 21
                    }
                  ],
                  "startTime": "2026-08-15T02:18:34.089Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-f0a0c5ad3050e575a6e4",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 120,
          "column": 5
        },
        {
          "title": "rejects a customer with a duplicate email",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3563,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 428
                    },
                    {
                      "title": "submit customer create form with duplicate email",
                      "duration": 2694
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 65
                    }
                  ],
                  "startTime": "2026-08-15T02:18:37.239Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-ced35de194b6c6e4560a",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 135,
          "column": 5
        },
        {
          "title": "rejects a customer with a duplicate phone number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3394,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 399
                    },
                    {
                      "title": "submit customer create form with duplicate phone number",
                      "duration": 2571
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 56
                    }
                  ],
                  "startTime": "2026-08-15T02:18:40.809Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-3ae07203a9baa99309a7",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 151,
          "column": 5
        },
        {
          "title": "rejects a customer with a vat number that does not match the vat type",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3353,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit customer create form with mismatched vat type and number",
                      "duration": 2617
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 379
                    }
                  ],
                  "startTime": "2026-08-15T02:18:44.209Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "7ff6ce296dbf2af565a2-ce1f972dfdc8749cac6c",
          "file": "src/manager/tests/e2e/customer/customer-create.spec.ts",
          "line": 167,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-delete.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-delete.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes a lead customer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2475,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 435
                    },
                    {
                      "title": "delete customer",
                      "duration": 1389
                    },
                    {
                      "title": "verify customer is no longer on list page",
                      "duration": 288
                    }
                  ],
                  "startTime": "2026-08-15T02:18:47.567Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "88b47d14a396273e5c6f-82736af1c1784ade33c9",
          "file": "src/manager/tests/e2e/customer/customer-delete.spec.ts",
          "line": 5,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-edit-details.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-edit-details.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the accounts receivable number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2658,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 463
                    },
                    {
                      "title": "edit customer details",
                      "duration": 1820
                    },
                    {
                      "title": "verify accounts receivable number on details page",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-15T02:18:50.048Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "109739bc53752ea62618-439fb77157625e028e08",
          "file": "src/manager/tests/e2e/customer/customer-edit-details.spec.ts",
          "line": 8,
          "column": 7
        },
        {
          "title": "removes the accounts receivable number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2384,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 522
                    },
                    {
                      "title": "edit customer details",
                      "duration": 1506
                    },
                    {
                      "title": "verify accounts receivable number on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:18:52.711Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "109739bc53752ea62618-aedf28bbb76036924aed",
          "file": "src/manager/tests/e2e/customer/customer-edit-details.spec.ts",
          "line": 8,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the type from private to business",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3950,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 418
                    },
                    {
                      "title": "edit customer general",
                      "duration": 2528
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 85
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 532
                    }
                  ],
                  "startTime": "2026-08-15T02:18:55.102Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-659312f83cd465a1b98e",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "edits the type from business to private",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3325,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 407
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1925
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 83
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 531
                    }
                  ],
                  "startTime": "2026-08-15T02:18:59.057Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-bedecebe56eabeb08b3a",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "edits the language",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3074,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 396
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1686
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 85
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 527
                    }
                  ],
                  "startTime": "2026-08-15T02:19:02.387Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-bad4dbc7e01fb5102081",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "edits the address",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3293,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 524
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1776
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 76
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 539
                    }
                  ],
                  "startTime": "2026-08-15T02:19:05.466Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-addde111f7bcb88c3911",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "adds another location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3833,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 497
                    },
                    {
                      "title": "edit customer general",
                      "duration": 2044
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 126
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 600
                    }
                  ],
                  "startTime": "2026-08-15T02:19:08.765Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-bc2a85d07a0637f1a5e0",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "edits the note",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3525,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 426
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1962
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 91
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 623
                    }
                  ],
                  "startTime": "2026-08-15T02:19:12.605Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-913f5c8e7441738ef2de",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "removes the note",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3090,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 433
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1575
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 88
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 578
                    }
                  ],
                  "startTime": "2026-08-15T02:19:16.137Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-a64f0226043159bf1b3c",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "removes the vat number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3120,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 426
                    },
                    {
                      "title": "edit customer general",
                      "duration": 1573
                    },
                    {
                      "title": "verify new customer on details page",
                      "duration": 98
                    },
                    {
                      "title": "verify new customer on list page",
                      "duration": 617
                    }
                  ],
                  "startTime": "2026-08-15T02:19:19.235Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-29d9ce97da6622be3213",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "edits the email",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2981,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 549
                    },
                    {
                      "title": "edit customer email",
                      "duration": 1565
                    },
                    {
                      "title": "verify new email on details page",
                      "duration": 14
                    },
                    {
                      "title": "verify new email on list page",
                      "duration": 469
                    }
                  ],
                  "startTime": "2026-08-15T02:19:22.360Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-be0e91b0ed35fb05e05d",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 103,
          "column": 5
        },
        {
          "title": "edits the phone number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4156,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 393
                    },
                    {
                      "title": "edit customer phone number",
                      "duration": 2893
                    },
                    {
                      "title": "verify new phone number on details page",
                      "duration": 12
                    },
                    {
                      "title": "verify new phone number on list page",
                      "duration": 466
                    }
                  ],
                  "startTime": "2026-08-15T02:19:25.346Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-11548907c04d6c5c914c",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 125,
          "column": 5
        },
        {
          "title": "rejects an edit with a duplicate email",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1892,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 368
                    },
                    {
                      "title": "setup: create customer via API",
                      "duration": 416
                    },
                    {
                      "title": "submit edit with duplicate email",
                      "duration": 675
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 50
                    }
                  ],
                  "startTime": "2026-08-15T02:19:29.508Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-7e1a29efb867e6162061",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 149,
          "column": 5
        },
        {
          "title": "rejects an edit with a duplicate phone number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3574,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 378
                    },
                    {
                      "title": "setup: create customer via API",
                      "duration": 384
                    },
                    {
                      "title": "submit edit with duplicate phone number",
                      "duration": 2034
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 58
                    }
                  ],
                  "startTime": "2026-08-15T02:19:31.405Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-e2e195c3797ea3fade1c",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 167,
          "column": 5
        },
        {
          "title": "rejects an edit with a vat number that does not match the vat type",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2525,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 370
                    },
                    {
                      "title": "submit edit with mismatched vat type and number",
                      "duration": 898
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 879
                    }
                  ],
                  "startTime": "2026-08-15T02:19:34.985Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-bfd0dfeb46a79df1133a",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 185,
          "column": 5
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1545,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 481
                    },
                    {
                      "title": "submit edit clearing required fields",
                      "duration": 674
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-15T02:19:37.515Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c49ae37fe0dbc4efdabe-22caf72786632ed584e5",
          "file": "src/manager/tests/e2e/customer/customer-edit-general.spec.ts",
          "line": 205,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "filters by id",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1334,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 424
                    },
                    {
                      "title": "apply filter",
                      "duration": 474
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 64
                    }
                  ],
                  "startTime": "2026-08-15T02:19:39.066Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-30019fa42b1b9e23f8b4",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 10,
          "column": 5
        },
        {
          "title": "filters by name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1359,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 437
                    },
                    {
                      "title": "apply filter",
                      "duration": 475
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 89
                    }
                  ],
                  "startTime": "2026-08-15T02:19:40.404Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-56055e5f68ef5d4c56da",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 26,
          "column": 5
        },
        {
          "title": "filters by email",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1295,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 382
                    },
                    {
                      "title": "apply filter",
                      "duration": 475
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 77
                    }
                  ],
                  "startTime": "2026-08-15T02:19:41.769Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-b0137de9e966876baf10",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 42,
          "column": 5
        },
        {
          "title": "filters by phone number",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1728,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 457
                    },
                    {
                      "title": "apply filter",
                      "duration": 473
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 77
                    }
                  ],
                  "startTime": "2026-08-15T02:19:43.069Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-43bc6e331d82fe7bb2f9",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 61,
          "column": 5
        },
        {
          "title": "filters by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1263,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 388
                    },
                    {
                      "title": "apply filter",
                      "duration": 404
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 107
                    }
                  ],
                  "startTime": "2026-08-15T02:19:44.803Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-4665dc66c70b4fdaefcc",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 77,
          "column": 5
        },
        {
          "title": "filters by status=lead",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1268,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 379
                    },
                    {
                      "title": "apply filter",
                      "duration": 413
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 131
                    }
                  ],
                  "startTime": "2026-08-15T02:19:46.071Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-808dfd79c52d0c3719ae",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 97,
          "column": 5
        },
        {
          "title": "excludes lead customers when filtering status=active",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1461,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 369
                    },
                    {
                      "title": "apply filter",
                      "duration": 719
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 10
                    }
                  ],
                  "startTime": "2026-08-15T02:19:47.345Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-14833c9b7ed3d3fabb21",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 113,
          "column": 5
        },
        {
          "title": "filters by has-past-due-invoices=none",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1357,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 368
                    },
                    {
                      "title": "apply filter",
                      "duration": 456
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 146
                    }
                  ],
                  "startTime": "2026-08-15T02:19:48.812Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-e52df37b58bc987b00c3",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 128,
          "column": 5
        },
        {
          "title": "filters by email, location and has-past-due-invoices",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1724,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 365
                    },
                    {
                      "title": "apply filter",
                      "duration": 948
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 10
                    }
                  ],
                  "startTime": "2026-08-15T02:19:50.174Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-ad2c3bd0596653cfe8ac",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 148,
          "column": 5
        },
        {
          "title": "filters by id, location, status and has-past-due-invoices",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1968,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 458
                    },
                    {
                      "title": "apply filter",
                      "duration": 1100
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:19:51.905Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-0c5c293f9e49b0025206",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 164,
          "column": 5
        },
        {
          "title": "excludes customers not in the filtered location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1543,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 391
                    },
                    {
                      "title": "apply filter",
                      "duration": 750
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-15T02:19:53.879Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-8ca0f023f24acc4e1cf5",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 181,
          "column": 5
        },
        {
          "title": "excludes customers without past-due invoices when filtering has-past-due-invoices=yes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1635,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 488
                    },
                    {
                      "title": "apply filter",
                      "duration": 733
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-15T02:19:55.431Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "a949b1c5830457cfa9d5-c0b58aabfe3cc8375dcf",
          "file": "src/manager/tests/e2e/customer/customer-filter.spec.ts",
          "line": 196,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-navigate.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-navigate.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "navigates from the customer list to the customer details page",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1526,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 410
                    },
                    {
                      "title": "navigate to customer details page",
                      "duration": 638
                    },
                    {
                      "title": "verify customer details page",
                      "duration": 99
                    }
                  ],
                  "startTime": "2026-08-15T02:19:57.073Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "ca269772659311347d43-d6a8a6886c5f2294984d",
          "file": "src/manager/tests/e2e/customer/customer-navigate.spec.ts",
          "line": 7,
          "column": 5
        },
        {
          "title": "navigates from the customer list to the customer create dialog",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1014,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open customer create dialog from list",
                      "duration": 289
                    },
                    {
                      "title": "verify customer create dialog is open",
                      "duration": 349
                    }
                  ],
                  "startTime": "2026-08-15T02:19:58.605Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "ca269772659311347d43-8f169967a7e6754d00fd",
          "file": "src/manager/tests/e2e/customer/customer-navigate.spec.ts",
          "line": 23,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/customer/customer-set-password.spec.ts",
      "file": "src/manager/tests/e2e/customer/customer-set-password.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "sets a password",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2483,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 680
                    },
                    {
                      "title": "set password",
                      "duration": 1359
                    }
                  ],
                  "startTime": "2026-08-15T02:19:59.626Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "07f2253dcb9dcc7c415f-8fc300f0009d3555c6f6",
          "file": "src/manager/tests/e2e/customer/customer-set-password.spec.ts",
          "line": 5,
          "column": 5
        },
        {
          "title": "rejects setting a password when confirm password does not match",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1820,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 416
                    },
                    {
                      "title": "submit set-password form with mismatched confirm",
                      "duration": 1008
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-15T02:20:02.118Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "07f2253dcb9dcc7c415f-a370f30167d6e12ae993",
          "file": "src/manager/tests/e2e/customer/customer-set-password.spec.ts",
          "line": 17,
          "column": 5
        },
        {
          "title": "rejects setting a weak password",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1885,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 453
                    },
                    {
                      "title": "submit set-password form with a weak password",
                      "duration": 1040
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-15T02:20:03.944Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "07f2253dcb9dcc7c415f-c50a0a7d87c95abd0ad4",
          "file": "src/manager/tests/e2e/customer/customer-set-password.spec.ts",
          "line": 40,
          "column": 5
        },
        {
          "title": "rejects setting a password without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 1694,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 458
                    },
                    {
                      "title": "submit set-password form with cleared required fields",
                      "duration": 842
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-15T02:20:05.834Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "07f2253dcb9dcc7c415f-c7ce7fa199e7ee0047a3",
          "file": "src/manager/tests/e2e/customer/customer-set-password.spec.ts",
          "line": 58,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
      "file": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates a deposit with zero taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2434,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create deposit",
                      "duration": 1579
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 72
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 409
                    }
                  ],
                  "startTime": "2026-08-15T02:20:07.538Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "cba673659e7f1f6bd0fc-be2529f24282f7c69049",
          "file": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
          "line": 11,
          "column": 7
        },
        {
          "title": "creates a deposit with equal b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3196,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create deposit",
                      "duration": 2332
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 88
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 412
                    }
                  ],
                  "startTime": "2026-08-15T02:20:09.977Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "cba673659e7f1f6bd0fc-cc67a00c4841367d9a89",
          "file": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
          "line": 11,
          "column": 7
        },
        {
          "title": "creates a deposit with mixed b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3270,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create deposit",
                      "duration": 2428
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 79
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 404
                    }
                  ],
                  "startTime": "2026-08-15T02:20:13.178Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "cba673659e7f1f6bd0fc-5f996d87d967c8e3e25c",
          "file": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
          "line": 11,
          "column": 7
        },
        {
          "title": "rejects a deposit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 863,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid deposit create form",
                      "duration": 474
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-15T02:20:16.453Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "cba673659e7f1f6bd0fc-c0d7b858fe942de6c1c7",
          "file": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
          "line": 52,
          "column": 5
        },
        {
          "title": "rejects a deposit with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2627,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1510
                    },
                    {
                      "title": "submit deposit create form with duplicate name",
                      "duration": 700
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 61
                    }
                  ],
                  "startTime": "2026-08-15T02:20:17.321Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "cba673659e7f1f6bd0fc-00336ab762b3c701d7c6",
          "file": "src/manager/tests/e2e/deposit/deposit-create.spec.ts",
          "line": 62,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/deposit/deposit-delete.spec.ts",
      "file": "src/manager/tests/e2e/deposit/deposit-delete.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes a deposit that is not used by any bookings",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3440,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1400
                    },
                    {
                      "title": "delete deposit",
                      "duration": 1417
                    },
                    {
                      "title": "verify deposit is no longer on list page",
                      "duration": 283
                    }
                  ],
                  "startTime": "2026-08-15T02:20:19.955Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "47e937dc020653e32743-bb8f0facf811a90035fd",
          "file": "src/manager/tests/e2e/deposit/deposit-delete.spec.ts",
          "line": 6,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
      "file": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3520,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1421
                    },
                    {
                      "title": "edit deposit general",
                      "duration": 1328
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 14
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 424
                    }
                  ],
                  "startTime": "2026-08-15T02:20:23.401Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c5839ebd1bfb68300a0c-567bb89ee958025092da",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "edits the price",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3644,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1375
                    },
                    {
                      "title": "edit deposit general",
                      "duration": 1414
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 18
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 464
                    }
                  ],
                  "startTime": "2026-08-15T02:20:26.927Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c5839ebd1bfb68300a0c-8adcfecafc57f89686a1",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "edits the name and price",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4309,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1559
                    },
                    {
                      "title": "edit deposit general",
                      "duration": 1877
                    },
                    {
                      "title": "verify new deposit on details page",
                      "duration": 18
                    },
                    {
                      "title": "verify new deposit on list page",
                      "duration": 472
                    }
                  ],
                  "startTime": "2026-08-15T02:20:30.576Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c5839ebd1bfb68300a0c-4ec47169942cc23eebc5",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2347,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1395
                    },
                    {
                      "title": "submit edit clearing the name",
                      "duration": 581
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-15T02:20:34.891Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c5839ebd1bfb68300a0c-19ca683805e60e866cb7",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
          "line": 46,
          "column": 5
        },
        {
          "title": "rejects an edit with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3820,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1499
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1360
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 563
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 54
                    }
                  ],
                  "startTime": "2026-08-15T02:20:37.243Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c5839ebd1bfb68300a0c-478c406529cf384efb04",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-general.spec.ts",
          "line": 63,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/deposit/deposit-edit-tax.spec.ts",
      "file": "src/manager/tests/e2e/deposit/deposit-edit-tax.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the b2c tax",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2875,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1375
                    },
                    {
                      "title": "edit deposit tax",
                      "duration": 1151
                    },
                    {
                      "title": "verify new deposit tax on details page",
                      "duration": 10
                    }
                  ],
                  "startTime": "2026-08-15T02:20:41.069Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "902dcb1cf333e7cf2936-2b08f9f3e6623de0a8d2",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits the b2b tax",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2852,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1416
                    },
                    {
                      "title": "edit deposit tax",
                      "duration": 1084
                    },
                    {
                      "title": "verify new deposit tax on details page",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-15T02:20:43.950Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "902dcb1cf333e7cf2936-fb46373676ef90f293bc",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits both b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3100,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1393
                    },
                    {
                      "title": "edit deposit tax",
                      "duration": 1362
                    },
                    {
                      "title": "verify new deposit tax on details page",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-15T02:20:46.806Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "902dcb1cf333e7cf2936-82150ac970080afe606d",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2304,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1330
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 611
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:20:49.911Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "902dcb1cf333e7cf2936-d1bd593cc500fc1baf40",
          "file": "src/manager/tests/e2e/deposit/deposit-edit-tax.spec.ts",
          "line": 26,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/deposit/deposit-filter.spec.ts",
      "file": "src/manager/tests/e2e/deposit/deposit-filter.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "filters by id",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2231,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1368
                    },
                    {
                      "title": "apply filter",
                      "duration": 462
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 53
                    }
                  ],
                  "startTime": "2026-08-15T02:20:52.224Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "714dec3bb8e9476c7695-3f519ac57fa16f298729",
          "file": "src/manager/tests/e2e/deposit/deposit-filter.spec.ts",
          "line": 9,
          "column": 5
        },
        {
          "title": "filters by name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2309,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1468
                    },
                    {
                      "title": "apply filter",
                      "duration": 426
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 53
                    }
                  ],
                  "startTime": "2026-08-15T02:20:54.462Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "714dec3bb8e9476c7695-28e5bb1f1a83e976756d",
          "file": "src/manager/tests/e2e/deposit/deposit-filter.spec.ts",
          "line": 25,
          "column": 5
        },
        {
          "title": "filters by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2130,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1351
                    },
                    {
                      "title": "apply filter",
                      "duration": 365
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 80
                    }
                  ],
                  "startTime": "2026-08-15T02:20:56.775Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2408,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1388
                    },
                    {
                      "title": "apply filter",
                      "duration": 609
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-15T02:20:58.909Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2454,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1508
                    },
                    {
                      "title": "apply filter",
                      "duration": 558
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 28
                    }
                  ],
                  "startTime": "2026-08-15T02:20:59.964Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2392,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1426
                    },
                    {
                      "title": "navigate to deposit details page",
                      "duration": 561
                    },
                    {
                      "title": "verify deposit details page",
                      "duration": 50
                    }
                  ],
                  "startTime": "2026-08-15T02:21:01.322Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 993,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open deposit create dialog from list",
                      "duration": 244
                    },
                    {
                      "title": "verify deposit create dialog is open",
                      "duration": 399
                    }
                  ],
                  "startTime": "2026-08-15T02:21:02.425Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8950,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2334
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2318
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1520
                    },
                    {
                      "title": "attach billing plans from two unit types",
                      "duration": 2358
                    },
                    {
                      "title": "verify attached billing plans in inline list",
                      "duration": 63
                    }
                  ],
                  "startTime": "2026-08-15T02:21:03.429Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 9417,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2860
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 3836
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 826
                    },
                    {
                      "title": "attempt to attach the conflicting billing plan and verify the code-in-use error",
                      "duration": 1513
                    }
                  ],
                  "startTime": "2026-08-15T02:21:03.724Z",
                  "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": 8290,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1446
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1659
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 1918
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 794
                    },
                    {
                      "title": "attach a one-time product and a deposit",
                      "duration": 1474
                    },
                    {
                      "title": "verify attached one-time products and deposits in inline list",
                      "duration": 636
                    }
                  ],
                  "startTime": "2026-08-15T02:21:12.387Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "244488e977971873f49c-26f472dc4409ccf79c01",
          "file": "src/manager/tests/e2e/discount/discount-attach-products.spec.ts",
          "line": 9,
          "column": 5
        },
        {
          "title": "attaches a product to a coded discount without a code conflict",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 9796,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1530
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1740
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2730
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 885
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 852
                    },
                    {
                      "title": "attach a non-conflicting product",
                      "duration": 1066
                    },
                    {
                      "title": "verify the attached product in the inline list",
                      "duration": 606
                    }
                  ],
                  "startTime": "2026-08-15T02:21:13.148Z",
                  "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": 5687,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1470
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1433
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 693
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 736
                    },
                    {
                      "title": "attempt to attach the conflicting product and verify the code-in-use error",
                      "duration": 995
                    }
                  ],
                  "startTime": "2026-08-15T02:21:20.684Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "244488e977971873f49c-0c8aac8e702922298866",
          "file": "src/manager/tests/e2e/discount/discount-attach-products.spec.ts",
          "line": 74,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/discount/discount-create.spec.ts",
      "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates a percentage discount with a once duration",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7263,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3026
                    },
                    {
                      "title": "create discount",
                      "duration": 2607
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 614
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 618
                    }
                  ],
                  "startTime": "2026-08-15T02:21:22.953Z",
                  "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": 5592,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1364
                    },
                    {
                      "title": "create discount",
                      "duration": 2773
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 509
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 566
                    }
                  ],
                  "startTime": "2026-08-15T02:21:26.380Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-9b7d4ff2f604b2e2e1b0",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 23,
          "column": 7
        },
        {
          "title": "creates a percentage discount with a multiple-months duration",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5563,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1426
                    },
                    {
                      "title": "create discount",
                      "duration": 2578
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 593
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 585
                    }
                  ],
                  "startTime": "2026-08-15T02:21:30.223Z",
                  "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": 5663,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1432
                    },
                    {
                      "title": "create discount",
                      "duration": 2684
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 593
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 580
                    }
                  ],
                  "startTime": "2026-08-15T02:21:31.979Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-5fe654a7978b4ed8300b",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 23,
          "column": 7
        },
        {
          "title": "creates a percentage discount with an expiry date",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6504,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1539
                    },
                    {
                      "title": "create discount",
                      "duration": 3500
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 501
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 581
                    }
                  ],
                  "startTime": "2026-08-15T02:21:35.792Z",
                  "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": 5546,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1407
                    },
                    {
                      "title": "create discount",
                      "duration": 2738
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 498
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 547
                    }
                  ],
                  "startTime": "2026-08-15T02:21:37.648Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-6190c02fd323d3487558",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 23,
          "column": 7
        },
        {
          "title": "creates a percentage discount with an expiry date and a usage limit",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6752,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1551
                    },
                    {
                      "title": "create discount",
                      "duration": 3588
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 602
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 629
                    }
                  ],
                  "startTime": "2026-08-15T02:21:42.301Z",
                  "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": 6367,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1503
                    },
                    {
                      "title": "create discount",
                      "duration": 3267
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 644
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 578
                    }
                  ],
                  "startTime": "2026-08-15T02:21:43.200Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-02c44709772d5b44e4b3",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 23,
          "column": 7
        },
        {
          "title": "creates a discount with one-time products and deposits",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 8677,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2372
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2207
                    },
                    {
                      "title": "create discount",
                      "duration": 3237
                    },
                    {
                      "title": "verify one-time products and deposits on details page",
                      "duration": 471
                    }
                  ],
                  "startTime": "2026-08-15T02:21:49.059Z",
                  "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": 8004,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2985
                    },
                    {
                      "title": "create discount",
                      "duration": 4066
                    },
                    {
                      "title": "verify billing plans on details page",
                      "duration": 540
                    }
                  ],
                  "startTime": "2026-08-15T02:21:49.572Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 11594,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2685
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2811
                    },
                    {
                      "title": "create discount",
                      "duration": 4852
                    },
                    {
                      "title": "verify one-time products and billing plans on details page",
                      "duration": 886
                    }
                  ],
                  "startTime": "2026-08-15T02:21:57.583Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 8468,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1518
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2095
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 816
                    },
                    {
                      "title": "create a second discount reusing the code on a different product",
                      "duration": 3219
                    },
                    {
                      "title": "verify the reused code was accepted",
                      "duration": 436
                    }
                  ],
                  "startTime": "2026-08-15T02:21:57.742Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7592,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2442
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 827
                    },
                    {
                      "title": "create a second discount reusing the code on a different billing plan",
                      "duration": 3505
                    },
                    {
                      "title": "verify the reused code was accepted",
                      "duration": 460
                    }
                  ],
                  "startTime": "2026-08-15T02:22:06.216Z",
                  "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": 7961,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1526
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1516
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 813
                    },
                    {
                      "title": "create a second discount reusing the code in a different location",
                      "duration": 3682
                    },
                    {
                      "title": "verify the reused code was accepted",
                      "duration": 48
                    }
                  ],
                  "startTime": "2026-08-15T02:22:09.182Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 912,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid discount create form",
                      "duration": 523
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-15T02:22:13.814Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-efa8c64f86d36ffe0d1f",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 249,
          "column": 5
        },
        {
          "title": "rejects a discount with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5608,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1513
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 841
                    },
                    {
                      "title": "submit discount create form with duplicate name",
                      "duration": 2873
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-15T02:22:14.730Z",
                  "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": 5821,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1529
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 897
                    },
                    {
                      "title": "submit discount create form with duplicate code",
                      "duration": 2978
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 28
                    }
                  ],
                  "startTime": "2026-08-15T02:22:17.149Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e6e9de22a2b19c98e922-7a6837f8d75f835a7041",
          "file": "src/manager/tests/e2e/discount/discount-create.spec.ts",
          "line": 280,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/discount/discount-delete.spec.ts",
      "file": "src/manager/tests/e2e/discount/discount-delete.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes a discount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4665,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1551
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 894
                    },
                    {
                      "title": "delete discount",
                      "duration": 1419
                    },
                    {
                      "title": "verify discount is no longer on list page",
                      "duration": 430
                    }
                  ],
                  "startTime": "2026-08-15T02:22:20.343Z",
                  "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": 4537,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2608
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 851
                    },
                    {
                      "title": "detach billing plan",
                      "duration": 264
                    },
                    {
                      "title": "verify only the remaining billing plan is attached",
                      "duration": 451
                    }
                  ],
                  "startTime": "2026-08-15T02:22:22.978Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "fa27c712919275ab71f4-40f9ff04e0c49d4da9bf",
          "file": "src/manager/tests/e2e/discount/discount-detach-billing-plans.spec.ts",
          "line": 10,
          "column": 5
        },
        {
          "title": "rejects detaching all billing plans when no products remain",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6196,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2524
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1709
                    },
                    {
                      "title": "attempt to detach all billing plans and verify error snackbar",
                      "duration": 1577
                    }
                  ],
                  "startTime": "2026-08-15T02:22:25.016Z",
                  "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": 10292,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3855
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 4274
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1043
                    },
                    {
                      "title": "detach deposit",
                      "duration": 295
                    },
                    {
                      "title": "verify only the remaining one-time product is attached",
                      "duration": 436
                    }
                  ],
                  "startTime": "2026-08-15T02:22:27.523Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b15bece694591f0919b9-df99983286737c7d2ec0",
          "file": "src/manager/tests/e2e/discount/discount-detach-products.spec.ts",
          "line": 8,
          "column": 5
        },
        {
          "title": "rejects detaching all products when no billing plans remain",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4976,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2283
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1007
                    },
                    {
                      "title": "attempt to detach all products and verify error snackbar",
                      "duration": 1283
                    }
                  ],
                  "startTime": "2026-08-15T02:22:31.218Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5033,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1695
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 894
                    },
                    {
                      "title": "edit discount general",
                      "duration": 1428
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 21
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 610
                    }
                  ],
                  "startTime": "2026-08-15T02:22:36.203Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4897,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2067
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 971
                    },
                    {
                      "title": "edit discount general",
                      "duration": 900
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 26
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 549
                    }
                  ],
                  "startTime": "2026-08-15T02:22:37.823Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4248,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1580
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 834
                    },
                    {
                      "title": "edit discount general",
                      "duration": 876
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 22
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 551
                    }
                  ],
                  "startTime": "2026-08-15T02:22:41.242Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5181,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1937
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 932
                    },
                    {
                      "title": "edit discount general",
                      "duration": 1363
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 22
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 571
                    }
                  ],
                  "startTime": "2026-08-15T02:22:42.725Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4845,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1587
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 935
                    },
                    {
                      "title": "edit discount general",
                      "duration": 1409
                    },
                    {
                      "title": "verify new discount on details page",
                      "duration": 20
                    },
                    {
                      "title": "verify new discount on list page",
                      "duration": 543
                    }
                  ],
                  "startTime": "2026-08-15T02:22:45.496Z",
                  "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": 4885,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1541
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 944
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 892
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 1131
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-15T02:22:47.911Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5357,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2086
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 965
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 838
                    },
                    {
                      "title": "submit edit with duplicate code",
                      "duration": 1085
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 27
                    }
                  ],
                  "startTime": "2026-08-15T02:22:50.346Z",
                  "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": 4362,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2578
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 938
                    },
                    {
                      "title": "apply filter",
                      "duration": 461
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 54
                    }
                  ],
                  "startTime": "2026-08-15T02:22:52.802Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3356,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1779
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 831
                    },
                    {
                      "title": "apply filter",
                      "duration": 308
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 75
                    }
                  ],
                  "startTime": "2026-08-15T02:22:55.709Z",
                  "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": 4024,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2101
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 861
                    },
                    {
                      "title": "apply filter",
                      "duration": 683
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 8
                    }
                  ],
                  "startTime": "2026-08-15T02:22:57.172Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4026,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2230
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 850
                    },
                    {
                      "title": "apply filter",
                      "duration": 586
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-15T02:22:59.070Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3945,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2035
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 959
                    },
                    {
                      "title": "navigate to discount details page",
                      "duration": 546
                    },
                    {
                      "title": "verify discount details page",
                      "duration": 68
                    }
                  ],
                  "startTime": "2026-08-15T02:23:01.203Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 951,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open discount create dialog from list",
                      "duration": 259
                    },
                    {
                      "title": "verify discount create dialog is open",
                      "duration": 337
                    }
                  ],
                  "startTime": "2026-08-15T02:23:03.104Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 10574,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4229
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2594
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1029
                    },
                    {
                      "title": "update attached billing plans across unit types",
                      "duration": 2315
                    },
                    {
                      "title": "verify updated billing plans in inline list",
                      "duration": 41
                    }
                  ],
                  "startTime": "2026-08-15T02:23:04.060Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 12571,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2112
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2076
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 4668
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1017
                    },
                    {
                      "title": "update attached one-time products and deposits",
                      "duration": 1747
                    },
                    {
                      "title": "verify updated one-time products and deposits in inline list",
                      "duration": 591
                    }
                  ],
                  "startTime": "2026-08-15T02:23:05.155Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 8096,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2702
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1618
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1010
                    },
                    {
                      "title": "setup: create discount via API",
                      "duration": 1062
                    },
                    {
                      "title": "attempt to swap in the conflicting product and verify the code-in-use error",
                      "duration": 1338
                    }
                  ],
                  "startTime": "2026-08-15T02:23:14.640Z",
                  "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": 6436,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4420
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1448
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 195
                    }
                  ],
                  "startTime": "2026-08-15T02:23:17.738Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-70699114dce7b9797f68",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a monthly booking plan to monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5205,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2591
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1493
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 217
                    }
                  ],
                  "startTime": "2026-08-15T02:23:22.748Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-2222b2393eba29e654c6",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a booking plan to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4559,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2563
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1457
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 183
                    }
                  ],
                  "startTime": "2026-08-15T02:23:24.179Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-cf5608511f9e00b7be68",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate period amount to weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4218,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2552
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1280
                    }
                  ],
                  "startTime": "2026-08-15T02:23:26.974Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-f0ea4ad64c447bddf9ee",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate period amount to monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4600,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2903
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1324
                    }
                  ],
                  "startTime": "2026-08-15T02:23:27.958Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-1901ba886e9a51bc2386",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate weekly period amount to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4942,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3258
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1322
                    }
                  ],
                  "startTime": "2026-08-15T02:23:28.743Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-d874fa8da5f2634c85e8",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate monthly period amount to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4274,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2605
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1326
                    }
                  ],
                  "startTime": "2026-08-15T02:23:31.246Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-a90c4481190005aa0a1d",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a weekly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4201,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2608
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1248
                    }
                  ],
                  "startTime": "2026-08-15T02:23:32.564Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-0934ae9a2693c8595818",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a weekly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4475,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2869
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1237
                    }
                  ],
                  "startTime": "2026-08-15T02:23:33.690Z",
                  "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": 4245,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2600
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1278
                    }
                  ],
                  "startTime": "2026-08-15T02:23:35.526Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-a5089f2dfb250e4ec006",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a monthly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4371,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2654
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1341
                    }
                  ],
                  "startTime": "2026-08-15T02:23:36.770Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "de522196a177121c2586-84f3f412f966c29147f0",
          "file": "src/manager/tests/e2e/insurance/insurance-add-booking-plans.spec.ts",
          "line": 32,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3636,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2632
                    },
                    {
                      "title": "submit booking plan add form without required fields",
                      "duration": 608
                    }
                  ],
                  "startTime": "2026-08-15T02:23:38.170Z",
                  "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": 4303,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3265
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 212
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 430
                    }
                  ],
                  "startTime": "2026-08-15T02:23:39.781Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-d7934a0587bde53e3a19",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with weekly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7905,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 6796
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 297
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 411
                    }
                  ],
                  "startTime": "2026-08-15T02:23:41.148Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-d9c99db09412f2514004",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with monthly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7659,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 6482
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 369
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 403
                    }
                  ],
                  "startTime": "2026-08-15T02:23:41.818Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-7d4a53ff84d3884e0216",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with mixed booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 7603,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 6351
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 398
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 443
                    }
                  ],
                  "startTime": "2026-08-15T02:23:44.091Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-d179e4f0a10bb03554c2",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with zero taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4303,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3302
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 173
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 445
                    }
                  ],
                  "startTime": "2026-08-15T02:23:49.060Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-40d82eb83e0a2522c29e",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with equal b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4546,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3639
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 85
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 407
                    }
                  ],
                  "startTime": "2026-08-15T02:23:49.484Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-b3ce94c2fdc8015578e5",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with mixed b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4256,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3193
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 183
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 440
                    }
                  ],
                  "startTime": "2026-08-15T02:23:51.700Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-f05ce72a6da5334ca546",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "creates an insurance with a short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4716,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create insurance",
                      "duration": 3708
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 186
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 432
                    }
                  ],
                  "startTime": "2026-08-15T02:23:53.369Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-09d7779f1fec660c43cf",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 15,
          "column": 7
        },
        {
          "title": "rejects an insurance without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 1837,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid insurance create form",
                      "duration": 1436
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 22
                    }
                  ],
                  "startTime": "2026-08-15T02:23:54.035Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "failed",
                  "duration": 34529,
                  "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": 1824
                    },
                    {
                      "title": "submit insurance create form with duplicate name",
                      "duration": 2275
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 30023,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-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-15T02:23:55.877Z",
                  "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": 3289,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid insurance create form",
                      "duration": 2887
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 22
                    }
                  ],
                  "startTime": "2026-08-15T02:23:55.963Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-0c571e4b51cfe32d0bf3",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 88,
          "column": 7
        },
        {
          "title": "rejects an insurance with duplicate monthly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3580,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid insurance create form",
                      "duration": 3154
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 23
                    }
                  ],
                  "startTime": "2026-08-15T02:23:58.091Z",
                  "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": 5077,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid insurance create form",
                      "duration": 4657
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 21
                    }
                  ],
                  "startTime": "2026-08-15T02:23:59.258Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-e6dbbee6a06c0786eea3",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 88,
          "column": 7
        },
        {
          "title": "rejects an insurance with weekly booking plans beyond the max period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2363,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1972
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-15T02:24:01.677Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-e9bdd40f19c2fcabb902",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 105,
          "column": 7
        },
        {
          "title": "rejects an insurance with weekly booking plans below the min period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2313,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1908
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-15T02:24:04.045Z",
                  "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": 2458,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2027
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-15T02:24:04.340Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-8003e7c23dec8fdb4d6a",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 105,
          "column": 7
        },
        {
          "title": "rejects an insurance with monthly booking plans below the min period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2410,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2012
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-15T02:24:06.364Z",
                  "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": 2256,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "add two duplicate booking plans",
                      "duration": 1842
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-15T02:24:06.804Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c62f8d9f87a3331b9eff-441151416da797922814",
          "file": "src/manager/tests/e2e/insurance/insurance-create.spec.ts",
          "line": 125,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes a single booking plan via the inline action",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5171,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3146
                    },
                    {
                      "title": "delete booking plan",
                      "duration": 1532
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 124
                    }
                  ],
                  "startTime": "2026-08-15T02:24:08.781Z",
                  "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": 33168,
                  "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": 1695
                    },
                    {
                      "title": "attempt to delete the only booking plan via inline action",
                      "duration": 1059
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30025,
                      "error": {
                        "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoHaveCountGreaterThan\u001b[2m(\u001b[22m\u001b[32m0\u001b[39m\u001b[2m)\u001b[22m\n\nLocator: locator('.v-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-15T02:24:09.065Z",
                  "annotations": [
                    {
                      "type": "fail",
                      "location": {
                        "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
                        "line": 36,
                        "column": 6
                      }
                    }
                  ],
                  "attachments": [
                    {
                      "name": "error-context",
                      "contentType": "text/markdown",
                      "path": "/builds/at-kinnovis/quality-assurance/qa-automation/test-results/assets/insurance-insurance-delete-4175e-n-via-the-inline-action-bug-manager-e2e/error-context.md"
                    }
                  ],
                  "errorLocation": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
                    "column": 42,
                    "line": 50
                  }
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2508c8c8ea9611c90b11-6e3fd081b6277193bd57",
          "file": "src/manager/tests/e2e/insurance/insurance-delete-booking-plan.spec.ts",
          "line": 36,
          "column": 6
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "deletes some booking plans via the row action",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4690,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2568
                    },
                    {
                      "title": "select booking plans to delete",
                      "duration": 403
                    },
                    {
                      "title": "delete booking plans",
                      "duration": 1335
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 66
                    }
                  ],
                  "startTime": "2026-08-15T02:24:13.957Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "78a6c6b1d9dbfde4a2ff-e284d1089270b6679090",
          "file": "src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
          "line": 12,
          "column": 7
        },
        {
          "title": "rejects deleting all booking plans via the row action @bug",
          "ok": true,
          "tags": [
            "bug"
          ],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [
                {
                  "type": "fail",
                  "location": {
                    "file": "/builds/at-kinnovis/quality-assurance/qa-automation/src/manager/tests/e2e/insurance/insurance-delete-booking-plans.spec.ts",
                    "line": 39,
                    "column": 6
                  }
                }
              ],
              "expectedStatus": "failed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "failed",
                  "duration": 33729,
                  "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": 2675
                    },
                    {
                      "title": "attempt to delete all booking plans via row action",
                      "duration": 695
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30017,
                      "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-15T02:24:18.652Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3690,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 1654
                    },
                    {
                      "title": "delete insurance",
                      "duration": 1381
                    },
                    {
                      "title": "verify insurance is no longer on list page",
                      "duration": 281
                    }
                  ],
                  "startTime": "2026-08-15T02:24:30.414Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5073,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2701
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1841
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 167
                    }
                  ],
                  "startTime": "2026-08-15T02:24:34.111Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4941,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2552
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1819
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 215
                    }
                  ],
                  "startTime": "2026-08-15T02:24:39.190Z",
                  "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": 5034,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2620
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1813
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 226
                    }
                  ],
                  "startTime": "2026-08-15T02:24:42.240Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5143,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2738
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1814
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 208
                    }
                  ],
                  "startTime": "2026-08-15T02:24:44.137Z",
                  "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": 4670,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2786
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1285
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 228
                    }
                  ],
                  "startTime": "2026-08-15T02:24:47.280Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4556,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2769
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1383
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 52
                    }
                  ],
                  "startTime": "2026-08-15T02:24:49.285Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4364,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2558
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1387
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 62
                    }
                  ],
                  "startTime": "2026-08-15T02:24:51.955Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-e42b699bb2ac2bfc7a3d",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate weekly period amount in mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5043,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3226
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1393
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 59
                    }
                  ],
                  "startTime": "2026-08-15T02:24:52.390Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4627,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2863
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1360
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 51
                    }
                  ],
                  "startTime": "2026-08-15T02:24:53.846Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4349,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2609
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1362
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 35
                    }
                  ],
                  "startTime": "2026-08-15T02:24:56.324Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-a963e6896d57f4baa23c",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a weekly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4456,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2602
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1467
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-15T02:24:57.440Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4997,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2914
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1343
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-15T02:24:58.479Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4513,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2759
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1368
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-15T02:25:00.681Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e2c6faa1f633d123d051-a4ea79e9c8c91d6e16f6",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plan.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4539,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2797
                    },
                    {
                      "title": "submit booking plan edit form with cleared required fields",
                      "duration": 1378
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-15T02:25:01.900Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7641,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2658
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 406
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1229
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 2998
                    }
                  ],
                  "startTime": "2026-08-15T02:25:03.482Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 7463,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2634
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 269
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1235
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 2964
                    }
                  ],
                  "startTime": "2026-08-15T02:25:05.202Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "09ec76e6a470b467bbfa-2fc1d679d88b04947c8c",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plans-prices.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "rejects a price change without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3562,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2481
                    },
                    {
                      "title": "submit price change form without required fields",
                      "duration": 720
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:25:06.446Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "09ec76e6a470b467bbfa-ec6d5937d4358f23fe25",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plans-prices.spec.ts",
          "line": 41,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/insurance/insurance-edit-booking-plans-publish-status.spec.ts",
      "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-plans-publish-status.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "publishes some booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3706,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2589
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 390
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 185
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 176
                    }
                  ],
                  "startTime": "2026-08-15T02:25:10.015Z",
                  "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": 3709,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2673
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 325
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 183
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 170
                    }
                  ],
                  "startTime": "2026-08-15T02:25:11.129Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3462,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2224
                    },
                    {
                      "title": "edit insurance booking portal",
                      "duration": 874
                    },
                    {
                      "title": "verify new insurance booking portal on details page",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-15T02:25:12.673Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5f8bf27b92fe7272c50e-2044d8d89166f6c0ff9b",
          "file": "src/manager/tests/e2e/insurance/insurance-edit-booking-portal.spec.ts",
          "line": 8,
          "column": 7
        },
        {
          "title": "removes the short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4766,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3484
                    },
                    {
                      "title": "edit insurance booking portal",
                      "duration": 900
                    },
                    {
                      "title": "verify new insurance booking portal on details page",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-15T02:25:13.727Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5749,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3572
                    },
                    {
                      "title": "edit insurance general",
                      "duration": 1349
                    },
                    {
                      "title": "verify new insurance on details page",
                      "duration": 19
                    },
                    {
                      "title": "verify new insurance on list page",
                      "duration": 446
                    }
                  ],
                  "startTime": "2026-08-15T02:25:14.844Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4617,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3637
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 584
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-15T02:25:16.140Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 10332,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2520
                    },
                    {
                      "title": "setup: create insurance via API",
                      "duration": 6798
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 587
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 73
                    }
                  ],
                  "startTime": "2026-08-15T02:25:18.500Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4046,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2732
                    },
                    {
                      "title": "edit insurance tax",
                      "duration": 957
                    },
                    {
                      "title": "verify new insurance tax on details page",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-15T02:25:20.599Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 7444,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 5963
                    },
                    {
                      "title": "edit insurance tax",
                      "duration": 1116
                    },
                    {
                      "title": "verify new insurance tax on details page",
                      "duration": 22
                    }
                  ],
                  "startTime": "2026-08-15T02:25:20.765Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6029,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 4252
                    },
                    {
                      "title": "edit insurance tax",
                      "duration": 1422
                    },
                    {
                      "title": "verify new insurance tax on details page",
                      "duration": 23
                    }
                  ],
                  "startTime": "2026-08-15T02:25:24.651Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4071,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3021
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 656
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-15T02:25:28.214Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4431,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3539
                    },
                    {
                      "title": "apply filter",
                      "duration": 484
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 60
                    }
                  ],
                  "startTime": "2026-08-15T02:25:28.837Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3933,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3037
                    },
                    {
                      "title": "apply filter",
                      "duration": 448
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 63
                    }
                  ],
                  "startTime": "2026-08-15T02:25:30.686Z",
                  "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": 3647,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 2797
                    },
                    {
                      "title": "apply filter",
                      "duration": 371
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 108
                    }
                  ],
                  "startTime": "2026-08-15T02:25:32.292Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4070,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3052
                    },
                    {
                      "title": "apply filter",
                      "duration": 641
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-15T02:25:33.274Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4227,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3129
                    },
                    {
                      "title": "apply filter",
                      "duration": 706
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-15T02:25:34.624Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4598,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create insurance via API",
                      "duration": 3235
                    },
                    {
                      "title": "navigate to insurance details page",
                      "duration": 587
                    },
                    {
                      "title": "verify insurance details page",
                      "duration": 71
                    }
                  ],
                  "startTime": "2026-08-15T02:25:35.945Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c0c0bc3a4b4716ac22a8-821d9b43cc7dd27401b3",
          "file": "src/manager/tests/e2e/insurance/insurance-navigate.spec.ts",
          "line": 7,
          "column": 5
        },
        {
          "title": "navigates from the insurance list to the insurance create dialog",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 953,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open insurance create dialog from list",
                      "duration": 273
                    },
                    {
                      "title": "verify insurance create dialog is open",
                      "duration": 325
                    }
                  ],
                  "startTime": "2026-08-15T02:25:37.350Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c0c0bc3a4b4716ac22a8-2b30be66cd5123744119",
          "file": "src/manager/tests/e2e/insurance/insurance-navigate.spec.ts",
          "line": 25,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
      "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "creates a card auto-charged invoice for a private customer with a custom memo and footer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 51910,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 373
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1827
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 7035
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 39
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 46
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 6906
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 2125
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 32393
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 702
                    }
                  ],
                  "startTime": "2026-08-15T02:25:38.316Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-4e5815084a9cd6bad195",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "creates a sepa auto-charged invoice for a business customer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 50710,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 376
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1723
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 6677
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 38
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 45
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 6994
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 32469
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 1208
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 810
                    }
                  ],
                  "startTime": "2026-08-15T02:26:30.236Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-1671d115b168a7f4e11e",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "creates a bacs auto-charged invoice",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 55728,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 375
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3416
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 10161
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 50
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 47
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 7328
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 31991
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 1206
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 771
                    }
                  ],
                  "startTime": "2026-08-15T02:27:20.952Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-ee33621838cb91467683",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "creates a sepa auto-charged invoice that stays pending payment",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 55384,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 376
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 6033
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 6688
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 63
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 62
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 7838
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 31893
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 1235
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 770
                    }
                  ],
                  "startTime": "2026-08-15T02:28:16.685Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-50ba222f34ccf88e4263",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "creates a bacs auto-charged invoice that stays pending payment",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 23445,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 449
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1926
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 9696
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 34
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 32
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 6825
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 2098
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 1191
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 815
                    }
                  ],
                  "startTime": "2026-08-15T02:29:12.075Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-390e4f4751a3ce55ab15",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "creates a send-invoice invoice with multiple products of differing quantities",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 25684,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 405
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3156
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3376
                    },
                    {
                      "title": "fill invoice create form",
                      "duration": 2638
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 49
                    },
                    {
                      "title": "submit invoice create form",
                      "duration": 68
                    },
                    {
                      "title": "confirm invoice create",
                      "duration": 6833
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 1526
                    },
                    {
                      "title": "verify invoice payments",
                      "duration": 6255
                    },
                    {
                      "title": "verify new invoice on list page",
                      "duration": 989
                    }
                  ],
                  "startTime": "2026-08-15T02:29:35.526Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-4d38f7b4f495ca51bf41",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "creates an invoice for a customer having multiple locations",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 12869,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 395
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1902
                    },
                    {
                      "title": "create invoice",
                      "duration": 9256
                    },
                    {
                      "title": "verify new invoice on details page",
                      "duration": 850
                    }
                  ],
                  "startTime": "2026-08-15T02:30:01.216Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "153d59c3c583cf56a052-628487f5dddcb4a28baf",
          "file": "src/manager/tests/e2e/invoice/invoice-create.spec.ts",
          "line": 193,
          "column": 5
        },
        {
          "title": "rejects an invoice without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2984,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 366
                    },
                    {
                      "title": "submit invalid invoice create form",
                      "duration": 2069
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 29
                    }
                  ],
                  "startTime": "2026-08-15T02:30:14.092Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 10241,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 916
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2041
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6204
                    },
                    {
                      "title": "apply filter",
                      "duration": 600
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 106
                    }
                  ],
                  "startTime": "2026-08-15T02:25:38.867Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8657,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 454
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1706
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5381
                    },
                    {
                      "title": "apply filter",
                      "duration": 596
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 126
                    }
                  ],
                  "startTime": "2026-08-15T02:25:49.115Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 9499,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 450
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1637
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6285
                    },
                    {
                      "title": "apply filter",
                      "duration": 592
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 165
                    }
                  ],
                  "startTime": "2026-08-15T02:25:57.777Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 10485,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 429
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3470
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5499
                    },
                    {
                      "title": "apply filter",
                      "duration": 514
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 187
                    }
                  ],
                  "startTime": "2026-08-15T02:26:07.283Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 10124,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 432
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1725
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6196
                    },
                    {
                      "title": "apply filter",
                      "duration": 1182
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 216
                    }
                  ],
                  "startTime": "2026-08-15T02:26:17.774Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 10974,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 516
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1723
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6450
                    },
                    {
                      "title": "apply filters",
                      "duration": 1788
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 105
                    }
                  ],
                  "startTime": "2026-08-15T02:26:27.903Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 9805,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 388
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1813
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6203
                    },
                    {
                      "title": "apply filter",
                      "duration": 964
                    },
                    {
                      "title": "verify invoice is excluded",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-15T02:26:38.883Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 51694,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 376
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2167
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5512
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 5960
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 444
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 321
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 22
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 38
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 62
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 6390
                    },
                    {
                      "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-15T02:25:40.561Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 24607,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 483
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2938
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5359
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 5982
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 457
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 465
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 68
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 824
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 34
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5806
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1152
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 638
                    }
                  ],
                  "startTime": "2026-08-15T02:26:32.262Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 23523,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 460
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2086
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6013
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6026
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 447
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 425
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 243
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 234
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 59
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5308
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1169
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 670
                    }
                  ],
                  "startTime": "2026-08-15T02:26:56.876Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "skipped",
                  "duration": 56719,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 395
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1746
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4446
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5882
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 5991
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 462
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 377
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 36
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 78
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 67
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 6820
                    },
                    {
                      "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-15T02:27:20.408Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 28440,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 437
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4248
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2694
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5825
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6029
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 445
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 321
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 94
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 826
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 35
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5305
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1129
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 630
                    }
                  ],
                  "startTime": "2026-08-15T02:28:17.132Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 26254,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 415
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1689
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2506
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5795
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6041
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 441
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 428
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 50
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 824
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 40
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5805
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1181
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 655
                    }
                  ],
                  "startTime": "2026-08-15T02:28:45.578Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 28391,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 434
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4725
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1746
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5966
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6063
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 441
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 447
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 240
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 818
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 38
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5301
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1161
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 642
                    }
                  ],
                  "startTime": "2026-08-15T02:29:11.837Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 33326,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 422
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 6489
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4961
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6098
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6007
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 448
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 334
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 112
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 830
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 42
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5407
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1162
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 639
                    }
                  ],
                  "startTime": "2026-08-15T02:29:40.233Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 32159,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 437
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2965
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 7021
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6065
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 6022
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 342
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 353
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 374
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 833
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 46
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5373
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1183
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 724
                    }
                  ],
                  "startTime": "2026-08-15T02:30:13.566Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 23421,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 382
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3354
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2140
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6503
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 385
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 2757
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 462
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 325
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 86
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 40
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 61
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 4799
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1116
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 634
                    }
                  ],
                  "startTime": "2026-08-15T02:30:45.731Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 22339,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 398
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2776
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2172
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6027
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 392
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 2240
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 448
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 451
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 115
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 327
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 72
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 4808
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1149
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 601
                    }
                  ],
                  "startTime": "2026-08-15T02:31:09.157Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 52735,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 371
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2411
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1731
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6190
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 383
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 32511
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 458
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 456
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 325
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 320
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 58
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5311
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1143
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 682
                    }
                  ],
                  "startTime": "2026-08-15T02:31:31.502Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 19674,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 456
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2955
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5745
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 374
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 2262
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 475
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 315
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 55
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 28
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 57
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 4801
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1161
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 610
                    }
                  ],
                  "startTime": "2026-08-15T02:32:24.243Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 22403,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 460
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3746
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5785
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 383
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 3271
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 469
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 352
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 112
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 326
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 44
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5307
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1145
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 623
                    }
                  ],
                  "startTime": "2026-08-15T02:32:43.923Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 56170,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 386
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 7481
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6365
                    },
                    {
                      "title": "setup: mark invoice as paid via API",
                      "duration": 369
                    },
                    {
                      "title": "wait for the invoice charges to settle",
                      "duration": 32479
                    },
                    {
                      "title": "open invoice issue credit note dialog",
                      "duration": 485
                    },
                    {
                      "title": "verify initial totals summary in dialog",
                      "duration": 439
                    },
                    {
                      "title": "fill invoice issue credit note form",
                      "duration": 283
                    },
                    {
                      "title": "verify totals summary in dialog",
                      "duration": 221
                    },
                    {
                      "title": "submit invoice issue credit note form",
                      "duration": 60
                    },
                    {
                      "title": "confirm invoice issue credit note",
                      "duration": 5310
                    },
                    {
                      "title": "verify credit note issued on details page",
                      "duration": 1208
                    },
                    {
                      "title": "verify credit note issued on list page",
                      "duration": 675
                    }
                  ],
                  "startTime": "2026-08-15T02:33:06.333Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 10291,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 391
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2053
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5707
                    },
                    {
                      "title": "submit invalid invoice issue credit note form",
                      "duration": 1729
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-15T02:34:02.508Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "c1125939a50586ff920e-b9c51031f7bd6012f62c",
          "file": "src/manager/tests/e2e/invoice/invoice-issue-credit-note.spec.ts",
          "line": 132,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
      "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "marks an open invoice as paid with outside payment option cash",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 25135,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 381
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2543
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5639
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6148
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 2973
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 7057
                    }
                  ],
                  "startTime": "2026-08-15T02:26:07.101Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68ce308633a21f49e5dc-a2f05725d73c9eb609d7",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "marks an open invoice as paid with outside payment option wire-transfer",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 23655,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 469
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1764
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5536
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6247
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3153
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 6093
                    }
                  ],
                  "startTime": "2026-08-15T02:26:32.243Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68ce308633a21f49e5dc-9da018eeab718781d539",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "marks an open invoice as paid with outside payment option card-on-site",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 25269,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 376
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1782
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5842
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6221
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3061
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 7605
                    }
                  ],
                  "startTime": "2026-08-15T02:26:55.904Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68ce308633a21f49e5dc-130ad298662ec1ffaac2",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "marks an open invoice as paid with outside payment option other",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 27538,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 365
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 4341
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6279
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6231
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3226
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 6720
                    }
                  ],
                  "startTime": "2026-08-15T02:27:21.179Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68ce308633a21f49e5dc-ea716ec4751a9fc757b6",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "marks an open invoice as paid with outside payment date in the past",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 25480,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 387
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1715
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6194
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6138
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3046
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 7613
                    }
                  ],
                  "startTime": "2026-08-15T02:27:48.723Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68ce308633a21f49e5dc-3ebf05fe46a8d31996c2",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "marks an open invoice as paid with outside payment date in the future",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 52602,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 367
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2373
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6013
                    },
                    {
                      "title": "wait for the invoice charge to be recorded",
                      "duration": 6186
                    },
                    {
                      "title": "mark invoice as paid",
                      "duration": 3192
                    },
                    {
                      "title": "verify paid invoice on details page",
                      "duration": 33990
                    }
                  ],
                  "startTime": "2026-08-15T02:28:14.211Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "68ce308633a21f49e5dc-3871a8259b9a41f10d2b",
          "file": "src/manager/tests/e2e/invoice/invoice-mark-as-paid.spec.ts",
          "line": 19,
          "column": 7
        },
        {
          "title": "rejects marking an invoice as paid without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 120000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 11077,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 457
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1810
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 6659
                    },
                    {
                      "title": "submit invalid invoice mark as paid form",
                      "duration": 1725
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-15T02:29:06.819Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 13760,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 372
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1787
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5798
                    },
                    {
                      "title": "mark invoice as void",
                      "duration": 3632
                    },
                    {
                      "title": "verify voided invoice on details page",
                      "duration": 25
                    },
                    {
                      "title": "verify cancelled payment charge",
                      "duration": 374
                    },
                    {
                      "title": "verify voided invoice on list page",
                      "duration": 1379
                    }
                  ],
                  "startTime": "2026-08-15T02:26:48.695Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 9912,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create customer via API",
                      "duration": 363
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1821
                    },
                    {
                      "title": "setup: create invoice via API",
                      "duration": 5793
                    },
                    {
                      "title": "navigate to invoice details page",
                      "duration": 728
                    },
                    {
                      "title": "verify invoice details page",
                      "duration": 831
                    }
                  ],
                  "startTime": "2026-08-15T02:27:02.463Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 1105,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open invoice create dialog from list",
                      "duration": 386
                    },
                    {
                      "title": "verify invoice create dialog is open",
                      "duration": 336
                    }
                  ],
                  "startTime": "2026-08-15T02:27:12.383Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2819,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1783
                    },
                    {
                      "title": "navigate to one-time product details page",
                      "duration": 590
                    },
                    {
                      "title": "verify one-time product details page",
                      "duration": 75
                    }
                  ],
                  "startTime": "2026-08-15T02:27:13.498Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2805,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 1735
                    },
                    {
                      "title": "navigate to recurring product details page",
                      "duration": 583
                    },
                    {
                      "title": "verify recurring product details page",
                      "duration": 107
                    }
                  ],
                  "startTime": "2026-08-15T02:27:16.325Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 1422,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open one-time product create dialog from list",
                      "duration": 694
                    },
                    {
                      "title": "verify one-time product create dialog is open",
                      "duration": 337
                    }
                  ],
                  "startTime": "2026-08-15T02:27:19.137Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 1379,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open recurring product create dialog from list",
                      "duration": 659
                    },
                    {
                      "title": "verify recurring product create dialog is open",
                      "duration": 336
                    }
                  ],
                  "startTime": "2026-08-15T02:27:20.565Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 10338,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1746
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4438
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1695
                    },
                    {
                      "title": "attach unit types",
                      "duration": 2054
                    },
                    {
                      "title": "verify attached unit types in inline list",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-15T02:27:21.950Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3701,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2713
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 137
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 464
                    }
                  ],
                  "startTime": "2026-08-15T02:27:32.296Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3647,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2585
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 150
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 510
                    }
                  ],
                  "startTime": "2026-08-15T02:27:36.003Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3962,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2792
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 193
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 548
                    }
                  ],
                  "startTime": "2026-08-15T02:27:39.656Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3642,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2595
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 133
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 472
                    }
                  ],
                  "startTime": "2026-08-15T02:27:43.625Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3638,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2685
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 121
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 447
                    }
                  ],
                  "startTime": "2026-08-15T02:27:47.274Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3515,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create one-time product",
                      "duration": 2609
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 116
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 454
                    }
                  ],
                  "startTime": "2026-08-15T02:27:50.917Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4592,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1727
                    },
                    {
                      "title": "create one-time product with duplicate name",
                      "duration": 2432
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 72
                    }
                  ],
                  "startTime": "2026-08-15T02:27:54.437Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7856,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1732
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1645
                    },
                    {
                      "title": "create one-time product with attached unit types",
                      "duration": 3970
                    },
                    {
                      "title": "verify attached unit types on details page",
                      "duration": 144
                    }
                  ],
                  "startTime": "2026-08-15T02:27:59.034Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6070,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1762
                    },
                    {
                      "title": "create published one-time product",
                      "duration": 3853
                    },
                    {
                      "title": "verify published status on details page",
                      "duration": 68
                    }
                  ],
                  "startTime": "2026-08-15T02:28:06.896Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 966,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid one-time product create form",
                      "duration": 573
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 31
                    }
                  ],
                  "startTime": "2026-08-15T02:28:12.970Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3833,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1722
                    },
                    {
                      "title": "delete one-time product",
                      "duration": 1417
                    },
                    {
                      "title": "verify product is no longer on list page",
                      "duration": 293
                    }
                  ],
                  "startTime": "2026-08-15T02:28:13.943Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 11154,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2806
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5069
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1804
                    },
                    {
                      "title": "detach unit type",
                      "duration": 278
                    },
                    {
                      "title": "verify only the remaining unit type is attached",
                      "duration": 810
                    }
                  ],
                  "startTime": "2026-08-15T02:28:17.783Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3871,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1987
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1457
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-15T02:28:28.945Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3568,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1785
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1386
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:28:32.823Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3706,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1883
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1412
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:28:36.397Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3521,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1732
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1426
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:28:40.108Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3504,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1747
                    },
                    {
                      "title": "edit one-time product booking portal",
                      "duration": 1375
                    },
                    {
                      "title": "verify new one-time product booking portal on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:28:43.634Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2657,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1692
                    },
                    {
                      "title": "submit edit clearing the max quantity per booking",
                      "duration": 596
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:28:47.142Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3781,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1666
                    },
                    {
                      "title": "edit one-time product general",
                      "duration": 1318
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 14
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 430
                    }
                  ],
                  "startTime": "2026-08-15T02:28:49.808Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4342,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1721
                    },
                    {
                      "title": "edit one-time product general",
                      "duration": 1811
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 22
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 428
                    }
                  ],
                  "startTime": "2026-08-15T02:28:53.594Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4329,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1665
                    },
                    {
                      "title": "edit one-time product general",
                      "duration": 1844
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 16
                    },
                    {
                      "title": "verify new one-time product on list page",
                      "duration": 448
                    }
                  ],
                  "startTime": "2026-08-15T02:28:57.940Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5617,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1929
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1900
                    },
                    {
                      "title": "edit one-time product to use duplicate name",
                      "duration": 1368
                    },
                    {
                      "title": "verify new one-time product on details page",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-15T02:29:02.274Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3714,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2668
                    },
                    {
                      "title": "submit edit clearing the name",
                      "duration": 628
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 22
                    }
                  ],
                  "startTime": "2026-08-15T02:29:07.896Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5466,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1748
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2262
                    },
                    {
                      "title": "verify product is initially unpublished",
                      "duration": 191
                    },
                    {
                      "title": "publish the product",
                      "duration": 873
                    },
                    {
                      "title": "verify product is now published",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-15T02:29:11.616Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6939,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2901
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2660
                    },
                    {
                      "title": "verify product is initially published",
                      "duration": 168
                    },
                    {
                      "title": "unpublish the product",
                      "duration": 832
                    },
                    {
                      "title": "verify product is now unpublished",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-15T02:29:17.089Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5406,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3378
                    },
                    {
                      "title": "edit one-time product tax",
                      "duration": 1641
                    },
                    {
                      "title": "verify new one-time product tax on details page",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-15T02:29:17.911Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3877,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1801
                    },
                    {
                      "title": "edit one-time product tax",
                      "duration": 1676
                    },
                    {
                      "title": "verify new one-time product tax on details page",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-15T02:29:23.323Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4897,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2427
                    },
                    {
                      "title": "edit one-time product tax",
                      "duration": 2082
                    },
                    {
                      "title": "verify new one-time product tax on details page",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-15T02:29:24.034Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2638842e586d2f09ea9e-352661a6068839031863",
          "file": "src/manager/tests/e2e/product/product-one-time-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "rejects an edit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2876,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1856
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 642
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-15T02:29:27.205Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2755,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1754
                    },
                    {
                      "title": "apply filter",
                      "duration": 485
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 147
                    }
                  ],
                  "startTime": "2026-08-15T02:29:28.937Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9697ce780cc9975d76cc-1cab16af026cd6a958e7",
          "file": "src/manager/tests/e2e/product/product-one-time-filter.spec.ts",
          "line": 9,
          "column": 5
        },
        {
          "title": "filters by name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2847,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1917
                    },
                    {
                      "title": "apply filter",
                      "duration": 505
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 76
                    }
                  ],
                  "startTime": "2026-08-15T02:29:30.087Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2721,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1845
                    },
                    {
                      "title": "apply filter",
                      "duration": 421
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 83
                    }
                  ],
                  "startTime": "2026-08-15T02:29:31.698Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9697ce780cc9975d76cc-8781ec726203b778ba43",
          "file": "src/manager/tests/e2e/product/product-one-time-filter.spec.ts",
          "line": 37,
          "column": 5
        },
        {
          "title": "filters by frequency=one-time",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2927,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1886
                    },
                    {
                      "title": "apply filter",
                      "duration": 635
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 17
                    }
                  ],
                  "startTime": "2026-08-15T02:29:32.940Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2985,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1912
                    },
                    {
                      "title": "apply filter",
                      "duration": 663
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-15T02:29:34.425Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9697ce780cc9975d76cc-c99622bcc9caaa456b0d",
          "file": "src/manager/tests/e2e/product/product-one-time-filter.spec.ts",
          "line": 71,
          "column": 5
        },
        {
          "title": "excludes one-time products not in the filtered location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2918,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 1877
                    },
                    {
                      "title": "apply filter",
                      "duration": 695
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-15T02:29:35.872Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3803,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 2836
                    },
                    {
                      "title": "apply filter",
                      "duration": 600
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 5
                    }
                  ],
                  "startTime": "2026-08-15T02:29:37.416Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "9697ce780cc9975d76cc-4cc8e9151c245c71dfea",
          "file": "src/manager/tests/e2e/product/product-one-time-filter.spec.ts",
          "line": 101,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/product/product-one-time-update-unit-types.spec.ts",
      "file": "src/manager/tests/e2e/product/product-one-time-update-unit-types.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "updates the unit type list via the picker",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 17194,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4865
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2401
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3446
                    },
                    {
                      "title": "setup: create one-time product via API",
                      "duration": 3975
                    },
                    {
                      "title": "update attached unit types",
                      "duration": 2098
                    },
                    {
                      "title": "verify updated unit types in inline list",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-15T02:29:38.796Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 11706,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 9537
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1523
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 266
                    }
                  ],
                  "startTime": "2026-08-15T02:29:41.225Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5043,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2889
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1515
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 258
                    }
                  ],
                  "startTime": "2026-08-15T02:29:52.937Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-df71889bbc2a55c209f9",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a booking plan to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5273,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2782
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1562
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 557
                    }
                  ],
                  "startTime": "2026-08-15T02:29:55.997Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4876,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3173
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1323
                    }
                  ],
                  "startTime": "2026-08-15T02:29:57.985Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-8db8aff43471f49897f7",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate period amount to monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5316,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3485
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1436
                    }
                  ],
                  "startTime": "2026-08-15T02:30:01.277Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5076,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3294
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1390
                    }
                  ],
                  "startTime": "2026-08-15T02:30:02.866Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-37ae57e1377c0d060e97",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate monthly period amount to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4706,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2914
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1407
                    }
                  ],
                  "startTime": "2026-08-15T02:30:06.599Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4617,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2913
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1320
                    }
                  ],
                  "startTime": "2026-08-15T02:30:07.948Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-4b430ac74eb536dee0bf",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a weekly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4563,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2825
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1365
                    }
                  ],
                  "startTime": "2026-08-15T02:30:11.311Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4780,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3054
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1335
                    }
                  ],
                  "startTime": "2026-08-15T02:30:12.572Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b38a48b747d825f26b57-48bef62f36ec5d5d6e77",
          "file": "src/manager/tests/e2e/product/product-recurring-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a monthly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4343,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2670
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1308
                    }
                  ],
                  "startTime": "2026-08-15T02:30:15.880Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4889,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3892
                    },
                    {
                      "title": "submit booking plan add form without required fields",
                      "duration": 615
                    }
                  ],
                  "startTime": "2026-08-15T02:30:17.087Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 10705,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2410
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2717
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3010
                    },
                    {
                      "title": "attach unit types",
                      "duration": 2149
                    },
                    {
                      "title": "verify attached unit types in inline list",
                      "duration": 23
                    }
                  ],
                  "startTime": "2026-08-15T02:30:17.358Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4805,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 3722
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 261
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 461
                    }
                  ],
                  "startTime": "2026-08-15T02:30:20.229Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 8058,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 6824
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 395
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 462
                    }
                  ],
                  "startTime": "2026-08-15T02:30:21.985Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8366,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 6907
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 518
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 547
                    }
                  ],
                  "startTime": "2026-08-15T02:30:25.040Z",
                  "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": 8352,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 6949
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 524
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 480
                    }
                  ],
                  "startTime": "2026-08-15T02:30:28.069Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5081,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 3881
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 305
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 473
                    }
                  ],
                  "startTime": "2026-08-15T02:30:30.048Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5105,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 3846
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 327
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 520
                    }
                  ],
                  "startTime": "2026-08-15T02:30:33.414Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-76f103f477fc220cd76f",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 22,
          "column": 7
        },
        {
          "title": "creates a recurring product with mixed b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5406,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 4334
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 168
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 472
                    }
                  ],
                  "startTime": "2026-08-15T02:30:35.136Z",
                  "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": 5296,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 4030
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 300
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 516
                    }
                  ],
                  "startTime": "2026-08-15T02:30:36.426Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5076,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 3866
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 265
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 494
                    }
                  ],
                  "startTime": "2026-08-15T02:30:38.524Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-cd58803286f495419faa",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 22,
          "column": 7
        },
        {
          "title": "creates a recurring product with a short description",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5263,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create recurring product",
                      "duration": 4007
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 318
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 508
                    }
                  ],
                  "startTime": "2026-08-15T02:30:40.549Z",
                  "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": 6556,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2168
                    },
                    {
                      "title": "create recurring product with duplicate name",
                      "duration": 3861
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 111
                    }
                  ],
                  "startTime": "2026-08-15T02:30:41.728Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9947,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2220
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2029
                    },
                    {
                      "title": "create recurring product with attached unit types",
                      "duration": 5131
                    },
                    {
                      "title": "verify attached unit types on details page",
                      "duration": 167
                    }
                  ],
                  "startTime": "2026-08-15T02:30:43.605Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-29eb7672520249e8761e",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 97,
          "column": 5
        },
        {
          "title": "rejects a recurring product without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2111,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid recurring product create form",
                      "duration": 1682
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 27
                    }
                  ],
                  "startTime": "2026-08-15T02:30:45.819Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-43f93a9d4960b7d74bc1",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 123,
          "column": 5
        },
        {
          "title": "rejects a recurring product with duplicate weekly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3640,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid recurring product create form",
                      "duration": 3203
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 28
                    }
                  ],
                  "startTime": "2026-08-15T02:30:47.936Z",
                  "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": 3698,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid recurring product create form",
                      "duration": 3252
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-15T02:30:48.291Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-c102df9b5b19d689ea59",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 139,
          "column": 7
        },
        {
          "title": "rejects a recurring product with duplicate mixed booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5841,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid recurring product create form",
                      "duration": 4826
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-15T02:30:51.582Z",
                  "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": 2453,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2073
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-15T02:30:51.995Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "717e76d36be5d42d13fe-76da194916cb11bd1fc3",
          "file": "src/manager/tests/e2e/product/product-recurring-create.spec.ts",
          "line": 156,
          "column": 7
        },
        {
          "title": "rejects a recurring product with weekly booking plans below the min period amount",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2452,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2055
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-15T02:30:53.558Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2489,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2078
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-15T02:30:54.454Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2496,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2102
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-15T02:30:56.015Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2268,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "add two duplicate booking plans",
                      "duration": 1849
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-15T02:30:56.950Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4988,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2779
                    },
                    {
                      "title": "delete booking plan",
                      "duration": 1651
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 169
                    }
                  ],
                  "startTime": "2026-08-15T02:30:57.429Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "failed",
                  "duration": 35319,
                  "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": 3294
                    },
                    {
                      "title": "attempt to delete the only booking plan via inline action",
                      "duration": 1123
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30017,
                      "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-15T02:30:58.517Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6102,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3890
                    },
                    {
                      "title": "select booking plans to delete",
                      "duration": 372
                    },
                    {
                      "title": "delete booking plans",
                      "duration": 1366
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 94
                    }
                  ],
                  "startTime": "2026-08-15T02:30:59.224Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "failed",
                  "duration": 33969,
                  "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": 2865
                    },
                    {
                      "title": "attempt to delete all booking plans via row action",
                      "duration": 704
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30012,
                      "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-15T02:31:02.424Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3953,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 1837
                    },
                    {
                      "title": "delete recurring product",
                      "duration": 1462
                    },
                    {
                      "title": "verify product is no longer on list page",
                      "duration": 285
                    }
                  ],
                  "startTime": "2026-08-15T02:31:05.332Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 10332,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1850
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4500
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2539
                    },
                    {
                      "title": "detach unit type",
                      "duration": 275
                    },
                    {
                      "title": "verify only the remaining unit type is attached",
                      "duration": 808
                    }
                  ],
                  "startTime": "2026-08-15T02:31:09.292Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5356,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2957
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1733
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 270
                    }
                  ],
                  "startTime": "2026-08-15T02:31:19.631Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5206,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2777
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1819
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 236
                    }
                  ],
                  "startTime": "2026-08-15T02:31:24.994Z",
                  "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": 5099,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2701
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1844
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 193
                    }
                  ],
                  "startTime": "2026-08-15T02:31:30.206Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-36580eaf0ecb121b3fe0",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "removes the discount of a booking plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5880,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3389
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1921
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 220
                    }
                  ],
                  "startTime": "2026-08-15T02:31:33.845Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5233,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3288
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1337
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 223
                    }
                  ],
                  "startTime": "2026-08-15T02:31:35.311Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5424,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3615
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1404
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 53
                    }
                  ],
                  "startTime": "2026-08-15T02:31:36.401Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-6f85382ed33cc4804f9f",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a duplicate period amount in monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4641,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2812
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1422
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 42
                    }
                  ],
                  "startTime": "2026-08-15T02:31:39.730Z",
                  "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": 5308,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3435
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1411
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 64
                    }
                  ],
                  "startTime": "2026-08-15T02:31:40.548Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5412,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3648
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1316
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 54
                    }
                  ],
                  "startTime": "2026-08-15T02:31:41.830Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-c80ab566ed04d4bedc16",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a weekly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4505,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2750
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1363
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-15T02:31:44.376Z",
                  "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": 4534,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2819
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1324
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-15T02:31:45.862Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4591,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2825
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1374
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:31:47.250Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "dd598a64b0fdc33e3d47-fe0eed10a12f9bd4aa1a",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan with a monthly period amount below the min",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4478,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2779
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1312
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-15T02:31:48.887Z",
                  "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": 4324,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2616
                    },
                    {
                      "title": "submit booking plan edit form with cleared required fields",
                      "duration": 1307
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-15T02:31:50.403Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 8138,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3148
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 381
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1256
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 2980
                    }
                  ],
                  "startTime": "2026-08-15T02:31:51.847Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8036,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3091
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 312
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1268
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 2984
                    }
                  ],
                  "startTime": "2026-08-15T02:31:53.373Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4308,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3231
                    },
                    {
                      "title": "submit price change form without required fields",
                      "duration": 680
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:31:54.734Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3864,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2768
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 352
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 185
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 198
                    }
                  ],
                  "startTime": "2026-08-15T02:31:59.048Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "b625c68c24fa119d66bd-63029d3cd8367598e90c",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-booking-plans-publish-status.spec.ts",
          "line": 8,
          "column": 7
        },
        {
          "title": "unpublishes all booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4190,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3160
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 297
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 189
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 188
                    }
                  ],
                  "startTime": "2026-08-15T02:31:59.991Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5994,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4252
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1365
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 21
                    }
                  ],
                  "startTime": "2026-08-15T02:32:01.415Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5746,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3978
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1384
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-15T02:32:02.919Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7994,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 6243
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1376
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 16
                    }
                  ],
                  "startTime": "2026-08-15T02:32:04.188Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8629,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 6715
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1507
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-15T02:32:07.414Z",
                  "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": 9035,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 7105
                    },
                    {
                      "title": "edit recurring product booking portal",
                      "duration": 1514
                    },
                    {
                      "title": "verify new recurring product booking portal on details page",
                      "duration": 33
                    }
                  ],
                  "startTime": "2026-08-15T02:32:08.670Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6266,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5147
                    },
                    {
                      "title": "submit edit clearing the max quantity per booking",
                      "duration": 682
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-15T02:32:12.188Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5034,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2822
                    },
                    {
                      "title": "edit recurring product general",
                      "duration": 1376
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 12
                    },
                    {
                      "title": "verify new recurring product on list page",
                      "duration": 431
                    }
                  ],
                  "startTime": "2026-08-15T02:32:16.051Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 8788,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2598
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4406
                    },
                    {
                      "title": "edit recurring product to use duplicate name",
                      "duration": 1366
                    },
                    {
                      "title": "verify new recurring product on details page",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-15T02:32:17.715Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4224,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3192
                    },
                    {
                      "title": "submit edit clearing the name",
                      "duration": 618
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-15T02:32:18.460Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4109,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 1942
                    },
                    {
                      "title": "edit recurring product tax",
                      "duration": 1756
                    },
                    {
                      "title": "verify new recurring product tax on details page",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-15T02:32:21.095Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5604,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3511
                    },
                    {
                      "title": "edit recurring product tax",
                      "duration": 1690
                    },
                    {
                      "title": "verify new recurring product tax on details page",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-15T02:32:22.693Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "5830ff1dfba5f9289d50-f8727b0f3cd2ad403e9d",
          "file": "src/manager/tests/e2e/product/product-recurring-edit-tax.spec.ts",
          "line": 9,
          "column": 7
        },
        {
          "title": "edits both b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7536,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 5145
                    },
                    {
                      "title": "edit recurring product tax",
                      "duration": 2010
                    },
                    {
                      "title": "verify new recurring product tax on details page",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-15T02:32:25.209Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3533,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2473
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 662
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-15T02:32:26.511Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4404,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3393
                    },
                    {
                      "title": "apply filter",
                      "duration": 498
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 151
                    }
                  ],
                  "startTime": "2026-08-15T02:32:28.304Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3862,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 2981
                    },
                    {
                      "title": "apply filter",
                      "duration": 448
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 81
                    }
                  ],
                  "startTime": "2026-08-15T02:32:30.050Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2824,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 1938
                    },
                    {
                      "title": "apply filter",
                      "duration": 387
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 121
                    }
                  ],
                  "startTime": "2026-08-15T02:32:32.714Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4281,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3247
                    },
                    {
                      "title": "apply filter",
                      "duration": 633
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-15T02:32:32.752Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4474,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3464
                    },
                    {
                      "title": "apply filter",
                      "duration": 618
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 10
                    }
                  ],
                  "startTime": "2026-08-15T02:32:33.917Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4199,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 3200
                    },
                    {
                      "title": "apply filter",
                      "duration": 621
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-15T02:32:35.543Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 14954,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3021
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2617
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2677
                    },
                    {
                      "title": "setup: create recurring product via API",
                      "duration": 4149
                    },
                    {
                      "title": "update attached unit types",
                      "duration": 2091
                    },
                    {
                      "title": "verify updated unit types in inline list",
                      "duration": 28
                    }
                  ],
                  "startTime": "2026-08-15T02:32:37.039Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4826,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2902
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "change unit status",
                      "duration": 1003
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 5
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 500
                    }
                  ],
                  "startTime": "2026-08-15T02:32:38.404Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6152,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4274
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "change unit status",
                      "duration": 985
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 5
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 496
                    }
                  ],
                  "startTime": "2026-08-15T02:32:39.750Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5242,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3375
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "change unit status",
                      "duration": 991
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 5
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 478
                    }
                  ],
                  "startTime": "2026-08-15T02:32:43.242Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6885,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4984
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 28
                    },
                    {
                      "title": "change unit status",
                      "duration": 986
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 6
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 515
                    }
                  ],
                  "startTime": "2026-08-15T02:32:45.908Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5630,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3707
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "change unit status",
                      "duration": 1025
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 6
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 485
                    }
                  ],
                  "startTime": "2026-08-15T02:32:48.489Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8027,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5980
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "change unit status",
                      "duration": 1034
                    },
                    {
                      "title": "verify new status on details page",
                      "duration": 8
                    },
                    {
                      "title": "verify new status on list page",
                      "duration": 553
                    }
                  ],
                  "startTime": "2026-08-15T02:32:52.003Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5483,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2205
                    },
                    {
                      "title": "create unit",
                      "duration": 2089
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 177
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 628
                    }
                  ],
                  "startTime": "2026-08-15T02:32:52.801Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5692,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2286
                    },
                    {
                      "title": "create unit",
                      "duration": 2178
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 202
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 651
                    }
                  ],
                  "startTime": "2026-08-15T02:32:54.127Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "821325180c23605a499d-cbd6ab71455ed2625e9f",
          "file": "src/manager/tests/e2e/unit/unit-create.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "creates a blocked unit without measurements",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5720,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2813
                    },
                    {
                      "title": "create unit",
                      "duration": 1604
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 176
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 742
                    }
                  ],
                  "startTime": "2026-08-15T02:32:58.291Z",
                  "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": 12689,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 10057
                    },
                    {
                      "title": "create unit",
                      "duration": 1484
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 147
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 609
                    }
                  ],
                  "startTime": "2026-08-15T02:32:59.825Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "821325180c23605a499d-114f0fb8e4b1d2854d54",
          "file": "src/manager/tests/e2e/unit/unit-create.spec.ts",
          "line": 13,
          "column": 7
        },
        {
          "title": "rejects a unit without all required fields",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4299,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2555
                    },
                    {
                      "title": "submit invalid unit create form",
                      "duration": 1338
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 18
                    }
                  ],
                  "startTime": "2026-08-15T02:33:00.038Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "821325180c23605a499d-0518a975ef503286d35e",
          "file": "src/manager/tests/e2e/unit/unit-create.spec.ts",
          "line": 69,
          "column": 5
        },
        {
          "title": "rejects a unit with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4547,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2857
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "submit unit create form with duplicate name",
                      "duration": 1221
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 78
                    }
                  ],
                  "startTime": "2026-08-15T02:33:04.018Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "821325180c23605a499d-dcdf3cfc6d64446acd18",
          "file": "src/manager/tests/e2e/unit/unit-create.spec.ts",
          "line": 85,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit/unit-edit-general.spec.ts",
      "file": "src/manager/tests/e2e/unit/unit-edit-general.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5963,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4053
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "edit unit general",
                      "duration": 965
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 28
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 530
                    }
                  ],
                  "startTime": "2026-08-15T02:33:04.344Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4849,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2844
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "edit unit general",
                      "duration": 929
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 26
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 657
                    }
                  ],
                  "startTime": "2026-08-15T02:33:08.573Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4339,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2511
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "edit unit general",
                      "duration": 877
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 29
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 508
                    }
                  ],
                  "startTime": "2026-08-15T02:33:10.314Z",
                  "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": 8890,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2941
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3820
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "edit unit type",
                      "duration": 1195
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 10
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 539
                    }
                  ],
                  "startTime": "2026-08-15T02:33:12.521Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 12577,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4703
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5549
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 25
                    },
                    {
                      "title": "edit location and unit type",
                      "duration": 1358
                    },
                    {
                      "title": "verify new unit on details page",
                      "duration": 17
                    },
                    {
                      "title": "verify new unit on list page",
                      "duration": 540
                    }
                  ],
                  "startTime": "2026-08-15T02:33:13.428Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3197,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2111
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 607
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 82
                    }
                  ],
                  "startTime": "2026-08-15T02:33:14.659Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "54a50ea27025a707e924-21a3fa3d7c432cebf780",
          "file": "src/manager/tests/e2e/unit/unit-edit-general.spec.ts",
          "line": 110,
          "column": 5
        },
        {
          "title": "rejects an edit changing location without a unit type",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4027,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2767
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "submit edit changing only the location",
                      "duration": 864
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 11
                    }
                  ],
                  "startTime": "2026-08-15T02:33:17.861Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5948,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3899
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 26
                    },
                    {
                      "title": "edit unit measurements",
                      "duration": 958
                    },
                    {
                      "title": "verify new measurements on details page",
                      "duration": 43
                    },
                    {
                      "title": "verify new measurements on list page",
                      "duration": 644
                    }
                  ],
                  "startTime": "2026-08-15T02:33:21.417Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6962,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4864
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 27
                    },
                    {
                      "title": "edit unit measurements",
                      "duration": 1085
                    },
                    {
                      "title": "verify new measurements on details page",
                      "duration": 41
                    },
                    {
                      "title": "verify new measurements on list page",
                      "duration": 580
                    }
                  ],
                  "startTime": "2026-08-15T02:33:21.894Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3348,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2270
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 29
                    },
                    {
                      "title": "apply filter",
                      "duration": 609
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 72
                    }
                  ],
                  "startTime": "2026-08-15T02:33:26.012Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 7590,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6624
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 21
                    },
                    {
                      "title": "apply filter",
                      "duration": 486
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 85
                    }
                  ],
                  "startTime": "2026-08-15T02:33:27.373Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "43116b15ae353d116f50-9586d08abf77e54f314a",
          "file": "src/manager/tests/e2e/unit/unit-filter.spec.ts",
          "line": 25,
          "column": 5
        },
        {
          "title": "filters by location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3152,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2142
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 30
                    },
                    {
                      "title": "apply filter",
                      "duration": 488
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 128
                    }
                  ],
                  "startTime": "2026-08-15T02:33:28.864Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4086,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3053
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "apply filter",
                      "duration": 528
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 105
                    }
                  ],
                  "startTime": "2026-08-15T02:33:29.366Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5716,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4765
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 24
                    },
                    {
                      "title": "apply filter",
                      "duration": 430
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 146
                    }
                  ],
                  "startTime": "2026-08-15T02:33:32.022Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3079,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 1964
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "apply filter",
                      "duration": 700
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-15T02:33:33.457Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4599,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3219
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 21
                    },
                    {
                      "title": "apply filter",
                      "duration": 996
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-15T02:33:34.969Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4158,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2996
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 23
                    },
                    {
                      "title": "apply filter",
                      "duration": 755
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 10
                    }
                  ],
                  "startTime": "2026-08-15T02:33:36.543Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "43116b15ae353d116f50-57e9c0824e6f0a63a98b",
          "file": "src/manager/tests/e2e/unit/unit-filter.spec.ts",
          "line": 122,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit/unit-navigate.spec.ts",
      "file": "src/manager/tests/e2e/unit/unit-navigate.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "navigates from the unit list to the unit details page",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5881,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4794
                    },
                    {
                      "title": "setup: create unit via API",
                      "duration": 31
                    },
                    {
                      "title": "navigate to unit details page",
                      "duration": 628
                    },
                    {
                      "title": "verify unit details page",
                      "duration": 69
                    }
                  ],
                  "startTime": "2026-08-15T02:33:37.745Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 1082,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open unit create dialog from list",
                      "duration": 349
                    },
                    {
                      "title": "verify unit create dialog is open",
                      "duration": 351
                    }
                  ],
                  "startTime": "2026-08-15T02:33:39.574Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5562,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3298
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1529
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 356
                    }
                  ],
                  "startTime": "2026-08-15T02:33:40.665Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-c4f94dccb05db5ce8cf5",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a named weekly booking plan to weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7156,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4827
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1579
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 384
                    }
                  ],
                  "startTime": "2026-08-15T02:33:40.709Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-1839eb94e44e63b4af92",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a monthly booking plan to weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5897,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3576
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1626
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 296
                    }
                  ],
                  "startTime": "2026-08-15T02:33:43.636Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5319,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3052
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1535
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 324
                    }
                  ],
                  "startTime": "2026-08-15T02:33:46.233Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-d635a0090ec0f74ec8c1",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a monthly booking plan to monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5476,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3083
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1561
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 433
                    }
                  ],
                  "startTime": "2026-08-15T02:33:47.872Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-2ba30f9e870515dac6f6",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "adds a weekly booking plan to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5516,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3122
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1692
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 281
                    }
                  ],
                  "startTime": "2026-08-15T02:33:49.538Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5551,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3199
                    },
                    {
                      "title": "add booking plans",
                      "duration": 1588
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 370
                    }
                  ],
                  "startTime": "2026-08-15T02:33:51.558Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-2d5ec38905a4160ff03e",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate period amount and name to weekly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5086,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3178
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1523
                    }
                  ],
                  "startTime": "2026-08-15T02:33:53.355Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-65e1e3dfa045d2015555",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate period amount and name to monthly plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5030,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3104
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1516
                    }
                  ],
                  "startTime": "2026-08-15T02:33:55.060Z",
                  "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": 5061,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3120
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1523
                    }
                  ],
                  "startTime": "2026-08-15T02:33:57.115Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-fa2afb1101fc9936f2c6",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a duplicate monthly period amount and name to mixed plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5390,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3495
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1487
                    }
                  ],
                  "startTime": "2026-08-15T02:33:58.448Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-ffeabc5b035190fe09e3",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a nameless booking plan that duplicates an existing nameless plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5137,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3420
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1341
                    }
                  ],
                  "startTime": "2026-08-15T02:34:00.096Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "0d2c20ead95f25fefa92-f019e0c985a6efd3594a",
          "file": "src/manager/tests/e2e/unit-type/unit-type-add-booking-plans.spec.ts",
          "line": 29,
          "column": 7
        },
        {
          "title": "rejects adding a booking plan with a weekly period amount beyond the max",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5863,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4193
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1327
                    }
                  ],
                  "startTime": "2026-08-15T02:34:02.183Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5767,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4075
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1323
                    }
                  ],
                  "startTime": "2026-08-15T02:34:03.844Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5846,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4183
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1305
                    }
                  ],
                  "startTime": "2026-08-15T02:34:05.239Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4908,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3006
                    },
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 1503
                    }
                  ],
                  "startTime": "2026-08-15T02:34:08.052Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4118,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3015
                    },
                    {
                      "title": "submit booking plan add form without required fields",
                      "duration": 723
                    }
                  ],
                  "startTime": "2026-08-15T02:34:09.617Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3464,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3339
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 57
                    }
                  ],
                  "startTime": "2026-08-15T02:34:11.092Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3472,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3343
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 60
                    }
                  ],
                  "startTime": "2026-08-15T02:34:12.818Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3477,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3355
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 50
                    }
                  ],
                  "startTime": "2026-08-15T02:34:12.968Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3508,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3385
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 48
                    }
                  ],
                  "startTime": "2026-08-15T02:34:13.744Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3404,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3291
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 43
                    }
                  ],
                  "startTime": "2026-08-15T02:34:14.562Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3463,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3341
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 52
                    }
                  ],
                  "startTime": "2026-08-15T02:34:16.296Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3442,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3332
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 44
                    }
                  ],
                  "startTime": "2026-08-15T02:34:16.450Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3491,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3364
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 54
                    }
                  ],
                  "startTime": "2026-08-15T02:34:17.262Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3412,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3298
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 43
                    }
                  ],
                  "startTime": "2026-08-15T02:34:17.971Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3829,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3677
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 80
                    }
                  ],
                  "startTime": "2026-08-15T02:34:19.764Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3385,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3275
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 42
                    }
                  ],
                  "startTime": "2026-08-15T02:34:19.899Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3437,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3311
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 56
                    }
                  ],
                  "startTime": "2026-08-15T02:34:20.759Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3412,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3287
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 53
                    }
                  ],
                  "startTime": "2026-08-15T02:34:21.389Z",
                  "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": 3368,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3265
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 34
                    }
                  ],
                  "startTime": "2026-08-15T02:34:23.289Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-10c940279f633ff58121",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a canceled booking as available with to-check, blocked and blocked units, move-out date set today - 2 days, requested move-in date set 7 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3404,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3279
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 50
                    }
                  ],
                  "startTime": "2026-08-15T02:34:23.599Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3432,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3319
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 44
                    }
                  ],
                  "startTime": "2026-08-15T02:34:24.201Z",
                  "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": 3,
                  "status": "passed",
                  "duration": 3418,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3298
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 51
                    }
                  ],
                  "startTime": "2026-08-15T02:34:24.806Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3456,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3343
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 45
                    }
                  ],
                  "startTime": "2026-08-15T02:34:26.663Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-5248fe464dc959b6cf26",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 20,
          "column": 7
        },
        {
          "title": "shows unit type part of a canceled booking as available with vacant, blocked and blocked units, move-out date set today - 2 days, requested move-in date set 5 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3425,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3272
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 73
                    }
                  ],
                  "startTime": "2026-08-15T02:34:27.008Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3508,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3387
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 53
                    }
                  ],
                  "startTime": "2026-08-15T02:34:27.639Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3489,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3366
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 53
                    }
                  ],
                  "startTime": "2026-08-15T02:34:28.229Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3503,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3382
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 54
                    }
                  ],
                  "startTime": "2026-08-15T02:34:30.124Z",
                  "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": 3607,
                  "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": 68
                    }
                  ],
                  "startTime": "2026-08-15T02:34:30.439Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3525,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3390
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 57
                    }
                  ],
                  "startTime": "2026-08-15T02:34:31.152Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3588,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3442
                    },
                    {
                      "title": "verify unit type is available in booking create dialog",
                      "duration": 68
                    }
                  ],
                  "startTime": "2026-08-15T02:34:31.724Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3599,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3463
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 62
                    }
                  ],
                  "startTime": "2026-08-15T02:34:33.634Z",
                  "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": 3616,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3469
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 61
                    }
                  ],
                  "startTime": "2026-08-15T02:34:34.052Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3690,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3552
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 69
                    }
                  ],
                  "startTime": "2026-08-15T02:34:34.684Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3643,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3528
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 42
                    }
                  ],
                  "startTime": "2026-08-15T02:34:35.319Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3520,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3397
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 40
                    }
                  ],
                  "startTime": "2026-08-15T02:34:37.240Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-760e80ab4e2d61e583f5",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of a scheduled booking as available with reserved, maintenance and maintenance units",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4004,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3840
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 84
                    }
                  ],
                  "startTime": "2026-08-15T02:34:37.676Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3999,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3872
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 48
                    }
                  ],
                  "startTime": "2026-08-15T02:34:38.382Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 3469,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3343
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 54
                    }
                  ],
                  "startTime": "2026-08-15T02:34:38.969Z",
                  "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": 3575,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3456
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 51
                    }
                  ],
                  "startTime": "2026-08-15T02:34:40.766Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-25d639ef2fd4c96284e5",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of a canceled booking as available with to-check, blocked and blocked units, move-out date set today - 2 days, requested move-in date set 2 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3489,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3344
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 67
                    }
                  ],
                  "startTime": "2026-08-15T02:34:41.686Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3587,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3445
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 65
                    }
                  ],
                  "startTime": "2026-08-15T02:34:42.387Z",
                  "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": 3,
                  "status": "passed",
                  "duration": 3589,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3454
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 61
                    }
                  ],
                  "startTime": "2026-08-15T02:34:42.445Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3719,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3589
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 59
                    }
                  ],
                  "startTime": "2026-08-15T02:34:44.348Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "2f501c52450f7e171655-ee705baffd2d4e6a5c39",
          "file": "src/manager/tests/e2e/unit-type/unit-type-availability.spec.ts",
          "line": 35,
          "column": 7
        },
        {
          "title": "does not show unit type part of a past-due and already canceled booking as available with rented, blocked and blocked units, move-out date set today + 5 days, requested move-in date set 5 days after move-out date and to-check time 7 days",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3910,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open booking create dialog for unit type",
                      "duration": 3775
                    },
                    {
                      "title": "verify unit type is not available in booking create dialog",
                      "duration": 54
                    }
                  ],
                  "startTime": "2026-08-15T02:34:45.182Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5926,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4722
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 164
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 598
                    }
                  ],
                  "startTime": "2026-08-15T02:34:45.985Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 10209,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 8725
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 464
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 578
                    }
                  ],
                  "startTime": "2026-08-15T02:34:46.042Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 10321,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 8782
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 534
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 569
                    }
                  ],
                  "startTime": "2026-08-15T02:34:48.075Z",
                  "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": 10329,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 8757
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 545
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 575
                    }
                  ],
                  "startTime": "2026-08-15T02:34:49.104Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6634,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 5341
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 274
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 588
                    }
                  ],
                  "startTime": "2026-08-15T02:34:51.919Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5935,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4752
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 170
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 584
                    }
                  ],
                  "startTime": "2026-08-15T02:34:56.257Z",
                  "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": 6038,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4762
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 296
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 564
                    }
                  ],
                  "startTime": "2026-08-15T02:34:58.403Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-4208b174579bfef23fcb",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with mixed b2c and b2b taxes",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 6000,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4702
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 277
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 575
                    }
                  ],
                  "startTime": "2026-08-15T02:34:58.560Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-d573e1ec9f370191d0bd",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with a more info url",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 6331,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 5120
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 222
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 544
                    }
                  ],
                  "startTime": "2026-08-15T02:34:59.439Z",
                  "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": 3,
                  "status": "passed",
                  "duration": 5844,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4553
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 275
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 557
                    }
                  ],
                  "startTime": "2026-08-15T02:35:02.199Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5706,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4399
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 307
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 541
                    }
                  ],
                  "startTime": "2026-08-15T02:35:04.449Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5696,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "create unit type",
                      "duration": 4460
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 248
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 515
                    }
                  ],
                  "startTime": "2026-08-15T02:35:04.571Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-47b8d80358ed65ef6071",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 18,
          "column": 7
        },
        {
          "title": "creates a unit type with a deposit",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 7746,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 2436
                    },
                    {
                      "title": "create unit type",
                      "duration": 4763
                    },
                    {
                      "title": "verify deposit on details page",
                      "duration": 104
                    }
                  ],
                  "startTime": "2026-08-15T02:35:05.776Z",
                  "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": 3,
                  "status": "passed",
                  "duration": 2777,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 2285
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 55
                    }
                  ],
                  "startTime": "2026-08-15T02:35:08.051Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4640,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 4181
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 33
                    }
                  ],
                  "startTime": "2026-08-15T02:35:10.162Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "d5bac11219cf6757e83d-8c9a0ebd1ecbb32337bb",
          "file": "src/manager/tests/e2e/unit-type/unit-type-create.spec.ts",
          "line": 111,
          "column": 7
        },
        {
          "title": "rejects a unit type with non-unique weekly booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4816,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 4171
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 32
                    }
                  ],
                  "startTime": "2026-08-15T02:35:10.274Z",
                  "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": 3,
                  "status": "passed",
                  "duration": 4968,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 4478
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 29
                    }
                  ],
                  "startTime": "2026-08-15T02:35:10.838Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 7014,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "submit invalid unit type create form",
                      "duration": 6516
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-15T02:35:11.651Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 2803,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2325
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 12
                    }
                  ],
                  "startTime": "2026-08-15T02:35:13.528Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 2825,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2357
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-15T02:35:14.808Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 2930,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2458
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-15T02:35:15.098Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 2892,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "verify invalid booking plans cannot be added",
                      "duration": 2397
                    },
                    {
                      "title": "verify booking plans table is empty",
                      "duration": 7
                    }
                  ],
                  "startTime": "2026-08-15T02:35:15.812Z",
                  "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": 2653,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "add two duplicate booking plans",
                      "duration": 2169
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:35:16.338Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5754,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2186
                    },
                    {
                      "title": "submit unit type create form with duplicate name",
                      "duration": 3097
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 82
                    }
                  ],
                  "startTime": "2026-08-15T02:35:17.641Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 8436,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6346
                    },
                    {
                      "title": "delete booking plan",
                      "duration": 1520
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 180
                    }
                  ],
                  "startTime": "2026-08-15T02:35:18.036Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "failed",
                  "duration": 34204,
                  "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": 2664
                    },
                    {
                      "title": "attempt to delete the only booking plan via inline action",
                      "duration": 1140
                    },
                    {
                      "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-15T02:35:18.671Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9544,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7359
                    },
                    {
                      "title": "select booking plans to delete",
                      "duration": 365
                    },
                    {
                      "title": "delete booking plans",
                      "duration": 1344
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 91
                    }
                  ],
                  "startTime": "2026-08-15T02:35:18.710Z",
                  "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": 35011,
                  "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": 3875
                    },
                    {
                      "title": "attempt to delete all booking plans via row action",
                      "duration": 695
                    },
                    {
                      "title": "verify error snackbar",
                      "duration": 30018,
                      "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-15T02:35:18.997Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 6233,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4139
                    },
                    {
                      "title": "delete unit type",
                      "duration": 1429
                    },
                    {
                      "title": "verify unit type is no longer on list page",
                      "duration": 287
                    }
                  ],
                  "startTime": "2026-08-15T02:35:23.403Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4814,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2961
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1241
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 250
                    }
                  ],
                  "startTime": "2026-08-15T02:35:26.478Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4952,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2988
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1315
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 286
                    }
                  ],
                  "startTime": "2026-08-15T02:35:28.264Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4985,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3044
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1314
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 238
                    }
                  ],
                  "startTime": "2026-08-15T02:35:29.643Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4953,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3030
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1326
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 226
                    }
                  ],
                  "startTime": "2026-08-15T02:35:31.298Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5543,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3028
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1936
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 232
                    }
                  ],
                  "startTime": "2026-08-15T02:35:33.221Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5683,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3107
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1968
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 221
                    }
                  ],
                  "startTime": "2026-08-15T02:35:34.634Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5694,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3152
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1957
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 230
                    }
                  ],
                  "startTime": "2026-08-15T02:35:36.256Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5424,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2934
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1864
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 247
                    }
                  ],
                  "startTime": "2026-08-15T02:35:38.769Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5616,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3036
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1939
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 259
                    }
                  ],
                  "startTime": "2026-08-15T02:35:40.323Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5121,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3120
                    },
                    {
                      "title": "edit booking plan",
                      "duration": 1351
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 265
                    }
                  ],
                  "startTime": "2026-08-15T02:35:41.956Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 5099,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3227
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1438
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 71
                    }
                  ],
                  "startTime": "2026-08-15T02:35:44.199Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 5019,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3145
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1428
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 71
                    }
                  ],
                  "startTime": "2026-08-15T02:35:45.943Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5382,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3595
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1363
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 52
                    }
                  ],
                  "startTime": "2026-08-15T02:35:47.083Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 4834,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3052
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1370
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 44
                    }
                  ],
                  "startTime": "2026-08-15T02:35:49.305Z",
                  "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": 4661,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3084
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1193
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 23
                    }
                  ],
                  "startTime": "2026-08-15T02:35:50.967Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4967,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3274
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1310
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 19
                    }
                  ],
                  "startTime": "2026-08-15T02:35:52.471Z",
                  "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": 9229,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7458
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1316
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-15T02:35:52.887Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 5044,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3337
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1319
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 20
                    }
                  ],
                  "startTime": "2026-08-15T02:35:54.015Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "715c1a4bbf86f8d2dbdd-e6a5a64de8ab36c7b79c",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plan.spec.ts",
          "line": 34,
          "column": 7
        },
        {
          "title": "rejects editing a booking plan to clear a name shared with another plan",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6291,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4732
                    },
                    {
                      "title": "submit invalid booking plan edit form",
                      "duration": 1117
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 75
                    }
                  ],
                  "startTime": "2026-08-15T02:35:54.145Z",
                  "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": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 11145,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 9456
                    },
                    {
                      "title": "submit booking plan edit form with cleared required fields",
                      "duration": 1289
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-15T02:35:55.634Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 9543,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4482
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 451
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1244
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 3006
                    }
                  ],
                  "startTime": "2026-08-15T02:35:57.445Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 9405,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4450
                    },
                    {
                      "title": "select booking plans to change prices",
                      "duration": 382
                    },
                    {
                      "title": "change prices of booking plans",
                      "duration": 1231
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 2978
                    }
                  ],
                  "startTime": "2026-08-15T02:35:59.066Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 7333,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6288
                    },
                    {
                      "title": "submit price change form without required fields",
                      "duration": 650
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:36:00.444Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 7352,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6256
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 350
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 184
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 190
                    }
                  ],
                  "startTime": "2026-08-15T02:36:02.123Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "deddb2845b3c2459852a-8b1f7753e5e5fcee39ce",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-publish-status.spec.ts",
          "line": 8,
          "column": 7
        },
        {
          "title": "unpublishes all booking plans",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 4078,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3069
                    },
                    {
                      "title": "select booking plans to change publish status",
                      "duration": 296
                    },
                    {
                      "title": "change publish status of booking plans",
                      "duration": 185
                    },
                    {
                      "title": "verify booking plans on details page",
                      "duration": 171
                    }
                  ],
                  "startTime": "2026-08-15T02:36:06.785Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "deddb2845b3c2459852a-c8161a48574ef3b7b482",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-plans-publish-status.spec.ts",
          "line": 8,
          "column": 7
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the more info url",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7104,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5839
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 884
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-15T02:36:06.995Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 9414,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 8153
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 879
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-15T02:36:07.784Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4171,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2851
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 936
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-15T02:36:08.477Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 6234,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 4891
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 952
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-15T02:36:09.482Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "59eb5bc2f9a9be7dd230-33c884a5e972da70c88e",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "edits the category",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 9869,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 8171
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 1302
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 29
                    }
                  ],
                  "startTime": "2026-08-15T02:36:10.870Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 9907,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7951
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 1574
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 40
                    }
                  ],
                  "startTime": "2026-08-15T02:36:12.653Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "59eb5bc2f9a9be7dd230-bef3020e478fe99ff2d5",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-booking-portal.spec.ts",
          "line": 10,
          "column": 7
        },
        {
          "title": "removes a category",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5089,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3365
                    },
                    {
                      "title": "edit unit type booking portal",
                      "duration": 1344
                    },
                    {
                      "title": "verify new unit type booking portal on details page",
                      "duration": 25
                    }
                  ],
                  "startTime": "2026-08-15T02:36:14.104Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 10323,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 9283
                    },
                    {
                      "title": "submit edit clearing the categories",
                      "duration": 654
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 27
                    }
                  ],
                  "startTime": "2026-08-15T02:36:15.721Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 11390,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 9231
                    },
                    {
                      "title": "edit unit type general",
                      "duration": 1317
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 21
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 467
                    }
                  ],
                  "startTime": "2026-08-15T02:36:17.204Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 5135,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2980
                    },
                    {
                      "title": "edit unit type general",
                      "duration": 1321
                    },
                    {
                      "title": "verify new unit type on details page",
                      "duration": 22
                    },
                    {
                      "title": "verify new unit type on list page",
                      "duration": 439
                    }
                  ],
                  "startTime": "2026-08-15T02:36:19.201Z",
                  "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": 16669,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2898
                    },
                    {
                      "title": "setup: create deposit via API",
                      "duration": 11921
                    },
                    {
                      "title": "add a deposit",
                      "duration": 1479
                    },
                    {
                      "title": "verify deposit on details page",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-15T02:36:20.745Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 16448,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create deposit via API",
                      "duration": 7114
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7467
                    },
                    {
                      "title": "remove the deposit",
                      "duration": 1489
                    },
                    {
                      "title": "verify deposit cleared on details page",
                      "duration": 9
                    }
                  ],
                  "startTime": "2026-08-15T02:36:22.567Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 4738,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3715
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 637
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-15T02:36:24.341Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "1acef0ba30eb1e6ab54f-17b5645fa597cf586911",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-general.spec.ts",
          "line": 76,
          "column": 5
        },
        {
          "title": "rejects an edit with a duplicate name",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 15213,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6734
                    },
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7460
                    },
                    {
                      "title": "submit edit with duplicate name",
                      "duration": 595
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 45
                    }
                  ],
                  "startTime": "2026-08-15T02:36:26.051Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "1acef0ba30eb1e6ab54f-20d23996320ba89884f0",
          "file": "src/manager/tests/e2e/unit-type/unit-type-edit-general.spec.ts",
          "line": 94,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-edit-tax.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-edit-tax.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "edits the b2c tax",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6949,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5521
                    },
                    {
                      "title": "edit unit type tax",
                      "duration": 1056
                    },
                    {
                      "title": "verify new unit type tax on details page",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-15T02:36:28.600Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 3648,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2111
                    },
                    {
                      "title": "edit unit type tax",
                      "duration": 1187
                    },
                    {
                      "title": "verify new unit type tax on details page",
                      "duration": 15
                    }
                  ],
                  "startTime": "2026-08-15T02:36:29.085Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 7814,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5914
                    },
                    {
                      "title": "edit unit type tax",
                      "duration": 1525
                    },
                    {
                      "title": "verify new unit type tax on details page",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:36:32.739Z",
                  "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": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 8677,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7676
                    },
                    {
                      "title": "submit edit with cleared required fields",
                      "duration": 638
                    },
                    {
                      "title": "verify errors on form",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-15T02:36:35.554Z",
                  "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": 8290,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 7396
                    },
                    {
                      "title": "apply filter",
                      "duration": 456
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 72
                    }
                  ],
                  "startTime": "2026-08-15T02:36:37.420Z",
                  "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": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 3702,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2795
                    },
                    {
                      "title": "apply filter",
                      "duration": 465
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 77
                    }
                  ],
                  "startTime": "2026-08-15T02:36:39.022Z",
                  "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": 7,
                  "parallelIndex": 2,
                  "status": "passed",
                  "duration": 11692,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 10315
                    },
                    {
                      "title": "apply filter",
                      "duration": 373
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 101
                    }
                  ],
                  "startTime": "2026-08-15T02:36:40.560Z",
                  "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": 55,
                  "parallelIndex": 1,
                  "status": "passed",
                  "duration": 11957,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 11121
                    },
                    {
                      "title": "apply filter",
                      "duration": 377
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 109
                    }
                  ],
                  "startTime": "2026-08-15T02:36:41.270Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10464b1684286e127613-2b97225babcdce31c15f",
          "file": "src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts",
          "line": 57,
          "column": 5
        },
        {
          "title": "filters by name and location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 4609,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 3596
                    },
                    {
                      "title": "apply filter",
                      "duration": 642
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 14
                    }
                  ],
                  "startTime": "2026-08-15T02:36:42.731Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10464b1684286e127613-ec3f21372863f92badbe",
          "file": "src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts",
          "line": 71,
          "column": 5
        },
        {
          "title": "filters by name, location and size",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 43,
                  "parallelIndex": 3,
                  "status": "passed",
                  "duration": 6404,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 5210
                    },
                    {
                      "title": "apply filter",
                      "duration": 806
                    },
                    {
                      "title": "verify list is filtered",
                      "duration": 13
                    }
                  ],
                  "startTime": "2026-08-15T02:36:44.237Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10464b1684286e127613-95da1a56a253cb648d02",
          "file": "src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts",
          "line": 86,
          "column": 5
        },
        {
          "title": "excludes unit types not in the filtered location",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 3064,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 2068
                    },
                    {
                      "title": "apply filter",
                      "duration": 635
                    },
                    {
                      "title": "verify list is empty",
                      "duration": 6
                    }
                  ],
                  "startTime": "2026-08-15T02:36:45.716Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "10464b1684286e127613-74833dbbabd04c42deb1",
          "file": "src/manager/tests/e2e/unit-type/unit-type-filter.spec.ts",
          "line": 103,
          "column": 5
        }
      ]
    },
    {
      "title": "src/manager/tests/e2e/unit-type/unit-type-navigate.spec.ts",
      "file": "src/manager/tests/e2e/unit-type/unit-type-navigate.spec.ts",
      "column": 0,
      "line": 0,
      "specs": [
        {
          "title": "navigates from the unit type list to the unit type details page",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 36,
                  "parallelIndex": 4,
                  "status": "passed",
                  "duration": 7602,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "setup: create unit type via API",
                      "duration": 6605
                    },
                    {
                      "title": "navigate to unit type details page",
                      "duration": 565
                    },
                    {
                      "title": "verify unit type details page",
                      "duration": 85
                    }
                  ],
                  "startTime": "2026-08-15T02:36:47.346Z",
                  "annotations": [],
                  "attachments": []
                }
              ],
              "status": "expected"
            }
          ],
          "id": "e4a8d4cf4651a56f96dd-39a5b0c1175a2fe3dfc3",
          "file": "src/manager/tests/e2e/unit-type/unit-type-navigate.spec.ts",
          "line": 7,
          "column": 5
        },
        {
          "title": "navigates from the unit type list to the unit type create dialog",
          "ok": true,
          "tags": [],
          "tests": [
            {
              "timeout": 90000,
              "annotations": [],
              "expectedStatus": "passed",
              "projectId": "manager-e2e",
              "projectName": "manager-e2e",
              "results": [
                {
                  "workerIndex": 26,
                  "parallelIndex": 0,
                  "status": "passed",
                  "duration": 928,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "open unit type create dialog from list",
                      "duration": 269
                    },
                    {
                      "title": "verify unit type create dialog is open",
                      "duration": 331
                    }
                  ],
                  "startTime": "2026-08-15T02:36:48.785Z",
                  "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": 4072,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 945
                    },
                    {
                      "title": "select unit type",
                      "duration": 407
                    },
                    {
                      "title": "select booking options",
                      "duration": 1033
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 63
                    },
                    {
                      "title": "confirm basket",
                      "duration": 441
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1026
                    }
                  ],
                  "startTime": "2026-08-15T02:14:50.257Z",
                  "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": 3947,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 964
                    },
                    {
                      "title": "select unit type",
                      "duration": 404
                    },
                    {
                      "title": "select booking options",
                      "duration": 918
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 56
                    },
                    {
                      "title": "confirm basket",
                      "duration": 436
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1023
                    }
                  ],
                  "startTime": "2026-08-15T02:14:50.262Z",
                  "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": 3101,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 449
                    },
                    {
                      "title": "select unit type",
                      "duration": 372
                    },
                    {
                      "title": "select booking options",
                      "duration": 604
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 56
                    },
                    {
                      "title": "confirm basket",
                      "duration": 432
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1089
                    }
                  ],
                  "startTime": "2026-08-15T02:14:54.383Z",
                  "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": 3285,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 400
                    },
                    {
                      "title": "select unit type",
                      "duration": 370
                    },
                    {
                      "title": "select booking options",
                      "duration": 623
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 48
                    },
                    {
                      "title": "confirm basket",
                      "duration": 440
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1307
                    }
                  ],
                  "startTime": "2026-08-15T02:14:54.262Z",
                  "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": 3214,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 462
                    },
                    {
                      "title": "select unit type",
                      "duration": 372
                    },
                    {
                      "title": "select booking options",
                      "duration": 604
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 389
                    },
                    {
                      "title": "confirm basket",
                      "duration": 216
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1072
                    }
                  ],
                  "startTime": "2026-08-15T02:14:57.487Z",
                  "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": 3562,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 482
                    },
                    {
                      "title": "select unit type",
                      "duration": 323
                    },
                    {
                      "title": "select booking options",
                      "duration": 886
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 398
                    },
                    {
                      "title": "confirm basket",
                      "duration": 223
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1110
                    }
                  ],
                  "startTime": "2026-08-15T02:15:00.707Z",
                  "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": 3832,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 441
                    },
                    {
                      "title": "select unit type",
                      "duration": 305
                    },
                    {
                      "title": "select booking options",
                      "duration": 887
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 442
                    },
                    {
                      "title": "confirm basket",
                      "duration": 211
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1443
                    }
                  ],
                  "startTime": "2026-08-15T02:14:57.556Z",
                  "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": 3160,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 441
                    },
                    {
                      "title": "select unit type",
                      "duration": 321
                    },
                    {
                      "title": "select booking options",
                      "duration": 638
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 391
                    },
                    {
                      "title": "confirm basket",
                      "duration": 214
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1057
                    }
                  ],
                  "startTime": "2026-08-15T02:15:04.275Z",
                  "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": 3427,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 449
                    },
                    {
                      "title": "select unit type",
                      "duration": 321
                    },
                    {
                      "title": "select booking options",
                      "duration": 889
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 442
                    },
                    {
                      "title": "confirm basket",
                      "duration": 213
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1021
                    }
                  ],
                  "startTime": "2026-08-15T02:15:07.438Z",
                  "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": 3509,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 453
                    },
                    {
                      "title": "select unit type",
                      "duration": 372
                    },
                    {
                      "title": "select booking options",
                      "duration": 887
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 384
                    },
                    {
                      "title": "confirm basket",
                      "duration": 221
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1090
                    }
                  ],
                  "startTime": "2026-08-15T02:15:01.392Z",
                  "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": 3544,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 444
                    },
                    {
                      "title": "select unit type",
                      "duration": 306
                    },
                    {
                      "title": "select booking options",
                      "duration": 856
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 390
                    },
                    {
                      "title": "confirm basket",
                      "duration": 215
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1236
                    }
                  ],
                  "startTime": "2026-08-15T02:15:10.869Z",
                  "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": 3112,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 445
                    },
                    {
                      "title": "select unit type",
                      "duration": 305
                    },
                    {
                      "title": "select booking options",
                      "duration": 688
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 387
                    },
                    {
                      "title": "confirm basket",
                      "duration": 218
                    },
                    {
                      "title": "fill customer data",
                      "duration": 968
                    }
                  ],
                  "startTime": "2026-08-15T02:15:14.417Z",
                  "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": 9714,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 437
                    },
                    {
                      "title": "select unit type",
                      "duration": 304
                    },
                    {
                      "title": "select booking options",
                      "duration": 605
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 56
                    },
                    {
                      "title": "confirm basket",
                      "duration": 432
                    },
                    {
                      "title": "fill customer data",
                      "duration": 970
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2697
                    },
                    {
                      "title": "confirm payment",
                      "duration": 4068
                    },
                    {
                      "title": "verify success view",
                      "duration": 41
                    }
                  ],
                  "startTime": "2026-08-15T02:15:17.532Z",
                  "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": 9564,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 445
                    },
                    {
                      "title": "select unit type",
                      "duration": 321
                    },
                    {
                      "title": "select booking options",
                      "duration": 623
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 49
                    },
                    {
                      "title": "confirm basket",
                      "duration": 438
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1037
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2600
                    },
                    {
                      "title": "confirm payment",
                      "duration": 3925
                    },
                    {
                      "title": "verify success view",
                      "duration": 26
                    }
                  ],
                  "startTime": "2026-08-15T02:15:04.904Z",
                  "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": 9721,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 566
                    },
                    {
                      "title": "select unit type",
                      "duration": 307
                    },
                    {
                      "title": "select booking options",
                      "duration": 871
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 391
                    },
                    {
                      "title": "confirm basket",
                      "duration": 214
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1053
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2642
                    },
                    {
                      "title": "confirm payment",
                      "duration": 3547
                    },
                    {
                      "title": "verify success view",
                      "duration": 32
                    }
                  ],
                  "startTime": "2026-08-15T02:15:27.250Z",
                  "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": 9702,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 440
                    },
                    {
                      "title": "select unit type",
                      "duration": 323
                    },
                    {
                      "title": "select booking options",
                      "duration": 921
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 387
                    },
                    {
                      "title": "confirm basket",
                      "duration": 217
                    },
                    {
                      "title": "fill customer data",
                      "duration": 936
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2708
                    },
                    {
                      "title": "confirm payment",
                      "duration": 3634
                    },
                    {
                      "title": "verify success view",
                      "duration": 36
                    }
                  ],
                  "startTime": "2026-08-15T02:15:36.975Z",
                  "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": 6633,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 452
                    },
                    {
                      "title": "select unit type",
                      "duration": 306
                    },
                    {
                      "title": "select booking options",
                      "duration": 855
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 385
                    },
                    {
                      "title": "confirm basket",
                      "duration": 220
                    },
                    {
                      "title": "fill customer data",
                      "duration": 954
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 3364
                    }
                  ],
                  "startTime": "2026-08-15T02:15:46.681Z",
                  "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": 10243,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 444
                    },
                    {
                      "title": "select unit type",
                      "duration": 319
                    },
                    {
                      "title": "select booking options",
                      "duration": 873
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 390
                    },
                    {
                      "title": "confirm basket",
                      "duration": 214
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1019
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 3554
                    },
                    {
                      "title": "confirm payment",
                      "duration": 3295
                    },
                    {
                      "title": "verify success view",
                      "duration": 30
                    }
                  ],
                  "startTime": "2026-08-15T02:15:14.473Z",
                  "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": 7548,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 431
                    },
                    {
                      "title": "select unit type",
                      "duration": 324
                    },
                    {
                      "title": "select booking options",
                      "duration": 854
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 385
                    },
                    {
                      "title": "confirm basket",
                      "duration": 219
                    },
                    {
                      "title": "fill customer data",
                      "duration": 939
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2538
                    },
                    {
                      "title": "attempt to confirm and verify payment error",
                      "duration": 1757
                    }
                  ],
                  "startTime": "2026-08-15T02:15:53.318Z",
                  "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": 7611,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 428
                    },
                    {
                      "title": "select unit type",
                      "duration": 323
                    },
                    {
                      "title": "select booking options",
                      "duration": 855
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 375
                    },
                    {
                      "title": "confirm basket",
                      "duration": 213
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1023
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2562
                    },
                    {
                      "title": "attempt to confirm and verify payment error",
                      "duration": 1732
                    }
                  ],
                  "startTime": "2026-08-15T02:15:24.721Z",
                  "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": 7450,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 430
                    },
                    {
                      "title": "select unit type",
                      "duration": 322
                    },
                    {
                      "title": "select booking options",
                      "duration": 873
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 388
                    },
                    {
                      "title": "confirm basket",
                      "duration": 216
                    },
                    {
                      "title": "fill customer data",
                      "duration": 935
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2451
                    },
                    {
                      "title": "attempt to confirm and verify payment error",
                      "duration": 1734
                    }
                  ],
                  "startTime": "2026-08-15T02:16:00.870Z",
                  "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": 12349,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 456
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 323
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 91
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3063
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 388
                    },
                    {
                      "title": "confirm basket",
                      "duration": 217
                    },
                    {
                      "title": "fill customer data",
                      "duration": 935
                    },
                    {
                      "title": "confirm customer data and fill payment info",
                      "duration": 2353
                    },
                    {
                      "title": "confirm payment",
                      "duration": 4401
                    },
                    {
                      "title": "verify success view",
                      "duration": 24
                    }
                  ],
                  "startTime": "2026-08-15T02:16:08.325Z",
                  "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": 5499,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 427
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 306
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 86
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3067
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 388
                    },
                    {
                      "title": "confirm basket",
                      "duration": 217
                    },
                    {
                      "title": "fill customer data",
                      "duration": 920
                    }
                  ],
                  "startTime": "2026-08-15T02:16:20.678Z",
                  "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": 5631,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 432
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 322
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 109
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3045
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 401
                    },
                    {
                      "title": "confirm basket",
                      "duration": 222
                    },
                    {
                      "title": "fill customer data",
                      "duration": 1007
                    }
                  ],
                  "startTime": "2026-08-15T02:15:32.337Z",
                  "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": 5561,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 435
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 325
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 104
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3049
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 389
                    },
                    {
                      "title": "confirm basket",
                      "duration": 216
                    },
                    {
                      "title": "fill customer data",
                      "duration": 951
                    }
                  ],
                  "startTime": "2026-08-15T02:16:26.180Z",
                  "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": 5547,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 424
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 324
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 105
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3065
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 394
                    },
                    {
                      "title": "confirm basket",
                      "duration": 211
                    },
                    {
                      "title": "fill customer data",
                      "duration": 935
                    }
                  ],
                  "startTime": "2026-08-15T02:16:31.745Z",
                  "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": 5878,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 437
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 324
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 102
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3401
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 384
                    },
                    {
                      "title": "confirm basket",
                      "duration": 220
                    },
                    {
                      "title": "fill customer data",
                      "duration": 917
                    }
                  ],
                  "startTime": "2026-08-15T02:16:37.296Z",
                  "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": 5514,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 423
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 323
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 90
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 3048
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 384
                    },
                    {
                      "title": "confirm basket",
                      "duration": 220
                    },
                    {
                      "title": "fill customer data",
                      "duration": 935
                    }
                  ],
                  "startTime": "2026-08-15T02:16:43.177Z",
                  "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": 3193,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 438
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 322
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 89
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 733
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 392
                    },
                    {
                      "title": "confirm basket",
                      "duration": 213
                    },
                    {
                      "title": "fill customer data",
                      "duration": 913
                    }
                  ],
                  "startTime": "2026-08-15T02:16:48.694Z",
                  "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": 3219,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 442
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 323
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 90
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 748
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 387
                    },
                    {
                      "title": "confirm basket",
                      "duration": 218
                    },
                    {
                      "title": "fill customer data",
                      "duration": 920
                    }
                  ],
                  "startTime": "2026-08-15T02:16:51.891Z",
                  "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": 3177,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 419
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 306
                    },
                    {
                      "title": "verify selected size is not available",
                      "duration": 87
                    },
                    {
                      "title": "select neighboring unit and booking options",
                      "duration": 718
                    },
                    {
                      "title": "verify basket summary",
                      "duration": 388
                    },
                    {
                      "title": "confirm basket",
                      "duration": 217
                    },
                    {
                      "title": "fill customer data",
                      "duration": 951
                    }
                  ],
                  "startTime": "2026-08-15T02:16:55.113Z",
                  "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": 893,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "select location",
                      "duration": 422
                    },
                    {
                      "title": "select unavailable unit type",
                      "duration": 256
                    },
                    {
                      "title": "attempt to select move-in date",
                      "duration": 79
                    },
                    {
                      "title": "verify back-to-size-selection button is visible",
                      "duration": 45
                    }
                  ],
                  "startTime": "2026-08-15T02:16:58.294Z",
                  "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": 2054,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "log in as customer",
                      "duration": 1897
                    },
                    {
                      "title": "verify account view is ready",
                      "duration": 31
                    }
                  ],
                  "startTime": "2026-08-15T02:14:50.170Z",
                  "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": 1704,
                  "errors": [],
                  "stdout": [],
                  "stderr": [],
                  "retry": 0,
                  "steps": [
                    {
                      "title": "log in as customer",
                      "duration": 1512
                    },
                    {
                      "title": "verify account view is ready",
                      "duration": 61
                    }
                  ],
                  "startTime": "2026-08-15T02:14:50.164Z",
                  "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-15T02:14:44.114Z",
    "duration": 1330933.4149999998,
    "expected": 574,
    "skipped": 20,
    "unexpected": 46,
    "flaky": 0
  }
}