« get me outta code hell

data, test: update & test Track.originalReleaseTrack - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/test/unit
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2023-08-31 11:00:07 -0300
committer(quasar) nebula <qznebula@protonmail.com>2023-09-05 21:02:54 -0300
commitf874ea879e8b9555baaaa3a38ec6a00432721846 (patch)
treec58783aa6348e8a40e57c46e46b1b717f0603253 /test/unit
parentd4e5d37ef9bc09789715f978e1b636bc2a1f8e97 (diff)
data, test: update & test Track.originalReleaseTrack
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/data/things/track.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/unit/data/things/track.js b/test/unit/data/things/track.js
index 9132376..97d664e 100644
--- a/test/unit/data/things/track.js
+++ b/test/unit/data/things/track.js
@@ -272,6 +272,31 @@ t.test(`Track.hasUniqueCoverArt`, t => {
     `hasUniqueCoverArt #7: is false if track's coverArtistContribsByRef resolve empty`);
 });
 
+t.only(`Track.originalReleaseTrack`, t => {
+  t.plan(3);
+
+  const {track: track1, album: album1} = stubTrackAndAlbum('track1');
+  const {track: track2, album: album2} = stubTrackAndAlbum('track2');
+
+  const {wikiData, linkWikiDataArrays, XXX_decacheWikiData} = linkAndBindWikiData({
+    trackData: [track1, track2],
+    albumData: [album1, album2],
+  });
+
+  t.equal(track2.originalReleaseTrack, null,
+    `originalReleaseTrack #1: defaults to null`);
+
+  track2.originalReleaseTrackByRef = 'track:track1';
+
+  t.equal(track2.originalReleaseTrack, track1,
+    `originalReleaseTrack #2: is resolved from originalReleaseTrackByRef`);
+
+  track2.trackData = [];
+
+  t.equal(track2.originalReleaseTrack, null,
+    `originalReleaseTrack #3: is null when track missing trackData`);
+});
+
 t.test(`Track.otherReleases`, t => {
   t.plan(6);