diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-06-24 17:41:24 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2023-06-24 17:41:24 -0300 |
commit | 324b74cef03ca5f21e938ed3bb9a43e564b377fa (patch) | |
tree | 9746b8d31739a379dd7a49effb06e09c3b9bd8a5 /test/snapshot | |
parent | 47d504251c084e601b946866e572519b2612b13c (diff) |
test: generateAlbumTrackList (snapshot, unit)
Diffstat (limited to 'test/snapshot')
-rw-r--r-- | test/snapshot/generateAlbumTrackList.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/test/snapshot/generateAlbumTrackList.js b/test/snapshot/generateAlbumTrackList.js new file mode 100644 index 00000000..055f189e --- /dev/null +++ b/test/snapshot/generateAlbumTrackList.js @@ -0,0 +1,41 @@ +import t from 'tap'; +import {testContentFunctions} from '../lib/content-function.js'; + +testContentFunctions(t, 'generateAlbumTrackList (snapshot)', async (t, evaluate) => { + await evaluate.load({ + mock: { + generateAlbumTrackListItem: { + extraDependencies: ['html'], + data: track => track.name, + generate: (name, {html}) => + html.tag('li', `Item: ${name}`), + }, + }, + }); + + const tracks = [ + {name: 'Track 1', duration: 20}, + {name: 'Track 2', duration: 30}, + {name: 'Track 3', duration: 40}, + {name: 'Track 4', duration: 5}, + ]; + + evaluate.snapshot('basic behavior, with track sections', { + name: 'generateAlbumTrackList', + args: [{ + trackSections: [ + {name: 'First section', tracks: tracks.slice(0, 3)}, + {name: 'Second section', tracks: tracks.slice(3)}, + ], + tracks, + }], + }); + + evaluate.snapshot('basic behavior, default track section', { + name: 'generateAlbumTrackList', + args: [{ + trackSections: [{isDefaultTrackSection: true, tracks}], + tracks, + }], + }); +}); |