import { afterEach, describe, expect, it } from 'vitest'; import { YtDlpError, runYtDlp } from '../src/services/ytDlpRunner.js'; describe('runYtDlp', () => { afterEach(() => { // biome-ignore lint/performance/noDelete: une assignation à `undefined` stockerait la chaîne "undefined" dans process.env. delete process.env.YTDLP_PATH; }); it('retourne stdout quand le processus réussit', async () => { process.env.YTDLP_PATH = process.execPath; const stdout = await runYtDlp(['-e', "console.log('bonjour')"]); expect(stdout.trim()).toBe('bonjour'); }); it('lève YtDlpError quand le processus se termine en échec', async () => { process.env.YTDLP_PATH = process.execPath; await expect(runYtDlp(['-e', "console.error('boom'); process.exit(3)"])).rejects.toBeInstanceOf( YtDlpError, ); }); });