diff options
-rw-r--r-- | tap-snapshots/test/snapshot/generateTrackReleaseInfo.js.test.cjs | 36 | ||||
-rw-r--r-- | test/snapshot/generateTrackReleaseInfo.js | 51 |
2 files changed, 87 insertions, 0 deletions
diff --git a/tap-snapshots/test/snapshot/generateTrackReleaseInfo.js.test.cjs b/tap-snapshots/test/snapshot/generateTrackReleaseInfo.js.test.cjs new file mode 100644 index 00000000..b72680ae --- /dev/null +++ b/tap-snapshots/test/snapshot/generateTrackReleaseInfo.js.test.cjs @@ -0,0 +1,36 @@ +/* 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/generateTrackReleaseInfo.js TAP linkArtist (snapshot) > basic behavior 1`] = ` +<p> + By <a href="artist/toby-fox/">Toby Fox</a>. + <br> + Released 11/29/2011. + <br> + Duration: 0:58. +</p> +<p>Listen on <a href="https://soundcloud.com/foo" class="nowrap">SoundCloud</a> or <a href="https://youtube.com/watch?v=bar" class="nowrap">YouTube</a>.</p> +` + +exports[`test/snapshot/generateTrackReleaseInfo.js TAP linkArtist (snapshot) > cover artist contribs, non-unique 1`] = ` +<p>By <a href="artist/toby-fox/">Toby Fox</a>.</p> +<p>This wiki doesn't have any listening links for <i>Suspicious Track</i>.</p> +` + +exports[`test/snapshot/generateTrackReleaseInfo.js TAP linkArtist (snapshot) > cover artist contribs, unique 1`] = ` +<p> + By <a href="artist/toby-fox/">Toby Fox</a>. + <br> + Cover art by <a href="artist/alpaca/">Alpaca</a> (🔥). +</p> +<p>This wiki doesn't have any listening links for <i>Suspicious Track</i>.</p> +` + +exports[`test/snapshot/generateTrackReleaseInfo.js TAP linkArtist (snapshot) > reduced details 1`] = ` +<p>By <a href="artist/toby-fox/">Toby Fox</a>.</p> +<p>This wiki doesn't have any listening links for <i>Suspicious Track</i>.</p> +` diff --git a/test/snapshot/generateTrackReleaseInfo.js b/test/snapshot/generateTrackReleaseInfo.js new file mode 100644 index 00000000..c9c40684 --- /dev/null +++ b/test/snapshot/generateTrackReleaseInfo.js @@ -0,0 +1,51 @@ +import t from 'tap'; +import {testContentFunctions} from '../lib/content-function.js'; + +testContentFunctions(t, 'linkArtist (snapshot)', async (t, evaluate) => { + await evaluate.load(); + + const artistContribs = [{who: {name: 'Toby Fox', directory: 'toby-fox'}, what: null}]; + const coverArtistContribs = [{who: {name: 'Alpaca', directory: 'alpaca'}, what: '🔥'}]; + + evaluate.snapshot('basic behavior', { + name: 'generateTrackReleaseInfo', + args: [{ + artistContribs, + name: 'An Apple Disaster!!', + date: new Date('2011-11-30'), + duration: 58, + urls: ['https://soundcloud.com/foo', 'https://youtube.com/watch?v=bar'], + }], + }); + + const sparse = { + artistContribs, + name: 'Suspicious Track', + date: null, + duration: null, + urls: [], + }; + + evaluate.snapshot('reduced details', { + name: 'generateTrackReleaseInfo', + args: [sparse], + }); + + evaluate.snapshot('cover artist contribs, non-unique', { + name: 'generateTrackReleaseInfo', + args: [{ + ...sparse, + coverArtistContribs, + hasUniqueCoverArt: false, + }], + }); + + evaluate.snapshot('cover artist contribs, unique', { + name: 'generateTrackReleaseInfo', + args: [{ + ...sparse, + coverArtistContribs, + hasUniqueCoverArt: true, + }], + }); +}); |