diff options
4 files changed, 131 insertions, 93 deletions
diff --git a/tap-snapshots/test/snapshot/generateAdditionalFilesList.js.test.cjs b/tap-snapshots/test/snapshot/generateAdditionalFilesList.js.test.cjs deleted file mode 100644 index 42a409ad..00000000 --- a/tap-snapshots/test/snapshot/generateAdditionalFilesList.js.test.cjs +++ /dev/null @@ -1,29 +0,0 @@ -/* IMPORTANT - * This snapshot file is auto-generated, but designed for humans. - * It should be checked into source control and tracked carefully. - * Re-generate by setting TAP_SNAPSHOT=1 and running tests. - * Make sure to inspect the output below. Do not ignore changes! - */ -'use strict' -exports[`test/snapshot/generateAdditionalFilesList.js > TAP > generateAdditionalFilesList (snapshot) > basic behavior 1`] = ` -<dl> - <dt>SBURB Wallpaper</dt> - <dd> - <ul> - <li>link to 1280x1024 (2.5 kB)</li> - <li>link to 1440x900</li> - </ul> - </dd> - <dt>Alternate Covers: This is just an example description.</dt> - <dd> - <ul> - <li>link to alt1 (1.2 MB)</li> - <li>link to alt3 (1.2 MB)</li> - </ul> - </dd> -</dl> -` - -exports[`test/snapshot/generateAdditionalFilesList.js > TAP > generateAdditionalFilesList (snapshot) > no additional files 1`] = ` - -` diff --git a/tap-snapshots/test/snapshot/generateAlbumAdditionalFilesList.js.test.cjs b/tap-snapshots/test/snapshot/generateAlbumAdditionalFilesList.js.test.cjs new file mode 100644 index 00000000..3442c974 --- /dev/null +++ b/tap-snapshots/test/snapshot/generateAlbumAdditionalFilesList.js.test.cjs @@ -0,0 +1,51 @@ +/* IMPORTANT + * This snapshot file is auto-generated, but designed for humans. + * It should be checked into source control and tracked carefully. + * Re-generate by setting TAP_SNAPSHOT=1 and running tests. + * Make sure to inspect the output below. Do not ignore changes! + */ +'use strict' +exports[`test/snapshot/generateAlbumAdditionalFilesList.js > TAP > generateAlbumAdditionalFilesList (snapshot) > basic behavior 1`] = ` +<ul class="additional-files-list"> + <li> + <details> + <summary><span>SBURB Wallpaper</span></summary> + <ul> + <li><a href="media/album-additional/exciting-album/sburbwp_1280x1024.jpg">sburbwp_1280x1024.jpg</a></li> + <li><a href="media/album-additional/exciting-album/sburbwp_1440x900.jpg">sburbwp_1440x900.jpg</a></li> + <li><a href="media/album-additional/exciting-album/sburbwp_1920x1080.jpg">sburbwp_1920x1080.jpg</a></li> + </ul> + </details> + </li> + <li> + <details> + <summary><span>Fake Section: No sizes for these files</span></summary> + <ul> + <li><a href="media/album-additional/exciting-album/oops.mp3">oops.mp3</a></li> + <li><a href="media/album-additional/exciting-album/Internet%20Explorer.gif">Internet Explorer.gif</a></li> + <li><a href="media/album-additional/exciting-album/daisy.mp3">daisy.mp3</a></li> + </ul> + </details> + </li> + <li> + <details> + <summary><span>Empty Section: These files haven't been made available.</span></summary> + <ul></ul> + </details> + </li> + <li> + <details> + <summary><span>Alternate Covers: This is just an example description.</span></summary> + <ul> + <li><a href="media/album-additional/exciting-album/Homestuck_Vol4_alt1.jpg">Homestuck_Vol4_alt1.jpg</a></li> + <li><a href="media/album-additional/exciting-album/Homestuck_Vol4_alt2.jpg">Homestuck_Vol4_alt2.jpg</a></li> + <li><a href="media/album-additional/exciting-album/Homestuck_Vol4_alt3.jpg">Homestuck_Vol4_alt3.jpg</a></li> + </ul> + </details> + </li> +</ul> +` + +exports[`test/snapshot/generateAlbumAdditionalFilesList.js > TAP > generateAlbumAdditionalFilesList (snapshot) > no additional files 1`] = ` +<ul class="additional-files-list"></ul> +` diff --git a/test/snapshot/generateAdditionalFilesList.js b/test/snapshot/generateAdditionalFilesList.js deleted file mode 100644 index 3ea1c37e..00000000 --- a/test/snapshot/generateAdditionalFilesList.js +++ /dev/null @@ -1,64 +0,0 @@ -import t from 'tap'; -import {testContentFunctions} from '#test-lib'; - -testContentFunctions(t, 'generateAdditionalFilesList (snapshot)', async (t, evaluate) => { - await evaluate.load(); - - evaluate.snapshot('no additional files', { - name: 'generateAdditionalFilesList', - args: [[]], - }); - - evaluate.snapshot('basic behavior', { - name: 'generateAdditionalFilesList', - args: [ - [ - { - title: 'SBURB Wallpaper', - files: [ - 'sburbwp_1280x1024.jpg', - 'sburbwp_1440x900.jpg', - 'sburbwp_1920x1080.jpg', - ], - }, - { - title: 'Fake Section', - description: 'Ooo, what happens if there are NO file links provided?', - files: [ - 'oops.mp3', - 'Internet Explorer.gif', - 'daisy.mp3', - ], - }, - { - title: 'Alternate Covers', - description: 'This is just an example description.', - files: [ - 'Homestuck_Vol4_alt1.jpg', - 'Homestuck_Vol4_alt2.jpg', - 'Homestuck_Vol4_alt3.jpg', - ], - }, - ], - ], - slots: { - fileLinks: { - 'sburbwp_1280x1024.jpg': 'link to 1280x1024', - 'sburbwp_1440x900.jpg': 'link to 1440x900', - 'sburbwp_1920x1080.jpg': null, - 'Homestuck_Vol4_alt1.jpg': 'link to alt1', - 'Homestuck_Vol4_alt2.jpg': null, - 'Homestuck_Vol4_alt3.jpg': 'link to alt3', - }, - fileSizes: { - 'sburbwp_1280x1024.jpg': 2500, - 'sburbwp_1440x900.jpg': null, - 'sburbwp_1920x1080.jpg': null, - 'Internet Explorer.gif': 1, - 'Homestuck_Vol4_alt1.jpg': 1234567, - 'Homestuck_Vol4_alt2.jpg': 1234567, - 'Homestuck_Vol4_alt3.jpg': 1234567, - } - }, - }); -}); diff --git a/test/snapshot/generateAlbumAdditionalFilesList.js b/test/snapshot/generateAlbumAdditionalFilesList.js new file mode 100644 index 00000000..70a5c0d2 --- /dev/null +++ b/test/snapshot/generateAlbumAdditionalFilesList.js @@ -0,0 +1,80 @@ +import t from 'tap'; + +import {testContentFunctions} from '#test-lib'; +import thingConstructors from '#things'; + +const {Album} = thingConstructors; + +testContentFunctions(t, 'generateAlbumAdditionalFilesList (snapshot)', async (t, evaluate) => { + const sizeMap = { + 'sburbwp_1280x1024.jpg': 2500, + 'sburbwp_1440x900.jpg': null, + 'sburbwp_1920x1080.jpg': null, + 'Internet Explorer.gif': 1, + 'Homestuck_Vol4_alt1.jpg': 1234567, + 'Homestuck_Vol4_alt2.jpg': 1234567, + 'Homestuck_Vol4_alt3.jpg': 1234567, + }; + + const extraDependencies = { + getSizeOfAdditionalFile: file => + Object.entries(sizeMap) + .find(key => file.includes(key)) + ?.at(1) ?? null, + }; + + await evaluate.load(); + + const album = new Album(); + album.directory = 'exciting-album'; + + evaluate.snapshot('no additional files', { + extraDependencies, + name: 'generateAlbumAdditionalFilesList', + args: [album, []], + }); + + try { + evaluate.snapshot('basic behavior', { + extraDependencies, + name: 'generateAlbumAdditionalFilesList', + args: [ + album, + [ + { + title: 'SBURB Wallpaper', + files: [ + 'sburbwp_1280x1024.jpg', + 'sburbwp_1440x900.jpg', + 'sburbwp_1920x1080.jpg', + ], + }, + { + title: 'Fake Section', + description: 'No sizes for these files', + files: [ + 'oops.mp3', + 'Internet Explorer.gif', + 'daisy.mp3', + ], + }, + { + title: `Empty Section`, + description: `These files haven't been made available.`, + }, + { + title: 'Alternate Covers', + description: 'This is just an example description.', + files: [ + 'Homestuck_Vol4_alt1.jpg', + 'Homestuck_Vol4_alt2.jpg', + 'Homestuck_Vol4_alt3.jpg', + ], + }, + ], + ], + }); + } catch (error) { + console.log(error); + } +}); |