1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
import t from 'tap';
import {linkAndBindWikiData} from '#test-lib';
import thingConstructors from '#things';
const {
Album,
Artist,
Thing,
Track,
} = thingConstructors;
function stubArtistAndContribs() {
const artist = new Artist();
artist.name = `Test Artist`;
const contribs = [{who: `Test Artist`, what: null}];
const badContribs = [{who: `Figment of Your Imagination`, what: null}];
return {artist, contribs, badContribs};
}
t.test(`Album.coverArtDate`, t => {
t.plan(6);
const album = new Album();
const {artist, contribs, badContribs} = stubArtistAndContribs();
linkAndBindWikiData({
albumData: [album],
artistData: [artist],
});
t.equal(album.coverArtDate, null,
`Album.coverArtDate #1: defaults to null`);
album.date = new Date('2012-10-25');
t.equal(album.coverArtDate, null,
`Album.coverArtDate #2: is null if coverArtistContribs empty (1/2)`);
album.coverArtDate = new Date('2011-04-13');
t.equal(album.coverArtDate, null,
`Album.coverArtDate #3: is null if coverArtistContribs empty (2/2)`);
album.coverArtistContribs = contribs;
t.same(album.coverArtDate, new Date('2011-04-13'),
`Album.coverArtDate #4: is own value`);
album.coverArtDate = null;
t.same(album.coverArtDate, new Date(`2012-10-25`),
`Album.coverArtDate #5: inherits album release date`);
album.coverArtistContribs = badContribs;
t.equal(album.coverArtDate, null,
`Album.coverArtDate #6: is null if coverArtistContribs resolves empty`);
});
t.test(`Album.coverArtFileExtension`, t => {
t.plan(5);
const album = new Album();
const {artist, contribs, badContribs} = stubArtistAndContribs();
linkAndBindWikiData({
albumData: [album],
artistData: [artist],
});
t.equal(album.coverArtFileExtension, null,
`Album.coverArtFileExtension #1: is null if coverArtistContribs empty (1/2)`);
album.coverArtFileExtension = 'png';
t.equal(album.coverArtFileExtension, null,
`Album.coverArtFileExtension #2: is null if coverArtistContribs empty (2/2)`);
album.coverArtFileExtension = null;
album.coverArtistContribs = contribs;
t.equal(album.coverArtFileExtension, 'jpg',
`Album.coverArtFileExtension #3: defaults to jpg`);
album.coverArtFileExtension = 'png';
t.equal(album.coverArtFileExtension, 'png',
`Album.coverArtFileExtension #4: is own value`);
album.coverArtistContribs = badContribs;
t.equal(album.coverArtFileExtension, null,
`Album.coverArtFileExtension #5: is null if coverArtistContribs resolves empty`);
});
|