/** * Journey Testing Type Definitions for Fortress Layer 6 * Critical user journey validation with Playwright */ export type JourneyPriority = 'CRITICAL' | 'HIGH' | 'LOW'; export type JourneyEnvironment = 'local' | 'staging' | 'production'; export interface CriticalJourney { readonly id: string; readonly name: string; readonly description: string; readonly priority: JourneyPriority; readonly tags: string[]; readonly environments: JourneyEnvironment[]; readonly timeout: number; readonly retries: number; readonly steps: JourneyStep[]; } export type StepAction = 'visit' | 'click' | 'fillForm' | 'fetch' | 'see' | 'login' | 'wait'; export interface JourneyStep { readonly action: StepAction; readonly description: string; readonly timeout?: number; readonly url?: string; readonly expectedStatus?: number; readonly selector?: string; readonly text?: string; readonly formData?: Record; readonly apiEndpoint?: string; readonly method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; readonly headers?: Record; readonly body?: unknown; readonly expectedResponseStatus?: number; readonly expectedResponseBody?: unknown; readonly username?: string; readonly password?: string; readonly loginUrl?: string; readonly waitMs?: number; } export interface JourneyResult { readonly journeyId: string; readonly journeyName: string; readonly passed: boolean; readonly executionTime: number; readonly timestamp: string; readonly attempts: number; readonly stepResults: StepResult[]; readonly error?: string; readonly screenshotPath?: string; readonly videoPath?: string; } export interface StepResult { readonly stepIndex: number; readonly stepDescription: string; readonly passed: boolean; readonly executionTime: number; readonly error?: string; readonly screenshotPath?: string; readonly details?: { readonly actualStatus?: number; readonly actualText?: string; readonly actualUrl?: string; readonly responseBody?: unknown; }; } export interface JourneyConfig { readonly baseUrl: string; readonly headless: boolean; readonly browser: 'chromium' | 'firefox' | 'webkit'; readonly viewport: { readonly width: number; readonly height: number; }; readonly defaultTimeout: number; readonly screenshotOnFailure: boolean; readonly videoOnFailure: boolean; readonly parallelWorkers: number; readonly retryDelay: number; } export interface PlaywrightConfig { readonly headless: boolean; readonly timeout: number; readonly viewport: { readonly width: number; readonly height: number; }; readonly slowMo?: number; } export interface JourneyContext { readonly variables: Map; readonly cookies: Record; readonly localStorage: Record; readonly baseUrl: string; } export interface JourneyValidationResult { readonly overall: 'APPROVED' | 'REJECTED'; readonly totalJourneys: number; readonly passedJourneys: number; readonly failedJourneys: number; readonly criticalFailures: number; readonly executionTime: number; readonly journeyResults: JourneyResult[]; readonly recommendations: string[]; } //# sourceMappingURL=journey-types.d.ts.map