Files
gridpilot.gg/tests/e2e/support/AutoNavGuard.ts
2025-12-11 21:06:25 +01:00

20 lines
896 B
TypeScript

import { StepId } from '@gridpilot/automation/domain/value-objects/StepId';
import type { PlaywrightAutomationAdapter } from 'packages/automation/infrastructure/adapters/automation';
import type { AutomationResult } from 'packages/automation/application/ports/AutomationResults';
export function assertAutoNavigationConfig(config: Record<string, unknown>): void {
const skipFixtureNavigationFlag =
(config as { __skipFixtureNavigation?: unknown }).__skipFixtureNavigation;
if (skipFixtureNavigationFlag === true) {
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);
}