feat: integrate authored nightdrive soundtrack
This commit is contained in:
@@ -57,6 +57,36 @@ describe('approved asset publication closure', () => {
|
||||
await expect(verifyApprovedAssetSet(root)).resolves.toBeUndefined();
|
||||
});
|
||||
|
||||
it('includes every soundtrack codec variant in the approved publication closure', async () => {
|
||||
const root = await createScratchRepository();
|
||||
const assets = [
|
||||
['soundtrack-intro-opus', 'nightdrive-intro.opus'],
|
||||
['soundtrack-intro-mp3', 'nightdrive-intro.mp3'],
|
||||
['soundtrack-main-opus', 'nightdrive-main.opus'],
|
||||
['soundtrack-main-mp3', 'nightdrive-main.mp3'],
|
||||
].map(([id, fileName], index) => {
|
||||
const bytes = Buffer.from(`approved soundtrack asset ${index}`);
|
||||
return { id, fileName, bytes, sha256: createHash('sha256').update(bytes).digest('hex') };
|
||||
});
|
||||
await writeFile(join(root, 'content/public/asset-manifest.json'), JSON.stringify({
|
||||
assets: assets.map(({ id, fileName, sha256 }) => ({ id, fileName, sha256 })),
|
||||
}));
|
||||
await writeFile(join(root, 'content/public/portfolio-content.json'), JSON.stringify({
|
||||
projects: { selected: [], additional: [] },
|
||||
toolkit: [],
|
||||
metadata: {},
|
||||
soundtrack: {
|
||||
intro: { opusAssetId: 'soundtrack-intro-opus', mp3AssetId: 'soundtrack-intro-mp3' },
|
||||
main: { opusAssetId: 'soundtrack-main-opus', mp3AssetId: 'soundtrack-main-mp3' },
|
||||
},
|
||||
}));
|
||||
await mkdir(join(root, 'inputs/prepared-assets'), { recursive: true });
|
||||
await Promise.all(assets.map(({ fileName, bytes }) =>
|
||||
writeFile(join(root, 'inputs/prepared-assets', fileName), bytes)));
|
||||
|
||||
await expect(verifyApprovedAssetSet(root)).resolves.toBeUndefined();
|
||||
});
|
||||
|
||||
it('rejects a symbolic-link prepared-asset directory', async () => {
|
||||
const root = await createScratchRepository();
|
||||
const target = join(root, 'outside');
|
||||
|
||||
Reference in New Issue
Block a user