59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
import { expect } from '@playwright/test';
|
|
import { test } from '../lib/fixtures/blank-workflow';
|
|
|
|
test('The workflow run visualizer shows the executed draft version without the last draft changes', async ({
|
|
workflowVisualizer,
|
|
page,
|
|
}) => {
|
|
await workflowVisualizer.createInitialTrigger('manual');
|
|
|
|
const manualTriggerAvailabilitySelect = page.getByRole('button', {
|
|
name: 'When record(s) are selected',
|
|
});
|
|
|
|
await manualTriggerAvailabilitySelect.click();
|
|
|
|
const alwaysAvailableOption = page.getByText(
|
|
'When no record(s) are selected',
|
|
);
|
|
|
|
await alwaysAvailableOption.click();
|
|
|
|
await workflowVisualizer.closeSidePanel();
|
|
|
|
const { createdStepId: firstStepId } =
|
|
await workflowVisualizer.createStep('create-record');
|
|
|
|
await workflowVisualizer.closeSidePanel();
|
|
|
|
const launchTestButton = page.getByLabel(workflowVisualizer.workflowName);
|
|
|
|
await launchTestButton.click();
|
|
|
|
const goToExecutionPageLink = page.getByRole('link', {
|
|
name: 'View execution details',
|
|
});
|
|
const executionPageUrl = await goToExecutionPageLink.getAttribute('href');
|
|
expect(executionPageUrl).not.toBeNull();
|
|
|
|
await workflowVisualizer.deleteStep(firstStepId);
|
|
|
|
await page.goto(executionPageUrl!);
|
|
|
|
const workflowRunName = page.getByText(
|
|
`#1 - ${workflowVisualizer.workflowName}`,
|
|
);
|
|
|
|
await expect(workflowRunName).toBeVisible();
|
|
|
|
const executedFirstStepNode = workflowVisualizer.getStepNode(firstStepId);
|
|
|
|
await expect(executedFirstStepNode).toBeVisible();
|
|
|
|
await executedFirstStepNode.click();
|
|
|
|
await expect(workflowVisualizer.stepHeaderInCommandMenu).toContainText(
|
|
'Create Record',
|
|
);
|
|
});
|