18 lines
751 B
TypeScript
18 lines
751 B
TypeScript
import { StepId } from 'packages/domain/value-objects/StepId';
|
|
import type { PlaywrightAutomationAdapter } from 'packages/infrastructure/adapters/automation';
|
|
import type { AutomationResult } from 'packages/application/ports/AutomationResults';
|
|
|
|
export function assertAutoNavigationConfig(config: Record<string, unknown>): void {
|
|
if ((config as any).__skipFixtureNavigation) {
|
|
throw new Error('__skipFixtureNavigation is forbidden in auto-navigation suites');
|
|
}
|
|
}
|
|
|
|
export async function executeStepWithAutoNavigationGuard(
|
|
adapter: PlaywrightAutomationAdapter,
|
|
step: number,
|
|
config: Record<string, unknown>,
|
|
): Promise<AutomationResult> {
|
|
assertAutoNavigationConfig(config);
|
|
return adapter.executeStep(StepId.create(step), config);
|
|
} |