mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-20 12:11:28 -07:00
59 lines
1.7 KiB
TypeScript
59 lines
1.7 KiB
TypeScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
|
|
import { planYoutubeSubtitleGeneration } from './orchestrator';
|
|
|
|
test('planYoutubeSubtitleGeneration prefers manual subtitles and never schedules auto-subs', () => {
|
|
assert.deepEqual(
|
|
planYoutubeSubtitleGeneration({
|
|
hasPrimaryManualSubtitle: true,
|
|
hasSecondaryManualSubtitle: false,
|
|
secondaryCanTranslate: true,
|
|
}),
|
|
{
|
|
fetchManualSubtitles: true,
|
|
fetchAutoSubtitles: false,
|
|
publishPrimaryManualSubtitle: false,
|
|
publishSecondaryManualSubtitle: false,
|
|
generatePrimarySubtitle: false,
|
|
generateSecondarySubtitle: true,
|
|
},
|
|
);
|
|
});
|
|
|
|
test('planYoutubeSubtitleGeneration generates only missing tracks', () => {
|
|
assert.deepEqual(
|
|
planYoutubeSubtitleGeneration({
|
|
hasPrimaryManualSubtitle: false,
|
|
hasSecondaryManualSubtitle: true,
|
|
secondaryCanTranslate: true,
|
|
}),
|
|
{
|
|
fetchManualSubtitles: true,
|
|
fetchAutoSubtitles: false,
|
|
publishPrimaryManualSubtitle: false,
|
|
publishSecondaryManualSubtitle: false,
|
|
generatePrimarySubtitle: true,
|
|
generateSecondarySubtitle: false,
|
|
},
|
|
);
|
|
});
|
|
|
|
test('planYoutubeSubtitleGeneration reuses manual tracks already present on the YouTube video', () => {
|
|
assert.deepEqual(
|
|
planYoutubeSubtitleGeneration({
|
|
hasPrimaryManualSubtitle: true,
|
|
hasSecondaryManualSubtitle: true,
|
|
secondaryCanTranslate: true,
|
|
}),
|
|
{
|
|
fetchManualSubtitles: true,
|
|
fetchAutoSubtitles: false,
|
|
publishPrimaryManualSubtitle: false,
|
|
publishSecondaryManualSubtitle: false,
|
|
generatePrimarySubtitle: false,
|
|
generateSecondarySubtitle: false,
|
|
},
|
|
);
|
|
});
|