# 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 >> rejects a sepa booking over the payment amount limit
- Location: src/manager/tests/e2e/booking/booking-create.spec.ts:989:5

# Error details

```
Error: expect(locator).toBeVisible() failed

Locator: locator('.v-snackbar').filter({ hasText: 'Max billing amount exceeded for payment method type' })
Expected: visible
Timeout: 30000ms
Error: element(s) not found

Call log:
  - Expect "toBeVisible" with timeout 30000ms
  - waiting for locator('.v-snackbar').filter({ hasText: 'Max billing amount exceeded for payment method type' })

```

```yaml
- navigation:
  - link:
    - /url: /
  - text: KINNOVIS Manager
  - button:
    - img
  - list:
    - text: Dashboard
    - link "Tasks":
      - /url: /tasks
      - img
      - text: Tasks
    - link "Facility maps":
      - /url: /facility-map
    - link "Analytics":
      - /url: /dashboard
    - text: Sales
    - link "Bookings":
      - /url: /bookings
    - link "Customers":
      - /url: /customers
    - link "Invoices":
      - /url: /invoices
    - link "Credit notes":
      - /url: /credit-notes
      - img
      - text: Credit notes
    - link "Units":
      - /url: /units
    - text: Site management
    - link "Locations":
      - /url: /locations
    - link "Unit types":
      - /url: /unit-types
    - link "Protection Plans":
      - /url: /insurances
    - link "Deposits":
      - /url: /deposits
    - link "Products":
      - /url: /products
    - link "Discounts":
      - /url: /discounts
    - option "Emails"
    - link "Document templates":
      - /url: /document-templates
    - text: Admin
    - link "Integrations":
      - /url: /connected-apps
    - link "User & Roles":
      - /url: /users
    - option "Booking Portal"
    - option "JaneAI"
    - text: Feedback
    - link "Voting Portal":
      - /url: /voting-portal
  - button "AS Andreas Stadler andreas.stadler@storeroom.at"
  - button
- main:
  - text: Bookings
  - link "Create booking":
    - /url: /bookings/create
  - button
  - button "Filters Reset filters":
    - heading "Filters" [level=3]
    - button "Reset filters"
  - text: Search
  - textbox "Search"
  - combobox:
    - text: Location
    - combobox "Location"
  - combobox:
    - text: Status
    - combobox "Status"
  - combobox:
    - text: ID verification status
    - combobox "ID verification status"
  - combobox:
    - text: Access status
    - combobox "Access status"
  - combobox:
    - text: Unit type
    - combobox "Unit type"
  - text: Created at
  - textbox "Created at"
  - button "Select all"
  - button "Price adjustment" [disabled]:
    - img
    - text: Price adjustment
  - button "Remove price adjustment" [disabled]
  - button:
    - img
  - table:
    - rowgroup:
      - row "Booking number Location Status Customer Unit type Unit Booking plan Next invoice Created at Move-in Move-out":
        - columnheader:
          - checkbox
        - columnheader "Booking number":
          - button "Booking number"
        - columnheader "Location":
          - button "Location"
        - columnheader "Status":
          - button "Status"
        - columnheader "Customer":
          - button "Customer"
        - columnheader "Unit type"
        - columnheader "Unit":
          - button "Unit"
        - columnheader "Booking plan":
          - button "Booking plan"
        - columnheader "Next invoice":
          - button "Next invoice"
        - columnheader "Created at":
          - button "Created at"
        - columnheader "Move-in":
          - button "Move-in"
        - columnheader "Move-out":
          - button "Move-out"
      - row:
        - columnheader
    - rowgroup:
      - row "4694-9154-1169-69 Vienna South Active Otis Wunsch Practical Box QSDDh6 Unit DJhftX Basic (1 week) 2 Sep 2026 26 Aug 2026 26 Aug 2026":
        - cell:
          - checkbox
        - cell "4694-9154-1169-69":
          - link "4694-9154-1169-69":
            - /url: /bookings/46949154116969
        - cell "Vienna South":
          - link "Vienna South":
            - /url: /bookings/46949154116969
        - cell "Active":
          - link "Active":
            - /url: /bookings/46949154116969
        - cell "Otis Wunsch":
          - link "Otis Wunsch":
            - /url: /bookings/46949154116969
        - cell "Practical Box QSDDh6":
          - link "Practical Box QSDDh6":
            - /url: /bookings/46949154116969
        - cell "Unit DJhftX":
          - link "Unit DJhftX":
            - /url: /bookings/46949154116969
        - cell "Basic (1 week)":
          - link "Basic (1 week)":
            - /url: /bookings/46949154116969
        - cell "2 Sep 2026":
          - link "2 Sep 2026":
            - /url: /bookings/46949154116969
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/46949154116969
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/46949154116969
        - cell:
          - link:
            - /url: /bookings/46949154116969
      - row "1451-5359-1147-286 Vienna South Active Liam Tromp Electronic Box TT6jXV Unit NlY96f Basic (1 month) 26 Sep 2026 26 Aug 2026 26 Aug 2026":
        - cell:
          - checkbox
        - cell "1451-5359-1147-286":
          - link "1451-5359-1147-286":
            - /url: /bookings/145153591147286
        - cell "Vienna South":
          - link "Vienna South":
            - /url: /bookings/145153591147286
        - cell "Active":
          - link "Active":
            - /url: /bookings/145153591147286
        - cell "Liam Tromp":
          - link "Liam Tromp":
            - /url: /bookings/145153591147286
        - cell "Electronic Box TT6jXV":
          - link "Electronic Box TT6jXV":
            - /url: /bookings/145153591147286
        - cell "Unit NlY96f":
          - link "Unit NlY96f":
            - /url: /bookings/145153591147286
        - cell "Basic (1 month)":
          - link "Basic (1 month)":
            - /url: /bookings/145153591147286
        - cell "26 Sep 2026":
          - link "26 Sep 2026":
            - /url: /bookings/145153591147286
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/145153591147286
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/145153591147286
        - cell:
          - link:
            - /url: /bookings/145153591147286
      - row "7217-1813-1195-177 Vienna South Active Silvia Hahn-Bins Electronic Box SP1VBs Unit Xh5lGZ Basic (1 week) 2 Sep 2026 26 Aug 2026 26 Aug 2026":
        - cell:
          - checkbox
        - cell "7217-1813-1195-177":
          - link "7217-1813-1195-177":
            - /url: /bookings/721718131195177
        - cell "Vienna South":
          - link "Vienna South":
            - /url: /bookings/721718131195177
        - cell "Active":
          - link "Active":
            - /url: /bookings/721718131195177
        - cell "Silvia Hahn-Bins":
          - link "Silvia Hahn-Bins":
            - /url: /bookings/721718131195177
        - cell "Electronic Box SP1VBs":
          - link "Electronic Box SP1VBs":
            - /url: /bookings/721718131195177
        - cell "Unit Xh5lGZ":
          - link "Unit Xh5lGZ":
            - /url: /bookings/721718131195177
        - cell "Basic (1 week)":
          - link "Basic (1 week)":
            - /url: /bookings/721718131195177
        - cell "2 Sep 2026":
          - link "2 Sep 2026":
            - /url: /bookings/721718131195177
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/721718131195177
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/721718131195177
        - cell:
          - link:
            - /url: /bookings/721718131195177
      - row "1451-5312-2456-545 Vienna South Active Mindy Bode Licensed Box KgeH1P Unit 0fFHYo Basic (1 week) 2 Sep 2026 26 Aug 2026 26 Aug 2026":
        - cell:
          - checkbox
        - cell "1451-5312-2456-545":
          - link "1451-5312-2456-545":
            - /url: /bookings/145153122456545
        - cell "Vienna South":
          - link "Vienna South":
            - /url: /bookings/145153122456545
        - cell "Active":
          - link "Active":
            - /url: /bookings/145153122456545
        - cell "Mindy Bode":
          - link "Mindy Bode":
            - /url: /bookings/145153122456545
        - cell "Licensed Box KgeH1P":
          - link "Licensed Box KgeH1P":
            - /url: /bookings/145153122456545
        - cell "Unit 0fFHYo":
          - link "Unit 0fFHYo":
            - /url: /bookings/145153122456545
        - cell "Basic (1 week)":
          - link "Basic (1 week)":
            - /url: /bookings/145153122456545
        - cell "2 Sep 2026":
          - link "2 Sep 2026":
            - /url: /bookings/145153122456545
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/145153122456545
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/145153122456545
        - cell:
          - link:
            - /url: /bookings/145153122456545
      - row "6586-8424-1656-211 Vienna South Active Rosemary Olson Sleek Box e7kQ9s Unit twUAdR Basic (1 month) 16 Sep 2026 26 Aug 2026 16 Aug 2026":
        - cell:
          - checkbox
        - cell "6586-8424-1656-211":
          - link "6586-8424-1656-211":
            - /url: /bookings/658684241656211
        - cell "Vienna South":
          - link "Vienna South":
            - /url: /bookings/658684241656211
        - cell "Active":
          - link "Active":
            - /url: /bookings/658684241656211
        - cell "Rosemary Olson":
          - link "Rosemary Olson":
            - /url: /bookings/658684241656211
        - cell "Sleek Box e7kQ9s":
          - link "Sleek Box e7kQ9s":
            - /url: /bookings/658684241656211
        - cell "Unit twUAdR":
          - link "Unit twUAdR":
            - /url: /bookings/658684241656211
        - cell "Basic (1 month)":
          - link "Basic (1 month)":
            - /url: /bookings/658684241656211
        - cell "16 Sep 2026":
          - link "16 Sep 2026":
            - /url: /bookings/658684241656211
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/658684241656211
        - cell "16 Aug 2026":
          - link "16 Aug 2026":
            - /url: /bookings/658684241656211
        - cell:
          - link:
            - /url: /bookings/658684241656211
      - row "3163-6289-9771-213 Vienna South Active Shane Grimes Incredible Box DX6hRn Unit 35POEG Basic (1 month) 26 Sep 2026 26 Aug 2026 26 Aug 2026":
        - cell:
          - checkbox
        - cell "3163-6289-9771-213":
          - link "3163-6289-9771-213":
            - /url: /bookings/316362899771213
        - cell "Vienna South":
          - link "Vienna South":
            - /url: /bookings/316362899771213
        - cell "Active":
          - link "Active":
            - /url: /bookings/316362899771213
        - cell "Shane Grimes":
          - link "Shane Grimes":
            - /url: /bookings/316362899771213
        - cell "Incredible Box DX6hRn":
          - link "Incredible Box DX6hRn":
            - /url: /bookings/316362899771213
        - cell "Unit 35POEG":
          - link "Unit 35POEG":
            - /url: /bookings/316362899771213
        - cell "Basic (1 month)":
          - link "Basic (1 month)":
            - /url: /bookings/316362899771213
        - cell "26 Sep 2026":
          - link "26 Sep 2026":
            - /url: /bookings/316362899771213
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/316362899771213
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/316362899771213
        - cell:
          - link:
            - /url: /bookings/316362899771213
      - row "7217-1885-4549-432 Vienna South Active Sigmund Leuschke Licensed Box pz2DP8 Unit UlLfJH Basic (1 month) 26 Sep 2026 26 Aug 2026 26 Aug 2026":
        - cell:
          - checkbox
        - cell "7217-1885-4549-432":
          - link "7217-1885-4549-432":
            - /url: /bookings/721718854549432
        - cell "Vienna South":
          - link "Vienna South":
            - /url: /bookings/721718854549432
        - cell "Active":
          - link "Active":
            - /url: /bookings/721718854549432
        - cell "Sigmund Leuschke":
          - link "Sigmund Leuschke":
            - /url: /bookings/721718854549432
        - cell "Licensed Box pz2DP8":
          - link "Licensed Box pz2DP8":
            - /url: /bookings/721718854549432
        - cell "Unit UlLfJH":
          - link "Unit UlLfJH":
            - /url: /bookings/721718854549432
        - cell "Basic (1 month)":
          - link "Basic (1 month)":
            - /url: /bookings/721718854549432
        - cell "26 Sep 2026":
          - link "26 Sep 2026":
            - /url: /bookings/721718854549432
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/721718854549432
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/721718854549432
        - cell:
          - link:
            - /url: /bookings/721718854549432
      - row "2342-4738-2754-37 Vienna South Active Marjorie Krajcik Awesome Box DGPN3q Unit jPCoN6 Basic (1 week) 2 Sep 2026 26 Aug 2026 26 Aug 2026":
        - cell:
          - checkbox
        - cell "2342-4738-2754-37":
          - link "2342-4738-2754-37":
            - /url: /bookings/23424738275437
        - cell "Vienna South":
          - link "Vienna South":
            - /url: /bookings/23424738275437
        - cell "Active":
          - link "Active":
            - /url: /bookings/23424738275437
        - cell "Marjorie Krajcik":
          - link "Marjorie Krajcik":
            - /url: /bookings/23424738275437
        - cell "Awesome Box DGPN3q":
          - link "Awesome Box DGPN3q":
            - /url: /bookings/23424738275437
        - cell "Unit jPCoN6":
          - link "Unit jPCoN6":
            - /url: /bookings/23424738275437
        - cell "Basic (1 week)":
          - link "Basic (1 week)":
            - /url: /bookings/23424738275437
        - cell "2 Sep 2026":
          - link "2 Sep 2026":
            - /url: /bookings/23424738275437
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/23424738275437
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/23424738275437
        - cell:
          - link:
            - /url: /bookings/23424738275437
      - row "9829-2581-3791-159 Vienna South Active Marjorie Krajcik Soft Box KBXsDa Unit KOpYFl Basic (1 week) 2 Sep 2026 26 Aug 2026 26 Aug 2026":
        - cell:
          - checkbox
        - cell "9829-2581-3791-159":
          - link "9829-2581-3791-159":
            - /url: /bookings/982925813791159
        - cell "Vienna South":
          - link "Vienna South":
            - /url: /bookings/982925813791159
        - cell "Active":
          - link "Active":
            - /url: /bookings/982925813791159
        - cell "Marjorie Krajcik":
          - link "Marjorie Krajcik":
            - /url: /bookings/982925813791159
        - cell "Soft Box KBXsDa":
          - link "Soft Box KBXsDa":
            - /url: /bookings/982925813791159
        - cell "Unit KOpYFl":
          - link "Unit KOpYFl":
            - /url: /bookings/982925813791159
        - cell "Basic (1 week)":
          - link "Basic (1 week)":
            - /url: /bookings/982925813791159
        - cell "2 Sep 2026":
          - link "2 Sep 2026":
            - /url: /bookings/982925813791159
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/982925813791159
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/982925813791159
        - cell:
          - link:
            - /url: /bookings/982925813791159
      - row "3163-6261-3969-632 Vienna South Active Nelson Abbott Gorgeous Box chwKfl Unit 9ayv9b Basic (1 week) 2 Sep 2026 26 Aug 2026 26 Aug 2026":
        - cell:
          - checkbox
        - cell "3163-6261-3969-632":
          - link "3163-6261-3969-632":
            - /url: /bookings/316362613969632
        - cell "Vienna South":
          - link "Vienna South":
            - /url: /bookings/316362613969632
        - cell "Active":
          - link "Active":
            - /url: /bookings/316362613969632
        - cell "Nelson Abbott":
          - link "Nelson Abbott":
            - /url: /bookings/316362613969632
        - cell "Gorgeous Box chwKfl":
          - link "Gorgeous Box chwKfl":
            - /url: /bookings/316362613969632
        - cell "Unit 9ayv9b":
          - link "Unit 9ayv9b":
            - /url: /bookings/316362613969632
        - cell "Basic (1 week)":
          - link "Basic (1 week)":
            - /url: /bookings/316362613969632
        - cell "2 Sep 2026":
          - link "2 Sep 2026":
            - /url: /bookings/316362613969632
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/316362613969632
        - cell "26 Aug 2026":
          - link "26 Aug 2026":
            - /url: /bookings/316362613969632
        - cell:
          - link:
            - /url: /bookings/316362613969632
  - text: "Items per page:"
  - combobox:
    - text: "10"
    - combobox "Items per page:": "10"
  - text: 1-10 of 124
  - button [disabled]
  - button [disabled]
  - button
  - button
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- dialog:
  - button
  - heading "Create booking" [level=2]
  - button "Save"
  - separator
  - group "General":
    - heading "General" [level=3]
    - combobox:
      - text: Joel Hahn (blanche.ullrich93@gmail.com)
      - combobox "Customer *"
      - text: Customer *
    - alert
    - combobox:
      - text: Vienna South
      - combobox "Location *"
      - text: Location *
    - alert
    - textbox "Move-in date *":
      - /placeholder: dd/mm/yyyy
      - text: 26/08/2026
    - text: Move-in date *
    - alert
    - text: Note
    - textbox "Note"
    - alert
  - group "Products":
    - heading "Products" [level=3]
    - table:
      - rowgroup:
        - row "Recurring Booking Period Quantity Price VAT Amount":
          - columnheader "Recurring"
          - columnheader "Booking Period"
          - columnheader "Quantity"
          - columnheader "Price"
          - columnheader "VAT"
          - columnheader "Amount"
      - rowgroup:
        - row "€11,000.00 17% €11,000.00":
          - cell:
            - combobox:
              - text: Sleek Box JbENry
              - combobox "Unit type *"
              - text: Unit type *
            - alert
            - combobox:
              - text: Unit CuBs0u
              - combobox "Unit *"
              - text: Unit *
            - alert
          - cell:
            - combobox:
              - text: Basic (1 month)
              - combobox "Booking plan *"
              - text: Booking plan *
            - alert
          - cell
          - cell "€11,000.00"
          - cell "17%"
          - cell "€11,000.00"
    - table:
      - rowgroup:
        - row:
          - cell:
            - combobox:
              - text: Protection plan
              - combobox "Protection plan"
            - alert
          - cell
          - cell
          - cell
          - cell
          - cell
    - table
    - button "Add recurring product" [disabled]
    - table:
      - rowgroup:
        - row "One time Quantity Price VAT Amount":
          - columnheader "One time"
          - columnheader
          - columnheader "Quantity"
          - columnheader "Price"
          - columnheader "VAT"
          - columnheader "Amount"
    - button "Add one-time product"
    - table:
      - rowgroup:
        - row "Deposit Quantity Price VAT Amount":
          - columnheader "Deposit"
          - columnheader
          - columnheader "Quantity"
          - columnheader "Price"
          - columnheader "VAT"
          - columnheader "Amount"
      - rowgroup:
        - row:
          - cell:
            - combobox:
              - text: Deposit
              - combobox "Deposit"
            - alert
          - cell
          - cell
          - cell
          - cell
          - cell
    - table:
      - rowgroup:
        - row "Discount Terms Price Amount":
          - columnheader "Discount"
          - columnheader "Terms"
          - columnheader
          - columnheader "Price"
          - columnheader
          - columnheader "Amount"
    - button "Add discount" [disabled]
    - text: Total excl.VAT €11,000.00 VAT €1,870.00 Total incl.VAT €12,870.00
  - group "Payment":
    - heading "Payment" [level=3]
    - radio "Customer will be charged automatically (after 1st invoice) CARD ONLY"
    - text: Customer will be charged automatically (after 1st invoice) CARD ONLY
    - radio "Automatically charge with existing payment method" [checked]
    - text: Automatically charge with existing payment method
    - button "SEPA via Stripe IBAN •••• 3201":
      - img "SEPA via Stripe"
      - text: IBAN •••• 3201
      - button
    - alert
    - button "Add payment method"
    - radio "Customer pays each invoice manually via payment-link"
    - text: Customer pays each invoice manually via payment-link
    - alert
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
- tooltip
```

