arda-site-scan
Version:
A standalone CLI tool for comprehensive website analysis including screenshots, SEO, and accessibility testing using Playwright
62 lines • 2.42 kB
TypeScript
import { TestOutputHandler, OutputConfiguration, OutputResult, OutputContext } from '../types/test-output-types.js';
import { TestResult } from '../types/index.js';
/**
* Centralized handler for all test output operations
* Implements DRY principles and standardized file management
*/
export declare class StandardTestOutputHandler implements TestOutputHandler {
private outputDir;
constructor(outputDir?: string);
/**
* Generate the appropriate output path for a test
*/
generateOutputPath(sessionId: string, testType: string, config: OutputConfiguration, context: OutputContext): string;
/**
* Save content to the appropriate location
*/
saveOutput(content: string | Buffer, outputPath: string, config: OutputConfiguration): Promise<OutputResult>;
/**
* Ensure the necessary directories exist for the output
*/
ensureOutputDirectory(outputPath: string): Promise<void>;
/**
* Get relative path for use in reports and links
*/
getRelativePath(outputPath: string, basePath: string): string;
/**
* Generate standardized filename from pattern and context
*/
private generateFilename;
/**
* Sanitize filename for cross-platform compatibility
*/
private sanitizeFilename;
/**
* Create a standardized test result with output information
*/
static createTestResult(testType: string, status: 'success' | 'failed' | 'pending', outputResult?: OutputResult, error?: string): TestResult;
/**
* Update an existing test result with completion information
*/
static completeTestResult(testResult: TestResult, status: 'success' | 'failed', outputResult?: OutputResult, error?: string): TestResult;
/**
* Get page name from URL (utility method)
*/
static getPageNameFromUrl(url: string): string;
/**
* Filter test results by output type
*/
static filterResultsByOutputType(results: TestResult[], outputType: 'per-page' | 'site-wide'): TestResult[];
/**
* Group per-page results by page
*/
static groupPerPageResultsByPage(results: TestResult[]): Map<string, TestResult[]>;
/**
* Validate output configuration and provide helpful error messages
*/
static validateConfiguration(testType: string): {
valid: boolean;
errors: string[];
};
}
//# sourceMappingURL=test-output-handler.d.ts.map