export type DcuplTestTriggerOptions = { type: 'manual' | 'chron'; cron?: string; }; export type DcuplTestScenario = { key: string; name: string; processOptions: any; testConfigKey: string; trigger: DcuplTestTriggerOptions; }; export type DcuplTestScenarioConfig = DcuplTestScenario[]; export type TestRunnerOptions = { projectId: string; apiKey: string; baseUrl: string; loaderFileName: string; processOptions: any; testConfigKey: string; include?: string[]; exclude?: string[]; }; export type DcuplApplicationTestingConfig = { key: string; startupDuration?: number; processDuration?: number; downloadDuration?: number; maxPercentageOfUnusedData?: number; maxAmountOfUnusedAttributes?: number; errorTracking?: DcuplErrorTrackingTestingConfig; models?: DcuplModelTestingConfig[]; }; export type DcuplErrorTrackingTestingConfig = { allowModelDefinitionErrors?: boolean; allowMissingReferences?: boolean; allowMissingData?: boolean; }; export type DcuplModelTestingConfig = { key: string; modelKey: string; minSize?: number; maxSize?: number; requiredAttributes?: string[]; }; export type Stats = { suites: number; tests: number; passes: number; pending: number; failures: number; start: string; end: string; duration: number; }; export type Test = { title: string; fullTitle: string; file: string; duration: number; state: string; ctx: any; parent: string; }; export type TestRunnerResult = { stats: Stats; tests: Test[]; config: DcuplApplicationTestingConfig; };