From a72a0365d19eb59b5094d56ecf67ef4bcc4945b6 Mon Sep 17 00:00:00 2001 From: Brian Beck Date: Wed, 7 Dec 2016 06:16:30 -0800 Subject: [PATCH] Add more schema tests --- .../fixtures/05fcd912e8786fff4dca854a7fa44c81 | Bin 0 -> 6335 bytes .../05fcd912e8786fff4dca854a7fa44c81.headers | 29 +++++++++++ .../fixtures/e35ea8d15589d88c826a9dcf6e309f1d | Bin 0 -> 394 bytes .../e35ea8d15589d88c826a9dcf6e309f1d.headers | 29 +++++++++++ test/schema.js | 49 ++++++++++++++++++ 5 files changed, 107 insertions(+) create mode 100644 test/fixtures/05fcd912e8786fff4dca854a7fa44c81 create mode 100644 test/fixtures/05fcd912e8786fff4dca854a7fa44c81.headers create mode 100644 test/fixtures/e35ea8d15589d88c826a9dcf6e309f1d create mode 100644 test/fixtures/e35ea8d15589d88c826a9dcf6e309f1d.headers diff --git a/test/fixtures/05fcd912e8786fff4dca854a7fa44c81 b/test/fixtures/05fcd912e8786fff4dca854a7fa44c81 new file mode 100644 index 0000000000000000000000000000000000000000..ba5384a973fe437a009bbe7911d9312fc3050f79 GIT binary patch literal 6335 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 BR2KjM literal 0 HcmV?d00001 diff --git a/test/fixtures/05fcd912e8786fff4dca854a7fa44c81.headers b/test/fixtures/05fcd912e8786fff4dca854a7fa44c81.headers new file mode 100644 index 0000000..98a67dc --- /dev/null +++ b/test/fixtures/05fcd912e8786fff4dca854a7fa44c81.headers @@ -0,0 +1,29 @@ +{ + "statusCode": 200, + "headers": { + "date": "Wed, 07 Dec 2016 14:11:09 GMT", + "content-type": "application/json; charset=UTF-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "keep-alive": "timeout=15", + "vary": "Accept-Encoding", + "x-ratelimit-limit": "700", + "x-ratelimit-remaining": "623", + "x-ratelimit-reset": "1481119871", + "last-modified": "Wed, 09 Nov 2016 23:43:24 GMT", + "server": "Jetty(9.3.10.v20160621)", + "access-control-allow-origin": "*", + "content-encoding": "gzip" + }, + "url": "http://musicbrainz.org:80/ws/2/recording?query=Burn%20the%20Witch&fmt=json", + "time": 435, + "request": { + "method": "GET", + "headers": { + "User-Agent": "graphbrainz/3.1.0 ( https://github.com/exogen/graphbrainz )", + "host": "musicbrainz.org", + "accept-encoding": "gzip, deflate", + "accept": "application/json" + } + } +} \ No newline at end of file diff --git a/test/fixtures/e35ea8d15589d88c826a9dcf6e309f1d b/test/fixtures/e35ea8d15589d88c826a9dcf6e309f1d new file mode 100644 index 0000000000000000000000000000000000000000..e3b3bb7066fc25729958d317a8b04902e790f657 GIT binary patch literal 394 zcmV;50d@W#iwFP!000001Fe%gZyPZXg#Qa`EwFr(>H@e-7sE}EVo5Fq0+LR+M+9C33YYCgUAAb_%pI6%rDGteUkhTI!nn;N0fz+31nF-)Z&6 zOQ|@oY6X{r2V;_j;Lw3h-f1OmPVDdSc31~8++zEC34i8&1uG79FjhfeM$pv-pjtDi z!jU8w#uUYGMSW}gO$Yr2{Lr4Cj~C)k&G?yj@^u+|oYm`fBGv)3IN(A&5;Q#LQRsq+*Pn2mt-zoo}*Z=lrbquAhrPScKHyEK7G+;uG5F{p$ oi7+8L_Q{A-_j~uSVW@TDS*-EnK^~T#e{D`b0j&H!qzeQ90OY^EssI20 literal 0 HcmV?d00001 diff --git a/test/fixtures/e35ea8d15589d88c826a9dcf6e309f1d.headers b/test/fixtures/e35ea8d15589d88c826a9dcf6e309f1d.headers new file mode 100644 index 0000000..1116320 --- /dev/null +++ b/test/fixtures/e35ea8d15589d88c826a9dcf6e309f1d.headers @@ -0,0 +1,29 @@ +{ + "statusCode": 200, + "headers": { + "date": "Wed, 07 Dec 2016 14:15:04 GMT", + "content-type": "application/json; charset=utf-8", + "transfer-encoding": "chunked", + "connection": "keep-alive", + "keep-alive": "timeout=15", + "vary": "Accept-Encoding", + "x-ratelimit-limit": "700", + "x-ratelimit-remaining": "559", + "x-ratelimit-reset": "1481120105", + "server": "Plack::Handler::Starlet", + "etag": "W/\"0f2ce1fbd4358ed2ee61c9e461538573\"", + "access-control-allow-origin": "*", + "content-encoding": "gzip" + }, + "url": "http://musicbrainz.org:80/ws/2/release-group?artist=c8da2e40-bd28-4d4e-813a-bd2f51958ba8&fmt=json", + "time": 390, + "request": { + "method": "GET", + "headers": { + "User-Agent": "graphbrainz/3.1.0 ( https://github.com/exogen/graphbrainz )", + "host": "musicbrainz.org", + "accept-encoding": "gzip, deflate", + "accept": "application/json" + } + } +} \ No newline at end of file diff --git a/test/schema.js b/test/schema.js index 9534438..2b04408 100644 --- a/test/schema.js +++ b/test/schema.js @@ -40,3 +40,52 @@ test('schema has a lookup query', t => { }) }) }) + +test('schema has a search query', t => { + const query = ` + { + search { + recordings (query: "Burn the Witch") { + totalCount + edges { + score + node { + mbid + title + } + } + } + } + } + ` + return graphql(schema, query, null, t.context).then(result => { + const { recordings } = result.data.search + t.true(recordings.totalCount > 0) + t.true(recordings.edges.length === 25) + recordings.edges.forEach(edge => t.true(edge.score > 0)) + }) +}) + +test('schema has a browse query', t => { + const query = ` + { + browse { + releaseGroups (artist: "c8da2e40-bd28-4d4e-813a-bd2f51958ba8") { + totalCount + edges { + node { + mbid + title + } + } + } + } + } + ` + return graphql(schema, query, null, t.context).then(result => { + const { releaseGroups } = result.data.browse + t.true(releaseGroups.totalCount > 0) + t.true(releaseGroups.edges.length > 0) + releaseGroups.edges.forEach(edge => t.truthy(edge.node.title )) + }) +})