graphbrainz/test/api.js

40 lines
1.2 KiB
JavaScript
Raw Normal View History

2016-12-07 08:23:02 +00:00
import path from 'path'
import test from 'ava'
import sepia from 'sepia'
import MusicBrainz from '../src/api'
sepia.fixtureDir(path.join(__dirname, 'fixtures'))
test.beforeEach(t => {
t.context.client = new MusicBrainz()
})
test('getLookupURL() generates a lookup URL', t => {
const { client } = t.context
t.is(client.getLookupURL('artist', 'c8da2e40-bd28-4d4e-813a-bd2f51958ba8', {
inc: ['recordings', 'release-groups']
}), 'artist/c8da2e40-bd28-4d4e-813a-bd2f51958ba8?inc=recordings%2Brelease-groups')
})
test('getBrowseURL() generates a browse URL', t => {
const { client } = t.context
t.is(client.getBrowseURL('recording', {
artist: 'c8da2e40-bd28-4d4e-813a-bd2f51958ba8',
limit: null,
offset: 0
}), 'recording?artist=c8da2e40-bd28-4d4e-813a-bd2f51958ba8&offset=0')
})
test('getSearchURL() generates a search URL', t => {
const { client } = t.context
t.is(client.getSearchURL('artist', 'Lures', { inc: null }), 'artist?query=Lures')
})
test('lookup() sends a lookup query', t => {
const { client } = t.context
return client.lookup('artist', 'c8da2e40-bd28-4d4e-813a-bd2f51958ba8').then(response => {
t.is(response.id, 'c8da2e40-bd28-4d4e-813a-bd2f51958ba8')
t.is(response.type, 'Group')
})
})