mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-20 12:11:28 -07:00
refactor(youtube): extract subtitle generation pipeline
This commit is contained in:
58
launcher/youtube/orchestrator.test.ts
Normal file
58
launcher/youtube/orchestrator.test.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
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,
|
||||
},
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user