import { MochaOptions, reporters, Runner } from 'mocha'; import { ConfigLoader, TestStatusEnum } from 'qase-javascript-commons'; import { ReporterOptionsType } from './options'; type CypressState = 'failed' | 'passed' | 'pending'; export type CypressQaseOptionsType = Omit & { reporterOptions: ReporterOptionsType; }; /** * @class CypressQaseReporter * @extends reporters.Base */ export declare class CypressQaseReporter extends reporters.Base { /** * @type {RegExp} */ /** @deprecated Use parseProjectMappingFromTitle from qase-javascript-commons for multi-project support. */ static qaseIdRegExp: RegExp; /** * @type {Record} */ static statusMap: Record; /** * @type {string | undefined} * @private */ private screenshotsFolder; /** * @type {ReporterInterface} * @private */ private reporter; private testBeginTime; /** * Set to track processed tests to identify skipped tests when beforeEach fails * @type {Set} * @private */ private processedTests; /** * @param {Runner} runner * @param {CypressQaseOptionsType} options * @param {ConfigLoaderInterface} configLoader */ constructor(runner: Runner, options: CypressQaseOptionsType, configLoader?: ConfigLoader>); /** * @param {Runner} runner * @private */ private addRunnerListeners; /** * Generate a unique identifier for a test * @param {Test} test * @returns {string} * @private */ private getTestIdentifier; /** * Mark a test as processed * @param {Test} test * @private */ private markTestAsProcessed; /** * Check if a test was processed * @param {Test} test * @returns {boolean} * @private */ private isTestProcessed; /** * Handle skipped tests in a suite when beforeEach hook fails * @param {Suite} suite * @private */ /** * Recursively collect all tests from a suite and its nested suites * @param {Suite} suite * @param {Test[]} tests * @private */ private collectAllTestsFromSuite; private handleSkippedTestsInSuite; /** * Add a test result for a skipped test (due to beforeEach failure) * @param {Test} test * @private */ private addSkippedTestResult; /** * @param {Test} test * @private */ private addTestResult; /** * @param {Test} test * @param {number[]} ids * @private */ private getSignature; private getTestFileName; /** * @param {Suite} suite * @private */ private getFile; /** * @param {string} title * @returns {string} * @private */ private removeQaseIdsFromTitle; private convertCypressMessages; private getSteps; } export {};