ACTIVEPIECES/packages/tests-e2e/page/builder.ts
rohit cd823a2d9e
Some checks failed
Crowdin Action / synchronize-with-crowdin (push) Has been cancelled
Release Pieces / Release-Pieces (push) Has been cancelled
automaton layer
2025-07-05 23:59:03 +05:30

49 lines
2.1 KiB
TypeScript

import { Page, expect } from '@playwright/test';
const property = {
async selectConnection(page: Page, params: { connection: string }) {
await page.getByRole('combobox', { name: 'Connection' }).locator('span').click();
await page.getByText(params.connection, { exact: true }).click();
},
async selectDropdown(page: Page, params: { property: string, value: string }) {
await page.getByText(params.property, { exact: true }).click()
await page.getByText(params.value).click();
}
}
export const builder = {
async selectInitialTrigger(page: Page, params: { piece: string, trigger: string }) {
await page.getByText('Select Trigger', { exact: true }).click();
await page.getByPlaceholder('Search').click();
await page.getByPlaceholder('Search').fill(params.piece);
await page.getByAltText(params.piece).click();
await page.locator('mat-form-field div').filter({ hasText: 'Trigger Select a Trigger' }).first().click();
await page.getByText(params.trigger, { exact: true }).click();
await page.waitForTimeout(5000);
},
async addAction(page: Page, params: { piece: string, action: string }) {
await page.locator('app-small-add-button div').first().click();
await page.getByPlaceholder('Search').click();
await page.getByPlaceholder('Search').fill(params.piece);
await page.getByText(params.piece).click();
await page.getByText('Select an Action', { exact: true }).click();
await page.getByText(params.action, { exact: true }).click();
},
async testFlowAndWaitForSuccess(page: Page) {
await page.getByText('Test flow').click();
await page.waitForSelector('//*[contains(text(),"Run succeeded")]'); // Wait for the element to appear
const runSuccessText = await page.locator('//*[contains(text(),"Run succeeded")]').textContent();
expect(runSuccessText).toContain('Run succeeded');
},
async exitRun(page: Page) {
await page.getByRole('button', { name: 'Exit Run' }).click();
},
async clickHome(page: Page) {
await page.getByLabel('Home').click();
},
property,
}