import type { Locator } from '@playwright/test'; import { BasePage } from './BasePage'; export class ExecutionsPage extends BasePage { async clickDebugInEditorButton(): Promise { await this.clickButtonByName('Debug in editor'); } async clickCopyToEditorButton(): Promise { await this.clickButtonByName('Copy to editor'); } getExecutionItems(): Locator { return this.page.locator('div.execution-card'); } getLastExecutionItem(): Locator { const executionItems = this.getExecutionItems(); return executionItems.nth(0); } async clickLastExecutionItem(): Promise { const executionItem = this.getLastExecutionItem(); await executionItem.click(); } /** * Handle the pinned nodes confirmation dialog. * @param action - The action to take. */ async handlePinnedNodesConfirmation(action: 'Unpin' | 'Cancel'): Promise { const confirmDialog = this.page.locator('.matching-pinned-nodes-confirmation'); await this.page.getByRole('button', { name: action }).click(); } }