# Test source

```ts
  929  |   createCustomer,
  930  |   createUnitType,
  931  |   createUnit,
  932  |   createDeposit,
  933  |   bookingCreateDialog,
  934  |   trackBookingForTeardown,
  935  | }) => {
  936  |   const [customer, deposit] = await Promise.all([
  937  |     createCustomer(getCustomerCreateData()),
  938  |     createDeposit(getDepositCreateData()),
  939  |   ]);
  940  |   const unitType = await createUnitType(getUnitTypeCreateData({ deposit }));
  941  |   const unit = await createUnit(getUnitCreateData(unitType));
  942  |   const data = getBookingCreateData(
  943  |     { customer, unitType, unit, deposit },
  944  |     { chargeDepositUpfront: true, moveInDaysInTheFuture: 10 }
  945  |   );
  946  |   const depositAmount = formatCurrency(deposit.priceExclVat, data.location.currency);
  947  |   const today = formatDate(new Date(), data.location.timezone);
  948  |   const dueDate = formatDate(getFutureDate(data.location.invoiceDaysUntilDue, 'day'), data.location.timezone);
  949  | 
  950  |   await bookingCreateDialog.goto();
  951  | 
  952  |   const detailsPage = await test.step('create booking', () => bookingCreateDialog.create(data));
  953  | 
  954  |   trackBookingForTeardown(detailsPage.getBookingId());
  955  | 
  956  |   await test.step('verify booking invoices', async () => {
  957  |     // scheduled, so no first-period invoice yet — only the upfront deposit invoice
  958  |     await verifyBookingInvoiceCount(detailsPage, 1);
  959  | 
  960  |     // the upfront-deposit invoice is not tied to a unit, so its unit cell is left empty
  961  |     await verifyBookingInvoice(
  962  |       detailsPage,
  963  |       {
  964  |         status: 'Open',
  965  |         paymentOption: 'Manual',
  966  |         amount: depositAmount,
  967  |         amountDue: depositAmount,
  968  |         issueDate: today,
  969  |         dueDate,
  970  |       },
  971  |       'Deposit'
  972  |     );
  973  |   });
  974  | 
  975  |   await test.step('verify booking payments', async () => {
  976  |     await verifyBookingPaymentCount(detailsPage, 1);
  977  | 
  978  |     await verifyBookingPayment(
  979  |       detailsPage,
  980  |       { amount: depositAmount, status: 'Not paid yet', date: today },
  981  |       await getBookingDepositInvoiceNumber(detailsPage.invoicesCard.dataTable)
  982  |     );
  983  |   });
  984  | 
  985  |   // Reloads, so run last: the deposit field links its amount to the upfront deposit invoice.
  986  |   await test.step('verify deposit on details page', () => verifyBookingDepositInvoiceLink(detailsPage, depositAmount));
  987  | });
  988  | 
  989  | test('rejects a sepa booking over the payment amount limit', async ({
  990  |   createCustomer,
  991  |   createUnitType,
  992  |   createUnit,
  993  |   bookingCreateDialog,
  994  | }) => {
  995  |   const [customer, unitType] = await Promise.all([
  996  |     createCustomer(getCustomerCreateData()),
  997  |     createUnitType(
  998  |       getUnitTypeCreateData({
  999  |         bookingPlans: [
  1000 |           {
  1001 |             period: 'monthly',
  1002 |             amount: 1,
  1003 |             priceExclVat: 11000,
  1004 |             discount: undefined,
  1005 |             publish: true,
  1006 |             name: 'Basic',
  1007 |             shortDescription: { EN: 'Basic description' },
  1008 |           },
  1009 |         ],
  1010 |       })
  1011 |     ),
  1012 |   ]);
  1013 |   const unit = await createUnit(getUnitCreateData(unitType));
  1014 |   // a sepa subscription over the SEPA per-transaction limit is rejected on submit with an error snackbar
  1015 |   // (no booking is created, so nothing to tear down).
  1016 |   const data = getBookingCreateData(
  1017 |     { customer, unitType, unit },
  1018 |     { paymentOption: 'charge_automatically', paymentMethod: getDefaultSepaPayment() }
  1019 |   );
  1020 | 
  1021 |   await bookingCreateDialog.goto();
  1022 | 
  1023 |   await test.step('submit booking', async () => {
  1024 |     await bookingCreateDialog.fill(data);
  1025 |     await bookingCreateDialog.submit();
  1026 |   });
  1027 | 
  1028 |   await test.step('verify the payment limit error', async () => {
> 1029 |     await expect(bookingCreateDialog.paymentLimitSnackbar).toBeVisible();
       |                                                            ^ Error: expect(locator).toBeVisible() failed
  1030 |   });
  1031 | });
  1032 | 
  1033 | test('rejects a booking without all required fields', async ({ bookingCreateDialog }) => {
  1034 |   await bookingCreateDialog.goto();
  1035 | 
  1036 |   await test.step('submit invalid booking create form', () => bookingCreateDialog.submit());
  1037 | 
  1038 |   await test.step('verify errors on form', async () => {
  1039 |     await expect(bookingCreateDialog.errors).toHaveCountGreaterThan(0);
  1040 |   });
  1041 | });
  1042 | 
```