# Instructions

- Following Playwright test failed.
- Explain why, be concise, respect Playwright best practices.
- Provide a snippet of code with the fix, if possible.

# Test info

- Name: src/manager/tests/e2e/booking/booking-create.spec.ts >> creates a booking with insurance and a discount
- Location: src/manager/tests/e2e/booking/booking-create.spec.ts:84:7

# Error details

```
Error: expect(locator).toHaveText(expected) failed

Locator: 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-text')
Expected pattern: /^(\s*-?\s*)$/
Received string:  "Intelligent Sale DRXhMS"
Timeout: 30000ms

Call log:
  - Expect "toHaveText" with timeout 30000ms
  - 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-text')
    64 × locator resolved to <div data-v-f1e53649="" data-test-id="value-text" class="col-value w-full col-align-top">Intelligent Sale DRXhMS</div>
       - unexpected value "Intelligent Sale DRXhMS"

```

```yaml
- text: Intelligent Sale DRXhMS
```

# Test source

```ts
  1  | import { expect, Locator } from '@playwright/test';
  2  | 
  3  | export async function expectMultiLocatorToHaveText(locator: Locator, text: string[] | undefined): Promise<void> {
  4  |   if (!text) {
  5  |     await expectLocatorToBeEmpty(locator);
  6  |     return;
  7  |   }
  8  | 
  9  |   const expectedValue = RegExp(text.map((t) => t.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')).join('|'));
  10 | 
  11 |   for (const element of await locator.all()) {
  12 |     await expectSingleLocatorToHaveText(element, expectedValue);
  13 |   }
  14 | }
  15 | 
  16 | export async function expectSingleLocatorToHaveText(
  17 |   locator: Locator,
  18 |   text: string | RegExp | undefined
  19 | ): Promise<void> {
  20 |   text
  21 |     ? await expect(locator).toHaveText(text, { ignoreCase: true, useInnerText: true })
  22 |     : await expectLocatorToBeEmpty(locator);
  23 | }
  24 | 
  25 | export async function expectLocatorToBeEmpty(locator: Locator): Promise<void> {
> 26 |   await expect(locator).toHaveText(/^(\s*-?\s*)$/);
     |                         ^ Error: expect(locator).toHaveText(expected) failed
  27 | }
  28 | 
```