graphbrainz/test/extensions/the-audio-db/schema.js

119 lines
2.7 KiB
JavaScript
Raw Normal View History

import test from 'ava'
import { graphql } from 'graphql'
import extension from '../../../src/extensions/the-audio-db'
import baseSchema, { applyExtension } from '../../../src/schema'
import baseContext from '../../helpers/context'
const schema = applyExtension(extension, baseSchema)
const context = extension.extendContext(baseContext)
function testData (t, query, handler) {
return graphql(schema, query, null, context).then(result => {
if (result.errors !== undefined) {
console.log(result.errors)
}
t.is(result.errors, undefined)
return handler(t, result.data)
})
}
test('artists have a theAudioDB field', testData, `
{
lookup {
artist(mbid: "5b11f4ce-a62d-471e-81fc-a69a8278c7da") {
theAudioDB {
artistID
biography
biographyJP: biography(lang: "jp")
memberCount
banner
bannerPreview: banner(size: PREVIEW)
fanArt
fanArtPreview: fanArt(size: PREVIEW)
logo
logoPreview: logo(size: PREVIEW)
thumbnail
thumbnailPreview: thumbnail(size: PREVIEW)
genre
mood
style
}
}
}
}
`, (t, data) => {
t.snapshot(data)
})
test('release groups have a theAudioDB field', testData, `
{
lookup {
releaseGroup(mbid: "aa997ea0-2936-40bd-884d-3af8a0e064dc") {
theAudioDB {
albumID
artistID
description
descriptionES: description(lang: "es")
review
salesCount
score
scoreVotes
discImage
discImagePreview: discImage(size: PREVIEW)
spineImage
spineImagePreview: spineImage(size: PREVIEW)
frontImage
frontImagePreview: frontImage(size: PREVIEW)
backImage
backImagePreview: backImage(size: PREVIEW)
genre
mood
style
speed
theme
}
}
}
}
`, (t, data) => {
t.snapshot(data)
})
test('recordings have a theAudioDB field', testData, `
{
lookup {
recording(mbid: "1109d8da-ce4a-4739-9414-242dc3e9b81c") {
theAudioDB {
trackID
albumID
artistID
description
descriptionES: description(lang: "es")
thumbnail
thumbnailPreview: thumbnail(size: PREVIEW)
score
scoreVotes
trackNumber
musicVideo {
url
companyName
directorName
screenshots
screenshotsPreview: screenshots(size: PREVIEW)
viewCount
likeCount
dislikeCount
commentCount
}
genre
mood
style
theme
}
}
}
}
`, (t, data) => {
t.snapshot(data)
})