diff --git a/src/helpers.test.ts b/src/helpers.test.ts index 4f533ba..994bed1 100644 --- a/src/helpers.test.ts +++ b/src/helpers.test.ts @@ -207,7 +207,7 @@ describe('waitForVideosToBeWritten', () => { .mockImplementationOnce(() => ({ size: 73 } as any)) .mockImplementation(() => ({ size: 512 } as any)) const sleepMock = vi.fn().mockImplementation(sleep) - expect(waitForVideosToBeWritten(videos, 200, sleepMock)).toBe(false) + expect(waitForVideosToBeWritten(videos, 150, sleepMock)).toBe(false) expect(sleepMock).toBeCalledTimes(2) }) }) diff --git a/src/index.test.ts b/src/index.test.ts index 03e2eb2..c574bad 100644 --- a/src/index.test.ts +++ b/src/index.test.ts @@ -104,6 +104,15 @@ describe('Video Reporter', () => { expect(vi.mocked(process.on)).toBeCalledTimes(1) }) + it('sets outputDir to default value if not configured', () => { + const reporter = new VideoReporter({}) + reporter.onRunnerStart({ + ...allureRunner, + config: {} + }) + expect(reporter.outputDir).toEqual('_results_') + }) + it('should set record to true', () => { const reporter = new VideoReporter({}) reporter.onRunnerStart(allureRunner) diff --git a/src/index.ts b/src/index.ts index 7c31aa8..2b18f73 100644 --- a/src/index.ts +++ b/src/index.ts @@ -30,6 +30,7 @@ export default class VideoReporter extends WdioReporter { #allureOutputDir?: string #allureReporter = new AllureReporterExtension() #record = true + #defaultOutputDir = '_results_' screenshotPromises: Promise[] = [] videos: string[] = [] @@ -61,6 +62,11 @@ export default class VideoReporter extends WdioReporter { return this.#isDone } + /** + * set getter to verify values for testing purposes + */ + get outputDir () { return this.#outputDir } + /** * set getter to verify values for testing purposes */ @@ -85,7 +91,8 @@ export default class VideoReporter extends WdioReporter { return } - this.#outputDir = runner.config.outputDir as string + this.#outputDir = this.options.outputDir ?? runner.config.outputDir as string + this.#outputDir = this.#outputDir ?? this.#defaultOutputDir const sessionId = runner.isMultiremote ? Object.entries(runner.capabilities).map(([, caps]) => caps.sessionId)[0] as string : runner.sessionId