Files
SubMiner/src/config/resolve/integrations.test.ts
2026-04-07 00:38:15 -07:00

60 lines
1.5 KiB
TypeScript

import assert from 'node:assert/strict';
import test from 'node:test';
import { resolveConfig } from '../resolve';
test('resolveConfig trims configured mpv executable path', () => {
const { resolved, warnings } = resolveConfig({
mpv: {
executablePath: ' C:\\Program Files\\mpv\\mpv.exe ',
},
});
assert.equal(resolved.mpv.executablePath, 'C:\\Program Files\\mpv\\mpv.exe');
assert.deepEqual(warnings, []);
});
test('resolveConfig parses configured mpv launch mode', () => {
const { resolved, warnings } = resolveConfig({
mpv: {
launchMode: 'maximized',
},
});
assert.equal(resolved.mpv.launchMode, 'maximized');
assert.deepEqual(warnings, []);
});
test('resolveConfig warns for invalid mpv executable path type', () => {
const { resolved, warnings } = resolveConfig({
mpv: {
executablePath: 42 as never,
},
});
assert.equal(resolved.mpv.executablePath, '');
assert.equal(warnings.length, 1);
assert.deepEqual(warnings[0], {
path: 'mpv.executablePath',
value: 42,
fallback: '',
message: 'Expected string.',
});
});
test('resolveConfig warns for invalid mpv launch mode', () => {
const { resolved, warnings } = resolveConfig({
mpv: {
launchMode: 'cinema' as never,
},
});
assert.equal(resolved.mpv.launchMode, 'normal');
assert.equal(warnings.length, 1);
assert.deepEqual(warnings[0], {
path: 'mpv.launchMode',
value: 'cinema',
fallback: 'normal',
message: "Expected one of: 'normal', 'maximized', 'fullscreen'.",
});
});