# 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/insurance/insurance-create.spec.ts >> creates an insurance with a short description - Location: src/manager/tests/e2e/insurance/insurance-create.spec.ts:15:7 # Error details ``` Test timeout of 75000ms exceeded. ``` ``` Error: locator.click: Test timeout of 75000ms exceeded. Call log: - waiting for locator('.v-dialog:has([data-test-id="insurance-create-dialog"]):has(.v-overlay__content:not(.dialog-bottom-transition-enter-active))').locator('fieldset:has(legend:has-text("Booking portal"))').getByTestId('language-aware-input').getByRole('button', { name: 'English', exact: true }) ``` # Page snapshot ```yaml - generic [ref=e1]: - generic [ref=e6]: - navigation [ref=e7]: - generic [ref=e9]: - link [ref=e10] [cursor=pointer]: - /url: / - generic [ref=e11]: - generic [ref=e12]: KINNOVIS - generic [ref=e13]: Manager - button [ref=e15] [cursor=pointer]: - img [ref=e16] - list [ref=e19]: - generic [ref=e22]: Dashboard - link "Tasks" [ref=e23] [cursor=pointer]: - /url: /tasks - img [ref=e26] - generic [ref=e29]: Tasks - link "Facility maps" [ref=e30] [cursor=pointer]: - /url: /facility-map - generic [ref=e32]: 󰧾 - generic [ref=e34]: Facility maps - link "Analytics" [ref=e35] [cursor=pointer]: - /url: /dashboard - generic [ref=e37]: 󱖶 - generic [ref=e39]: Analytics - generic [ref=e41]: Sales - link "Bookings" [ref=e42] [cursor=pointer]: - /url: /bookings - generic [ref=e44]: 󰇡 - generic [ref=e46]: Bookings - link "Customers" [ref=e47] [cursor=pointer]: - /url: /customers - generic [ref=e49]: 󰀏 - generic [ref=e51]: Customers - link "Invoices" [ref=e52] [cursor=pointer]: - /url: /invoices - generic [ref=e54]: 󰷉 - generic [ref=e56]: Invoices - link "Credit notes" [ref=e57] [cursor=pointer]: - /url: /credit-notes - img [ref=e60] - generic [ref=e63]: Credit notes - link "Units" [ref=e64] [cursor=pointer]: - /url: /units - generic [ref=e66]: 󰍀 - generic [ref=e68]: Units - generic [ref=e70]: Site management - link "Locations" [ref=e71] [cursor=pointer]: - /url: /locations - generic [ref=e73]: 󰟙 - generic [ref=e75]: Locations - link "Unit types" [ref=e76] [cursor=pointer]: - /url: /unit-types - generic [ref=e78]: 󰆧 - generic [ref=e80]: Unit types - link "Protection Plans" [ref=e81] [cursor=pointer]: - /url: /insurances - generic [ref=e83]: 󰳌 - generic [ref=e85]: Protection Plans - link "Deposits" [ref=e86] [cursor=pointer]: - /url: /deposits - generic [ref=e88]: 󱙆 - generic [ref=e90]: Deposits - link "Products" [ref=e91] [cursor=pointer]: - /url: /products - generic [ref=e93]: 󰄑 - generic [ref=e95]: Products - link "Discounts" [ref=e96] [cursor=pointer]: - /url: /discounts - generic [ref=e98]: 󰓼 - generic [ref=e100]: Discounts - generic [ref=e101]: - option "Emails" [ref=e102] [cursor=pointer]: - generic [ref=e104]: 󰻨 - generic [ref=e106]: Emails - generic [ref=e110]: 󰅀 - text: 󱡰 󰁥 - generic [ref=e112]: Admin - link "Integrations" [ref=e113] [cursor=pointer]: - /url: /connected-apps - generic [ref=e115]: 󱘖 - generic [ref=e117]: Integrations - link "User & Roles" [ref=e118] [cursor=pointer]: - /url: /users - generic [ref=e120]: 󰭘 - generic [ref=e122]: User & Roles - generic [ref=e123]: - option "Booking Portal" [ref=e124] [cursor=pointer]: - generic [ref=e126]: 󱃁 - generic [ref=e128]: Booking Portal - generic [ref=e132]: 󰅀 - text: 󰖟 󰟙 - generic [ref=e133]: - option "JaneAI" [ref=e134] [cursor=pointer]: - generic [ref=e136]: 󱙺 - generic [ref=e138]: JaneAI - generic [ref=e142]: 󰅀 - text: 󱜹 - generic [ref=e144]: Feedback - link "Voting Portal" [ref=e145] [cursor=pointer]: - /url: /voting-portal - generic [ref=e147]: 󰔔 - generic [ref=e149]: Voting Portal - generic [ref=e152]: - button "AS Andreas Stadler andreas.stadler@storeroom.at" [ref=e155] [cursor=pointer]: - generic [ref=e158]: AS - generic [ref=e159]: - generic [ref=e160]: Andreas Stadler - generic "andreas.stadler@storeroom.at" [ref=e161] - generic [ref=e162]: 󰇙 - generic: - text: 󰗊 󰅀 - text: 󰷖 󰍃 - button [ref=e163] [cursor=pointer]: - generic [ref=e165]: 󰋽 - main [ref=e166]: - generic [ref=e168]: - generic [ref=e170]: - generic [ref=e172]: Protection Plan - link "Create Protection Plan" [ref=e174] [cursor=pointer]: - /url: /insurances/create - generic [ref=e176]: 󰐕 - generic [ref=e177]: Create Protection Plan - generic [ref=e179]: - generic [ref=e181]: - button "Filters Reset filters" [ref=e182] [cursor=pointer]: - generic [ref=e183]: - heading "Filters" [level=3] [ref=e186] - generic [ref=e188]: - button "Reset filters" [ref=e190]: - generic [ref=e191]: - generic [ref=e192]: 󰑐 - text: Reset filters - generic [ref=e196]: 󰅀 - generic [ref=e202]: - generic [ref=e207]: - generic [ref=e209]: 󰍉 - generic [ref=e210]: - generic: Search - textbox "Search" [ref=e211] - text: 󰅙 - combobox [ref=e215]: - generic [ref=e216]: - generic: Location - combobox "Location" [ref=e218] - button [ref=e220] [cursor=pointer]: 󰍝 - generic [ref=e222]: - generic [ref=e224]: - generic [ref=e226]: - button "Select all" [ref=e234] [cursor=pointer]: - generic [ref=e236]: 󰄬 - generic [ref=e237]: Select all - button "Edit price" [disabled] [ref=e242]: - img [ref=e244] - generic [ref=e250]: Edit price - table [ref=e252]: - rowgroup [ref=e253]: - row "ID Name Location" [ref=e254]: - columnheader [ref=e255]: - generic [ref=e256]: - checkbox [ref=e257] - generic [ref=e259] [cursor=pointer]: 󰄱 - columnheader "ID" [ref=e260]: - button "ID" [ref=e261] [cursor=pointer]: - generic [ref=e263]: ID - generic [ref=e266]: 󰁝 - columnheader "Name" [ref=e267]: - button "Name" [ref=e268] [cursor=pointer]: - generic [ref=e270]: Name - generic [ref=e273]: 󰁝 - columnheader "Location" [ref=e274]: - button "Location" [ref=e275] [cursor=pointer]: - generic [ref=e277]: Location - generic [ref=e280]: 󰁝 - row [ref=e281]: - columnheader [ref=e282] - rowgroup [ref=e283]: - row "3055-5813-4 Generic Insurance aR1AnW Vienna South" [ref=e284]: - cell [ref=e285]: - generic [ref=e286]: - checkbox [ref=e287] - generic [ref=e289] [cursor=pointer]: 󰄱 - cell "3055-5813-4" [ref=e290]: - link "3055-5813-4" [ref=e291] [cursor=pointer]: - /url: /insurances/305558134 - generic [ref=e292]: 3055-5813-4 - cell "Generic Insurance aR1AnW" [ref=e293]: - link "Generic Insurance aR1AnW" [ref=e294] [cursor=pointer]: - /url: /insurances/305558134 - generic [ref=e296]: Generic Insurance aR1AnW - cell "Vienna South" [ref=e297]: - link "Vienna South" [ref=e298] [cursor=pointer]: - /url: /insurances/305558134 - generic [ref=e299]: Vienna South - row "1640-0637-14 Handmade Insurance PWJSQl Vienna South" [ref=e300]: - cell [ref=e301]: - generic [ref=e302]: - checkbox [ref=e303] - generic [ref=e305] [cursor=pointer]: 󰄱 - cell "1640-0637-14" [ref=e306]: - link "1640-0637-14" [ref=e307] [cursor=pointer]: - /url: /insurances/1640063714 - generic [ref=e308]: 1640-0637-14 - cell "Handmade Insurance PWJSQl" [ref=e309]: - link "Handmade Insurance PWJSQl" [ref=e310] [cursor=pointer]: - /url: /insurances/1640063714 - generic [ref=e312]: Handmade Insurance PWJSQl - cell "Vienna South" [ref=e313]: - link "Vienna South" [ref=e314] [cursor=pointer]: - /url: /insurances/1640063714 - generic [ref=e315]: Vienna South - row "1661-1662-78 Recycled Insurance Qf9HuA Vienna South" [ref=e316]: - cell [ref=e317]: - generic [ref=e318]: - checkbox [ref=e319] - generic [ref=e321] [cursor=pointer]: 󰄱 - cell "1661-1662-78" [ref=e322]: - link "1661-1662-78" [ref=e323] [cursor=pointer]: - /url: /insurances/1661166278 - generic [ref=e324]: 1661-1662-78 - cell "Recycled Insurance Qf9HuA" [ref=e325]: - link "Recycled Insurance Qf9HuA" [ref=e326] [cursor=pointer]: - /url: /insurances/1661166278 - generic [ref=e328]: Recycled Insurance Qf9HuA - cell "Vienna South" [ref=e329]: - link "Vienna South" [ref=e330] [cursor=pointer]: - /url: /insurances/1661166278 - generic [ref=e331]: Vienna South - row "8104-2651-3 VC - Insurance weekly - 60 City 1030" [ref=e332]: - cell [ref=e333]: - generic [ref=e334]: - checkbox [ref=e335] - generic [ref=e337] [cursor=pointer]: 󰄱 - cell "8104-2651-3" [ref=e338]: - link "8104-2651-3" [ref=e339] [cursor=pointer]: - /url: /insurances/810426513 - generic [ref=e340]: 8104-2651-3 - cell "VC - Insurance weekly - 60" [ref=e341]: - link "VC - Insurance weekly - 60" [ref=e342] [cursor=pointer]: - /url: /insurances/810426513 - generic [ref=e344]: VC - Insurance weekly - 60 - cell "City 1030" [ref=e345]: - link "City 1030" [ref=e346] [cursor=pointer]: - /url: /insurances/810426513 - generic [ref=e347]: City 1030 - row "2053-7716-27 VC - Insurance weekly - 30 City 1030" [ref=e348]: - cell [ref=e349]: - generic [ref=e350]: - checkbox [ref=e351] - generic [ref=e353] [cursor=pointer]: 󰄱 - cell "2053-7716-27" [ref=e354]: - link "2053-7716-27" [ref=e355] [cursor=pointer]: - /url: /insurances/2053771627 - generic [ref=e356]: 2053-7716-27 - cell "VC - Insurance weekly - 30" [ref=e357]: - link "VC - Insurance weekly - 30" [ref=e358] [cursor=pointer]: - /url: /insurances/2053771627 - generic [ref=e360]: VC - Insurance weekly - 30 - cell "City 1030" [ref=e361]: - link "City 1030" [ref=e362] [cursor=pointer]: - /url: /insurances/2053771627 - generic [ref=e363]: City 1030 - row "8543-2780-1 VC - Insurance weekly - 20 City 1030" [ref=e364]: - cell [ref=e365]: - generic [ref=e366]: - checkbox [ref=e367] - generic [ref=e369] [cursor=pointer]: 󰄱 - cell "8543-2780-1" [ref=e370]: - link "8543-2780-1" [ref=e371] [cursor=pointer]: - /url: /insurances/854327801 - generic [ref=e372]: 8543-2780-1 - cell "VC - Insurance weekly - 20" [ref=e373]: - link "VC - Insurance weekly - 20" [ref=e374] [cursor=pointer]: - /url: /insurances/854327801 - generic [ref=e376]: VC - Insurance weekly - 20 - cell "City 1030" [ref=e377]: - link "City 1030" [ref=e378] [cursor=pointer]: - /url: /insurances/854327801 - generic [ref=e379]: City 1030 - row "5547-2778 VC - Insurance weekly - 15 City 1030" [ref=e380]: - cell [ref=e381]: - generic [ref=e382]: - checkbox [ref=e383] - generic [ref=e385] [cursor=pointer]: 󰄱 - cell "5547-2778" [ref=e386]: - link "5547-2778" [ref=e387] [cursor=pointer]: - /url: /insurances/55472778 - generic [ref=e388]: 5547-2778 - cell "VC - Insurance weekly - 15" [ref=e389]: - link "VC - Insurance weekly - 15" [ref=e390] [cursor=pointer]: - /url: /insurances/55472778 - generic [ref=e392]: VC - Insurance weekly - 15 - cell "City 1030" [ref=e393]: - link "City 1030" [ref=e394] [cursor=pointer]: - /url: /insurances/55472778 - generic [ref=e395]: City 1030 - row "1374-7085-82 VC - Insurance weekly - 10 City 1030" [ref=e396]: - cell [ref=e397]: - generic [ref=e398]: - checkbox [ref=e399] - generic [ref=e401] [cursor=pointer]: 󰄱 - cell "1374-7085-82" [ref=e402]: - link "1374-7085-82" [ref=e403] [cursor=pointer]: - /url: /insurances/1374708582 - generic [ref=e404]: 1374-7085-82 - cell "VC - Insurance weekly - 10" [ref=e405]: - link "VC - Insurance weekly - 10" [ref=e406] [cursor=pointer]: - /url: /insurances/1374708582 - generic [ref=e408]: VC - Insurance weekly - 10 - cell "City 1030" [ref=e409]: - link "City 1030" [ref=e410] [cursor=pointer]: - /url: /insurances/1374708582 - generic [ref=e411]: City 1030 - row "1669-4168-6 VC - Insurance monthly - 60 City 1030" [ref=e412]: - cell [ref=e413]: - generic [ref=e414]: - checkbox [ref=e415] - generic [ref=e417] [cursor=pointer]: 󰄱 - cell "1669-4168-6" [ref=e418]: - link "1669-4168-6" [ref=e419] [cursor=pointer]: - /url: /insurances/166941686 - generic [ref=e420]: 1669-4168-6 - cell "VC - Insurance monthly - 60" [ref=e421]: - link "VC - Insurance monthly - 60" [ref=e422] [cursor=pointer]: - /url: /insurances/166941686 - generic [ref=e424]: VC - Insurance monthly - 60 - cell "City 1030" [ref=e425]: - link "City 1030" [ref=e426] [cursor=pointer]: - /url: /insurances/166941686 - generic [ref=e427]: City 1030 - row "1095-6483-88 VC - Insurance monthly - 30 City 1030" [ref=e428]: - cell [ref=e429]: - generic [ref=e430]: - checkbox [ref=e431] - generic [ref=e433] [cursor=pointer]: 󰄱 - cell "1095-6483-88" [ref=e434]: - link "1095-6483-88" [ref=e435] [cursor=pointer]: - /url: /insurances/1095648388 - generic [ref=e436]: 1095-6483-88 - cell "VC - Insurance monthly - 30" [ref=e437]: - link "VC - Insurance monthly - 30" [ref=e438] [cursor=pointer]: - /url: /insurances/1095648388 - generic [ref=e440]: VC - Insurance monthly - 30 - cell "City 1030" [ref=e441]: - link "City 1030" [ref=e442] [cursor=pointer]: - /url: /insurances/1095648388 - generic [ref=e443]: City 1030 - generic [ref=e446]: - generic [ref=e447]: - generic [ref=e448]: "Items per page:" - combobox [ref=e451]: - generic [ref=e453] [cursor=pointer]: - generic [ref=e455]: "10" - combobox "Items per page:": "10" - generic [ref=e457]: 󰍝 - generic [ref=e458]: 1-10 of 43 - generic [ref=e459]: - button [disabled]: - generic: - generic: 󰘀 - button [disabled]: - generic: - generic: 󰅁 - button [ref=e460] [cursor=pointer]: - generic [ref=e462]: 󰅂 - button [ref=e463] [cursor=pointer]: - generic [ref=e465]: 󰘁 - generic: - 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: - generic [ref=e468]: - generic [ref=e469]: - generic [ref=e471]: - generic [ref=e472]: - button [ref=e473] [cursor=pointer]: - generic [ref=e475]: 󰅖 - heading "Create Protection Plan" [level=2] [ref=e477] - button "Save" [ref=e479] [cursor=pointer]: - generic [ref=e480]: Save - separator [ref=e481] - generic [ref=e483]: - group "General" [ref=e484]: - heading "General" [level=3] [ref=e486]: - generic [ref=e488]: General - generic [ref=e489]: - generic [ref=e491]: - generic [ref=e493]: - textbox "Name *" [ref=e495]: Gorgeous Insurance wg99kq - generic: - generic: Name * - alert [ref=e496] - generic [ref=e499]: - combobox [ref=e501]: - generic [ref=e503]: - generic [ref=e505]: Vienna South - combobox "Location *" [ref=e506] - button [ref=e508] [cursor=pointer]: 󰍝 - generic: - generic: Location * - alert [ref=e509] - group "Taxes" [ref=e511]: - heading "Taxes" [level=3] [ref=e513]: - generic [ref=e515]: Taxes - generic [ref=e516]: - generic [ref=e518]: - combobox [ref=e520]: - generic [ref=e522]: - generic [ref=e524]: 20% - combobox "B2C *" [ref=e525] - button [ref=e527] [cursor=pointer]: 󰍝 - generic: - generic: B2C * - alert [ref=e528] - generic [ref=e531]: - combobox [ref=e533]: - generic [ref=e535]: - generic [ref=e537]: 20% - combobox "B2B *" [active] [ref=e538]: 20% - button [ref=e540] [cursor=pointer]: 󰍝 - generic: - generic: B2B * - alert [ref=e541] - group "Booking portal" [ref=e543]: - heading "Booking portal" [level=3] [ref=e545]: - generic [ref=e547]: Booking portal - generic [ref=e554]: - generic [ref=e555]: - tablist [ref=e556]: - generic: - generic: 󰅁 - generic [ref=e558]: - tab "English" [selected] [ref=e559] [cursor=pointer]: - generic [ref=e560]: English - tab "Swedish" [ref=e561] [cursor=pointer]: - generic [ref=e562]: Swedish - tab "Slovenian" [ref=e563] [cursor=pointer]: - generic [ref=e564]: Slovenian - tab "Russian" [ref=e565] [cursor=pointer]: - generic [ref=e566]: Russian - tab "Portugese" [ref=e567] [cursor=pointer]: - generic [ref=e568]: Portugese - tab "Polish" [ref=e569] [cursor=pointer]: - generic [ref=e570]: Polish - tab "Norwegian" [ref=e571] [cursor=pointer]: - generic [ref=e572]: Norwegian - tab "Dutch" [ref=e573] [cursor=pointer]: - generic [ref=e574]: Dutch - tab "Latvian" [ref=e575] [cursor=pointer]: - generic [ref=e576]: Latvian - tab "French" [ref=e577] [cursor=pointer]: - generic [ref=e578]: French - tab "Finnish" [ref=e579] [cursor=pointer]: - generic [ref=e580]: Finnish - tab "Spanish" [ref=e581] [cursor=pointer]: - generic [ref=e582]: Spanish - tab "Greek" [ref=e583] [cursor=pointer]: - generic [ref=e584]: Greek - tab "German" [ref=e585] [cursor=pointer]: - generic [ref=e586]: German - tab "Czech" [ref=e587] [cursor=pointer]: - generic [ref=e588]: Czech - tab "Catalan" [ref=e589] [cursor=pointer]: - generic [ref=e590]: Catalan - generic [ref=e592] [cursor=pointer]: 󰅂 - separator [ref=e593] - generic [ref=e595]: - generic [ref=e598]: - generic: Short description - textbox "Short description" [ref=e599] - alert [ref=e600] - group "Booking Plan" [ref=e602]: - heading "Booking Plan" [level=3] [ref=e604]: - generic [ref=e606]: Booking Plan - generic [ref=e607]: - generic [ref=e611]: - table [ref=e615]: - rowgroup [ref=e616]: - row "Billing period Discount Price / period (excl. VAT) Period price (excl. VAT) Status" [ref=e617]: - columnheader "Billing period" [ref=e618]: - button "Billing period" [ref=e619] [cursor=pointer]: - generic [ref=e621]: Billing period - generic [ref=e624]: 󰁝 - columnheader "Discount" [ref=e625]: - button "Discount" [ref=e626] [cursor=pointer]: - generic [ref=e628]: Discount - generic [ref=e631]: 󰁝 - columnheader "Price / period (excl. VAT)" [ref=e632]: - button "Price / period (excl. VAT)" [ref=e633] [cursor=pointer]: - generic [ref=e635]: Price / period (excl. VAT) - generic [ref=e638]: 󰁝 - columnheader "Period price (excl. VAT)" [ref=e639]: - button "Period price (excl. VAT)" [ref=e640] [cursor=pointer]: - generic [ref=e642]: Period price (excl. VAT) - generic [ref=e645]: 󰁝 - columnheader "Status" [ref=e646]: - generic [ref=e649]: Status - columnheader [ref=e650]: - button [ref=e651] [cursor=pointer]: - generic [ref=e654]: 󰁝 - row [ref=e655]: - columnheader [ref=e656] - rowgroup [ref=e657]: - row "No data yet" [ref=e658]: - cell "No data yet" [ref=e659]: - generic [ref=e660]: No data yet - generic [ref=e663]: - generic [ref=e664]: - generic [ref=e665]: "Items per page:" - combobox [ref=e668]: - generic [ref=e670] [cursor=pointer]: - generic [ref=e672]: "10" - combobox "Items per page:": "10" - generic [ref=e674]: 󰍝 - generic [ref=e675]: 0-0 of 0 - generic [ref=e676]: - button [disabled]: - generic: - generic: 󰘀 - button [disabled]: - generic: - generic: 󰅁 - button [disabled]: - generic: - generic: 󰅂 - button [disabled]: - generic: - generic: 󰘁 - alert [ref=e677] - button "Add booking plan" [ref=e679] [cursor=pointer]: - generic [ref=e681]: 󰐕 - generic [ref=e682]: Add booking plan - tooltip - tooltip - tooltip - tooltip - tooltip - tooltip - tooltip - tooltip - tooltip - tooltip - tooltip - tooltip - tooltip - tooltip - tooltip ``` # Test source ```ts 1 | import { TextAreaField } from '@/manager/shared/components/TextAreaField'; 2 | import { languages } from '@/shared/data/seed-languages'; 3 | import { BaseComponent } from '@/shared/base/BaseComponent'; 4 | import { getInputHostByLabel } from '@/manager/shared/utils/locator-utils'; 5 | import { LanguageKey, LanguageRecordPartial } from '@/shared/types/language-types'; 6 | import { Locator } from '@playwright/test'; 7 | 8 | export class LanguageAwareInput extends BaseComponent { 9 | private readonly main = this.host.getByTestId('language-aware-input'); 10 | private readonly textAreaField = new TextAreaField(getInputHostByLabel(this.main, 'Short description')); 11 | 12 | async fill(values: LanguageRecordPartial): Promise { 13 | for (const [key, value] of Object.entries(values) as [LanguageKey, string | undefined][]) { 14 | if (value === undefined) { 15 | continue; 16 | } 17 | > 18 | await this.getLanguageButton(key).click(); | ^ Error: locator.click: Test timeout of 75000ms exceeded. 19 | await this.textAreaField.fill(value); 20 | } 21 | } 22 | 23 | private getLanguageButton(key: LanguageKey): Locator { 24 | return this.main.getByRole('button', { name: languages[key].name, exact: true }); 25 | } 26 | } 27 | ```