From bcb0b8ac37d7f256b2b4f82f3c245501486bd52e Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Tue, 2 Apr 2024 17:12:23 -0300 Subject: test: generateAlbumAdditionalFilesList (snapshot) --- .../generateAdditionalFilesList.js.test.cjs | 29 -------- .../generateAlbumAdditionalFilesList.js.test.cjs | 51 ++++++++++++++ test/snapshot/generateAdditionalFilesList.js | 64 ----------------- test/snapshot/generateAlbumAdditionalFilesList.js | 80 ++++++++++++++++++++++ 4 files changed, 131 insertions(+), 93 deletions(-) delete mode 100644 tap-snapshots/test/snapshot/generateAdditionalFilesList.js.test.cjs create mode 100644 tap-snapshots/test/snapshot/generateAlbumAdditionalFilesList.js.test.cjs delete mode 100644 test/snapshot/generateAdditionalFilesList.js create mode 100644 test/snapshot/generateAlbumAdditionalFilesList.js 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 42a409a..0000000 --- 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`] = ` -
-
SBURB Wallpaper
-
-
    -
  • link to 1280x1024 (2.5 kB)
  • -
  • link to 1440x900
  • -
-
-
Alternate Covers: This is just an example description.
-
-
    -
  • link to alt1 (1.2 MB)
  • -
  • link to alt3 (1.2 MB)
  • -
-
-
-` - -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 0000000..3442c97 --- /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`] = ` + +` + +exports[`test/snapshot/generateAlbumAdditionalFilesList.js > TAP > generateAlbumAdditionalFilesList (snapshot) > no additional files 1`] = ` + +` diff --git a/test/snapshot/generateAdditionalFilesList.js b/test/snapshot/generateAdditionalFilesList.js deleted file mode 100644 index 3ea1c37..0000000 --- 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 0000000..70a5c0d --- /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); + } +}); -- cgit 1.3.0-6-gf8a5