UNPKG

3.48 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const request = require("request");
4const request_1 = require("./request");
5class TestSession {
6 constructor(port) {
7 this.port = port;
8 this.jar = request.jar();
9 }
10 async query(query, error = '', result) {
11 const res = await this.request('post', '/api/graphql', { query });
12 const errorMsg = res.data.errors && res.data.errors[0];
13 /* istanbul ignore next */
14 if (error) {
15 if (!errorMsg)
16 throw new Error(`Should be error: "${error}", got nothing, query: ${query}`);
17 if (error !== errorMsg)
18 throw new Error(`Should be error: "${error}", got: ${JSON.stringify(errorMsg)}, query: ${query}`);
19 }
20 else {
21 /* istanbul ignore next */
22 if (errorMsg)
23 throw new Error(`Unexpected error: ${JSON.stringify(errorMsg)}, query: ${query}`);
24 }
25 /* istanbul ignore next */
26 if (result && JSON.stringify(result) !== JSON.stringify(res.data)) {
27 const got = JSON.stringify(res.data);
28 const expect = JSON.stringify(result);
29 throw new Error(`Result is not the same: \n${expect}\ngot:\n${got}\nquery: ${query}`);
30 }
31 return res.data.data;
32 }
33 request(method, url, json) {
34 return request_1.requestJSON(`http://localhost:${this.port}${url}`, { method, jar: this.jar, json });
35 }
36}
37exports.TestSession = TestSession;
38//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdFV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Rlc3RVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1DQUFvQztBQUNwQyx1Q0FBd0M7QUFFeEMsTUFBYSxXQUFXO0lBRXZCLFlBQW1CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBRHZCLFFBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDTSxDQUFDO0lBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUksS0FBYSxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsTUFBVztRQUNwRCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQTRCLE1BQU0sRUFBRSxjQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELDBCQUEwQjtRQUMxQixJQUFJLEtBQUssRUFBRTtZQUNWLElBQUksQ0FBQyxRQUFRO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLEtBQUssMEJBQTBCLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDNUYsSUFBSSxLQUFLLEtBQUssUUFBUTtnQkFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsS0FBSyxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUMsQ0FBQztTQUNuRzthQUFNO1lBQ04sMEJBQTBCO1lBQzFCLElBQUksUUFBUTtnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDaEc7UUFDRCwwQkFBMEI7UUFDMUIsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLE1BQU0sV0FBVyxHQUFHLFlBQVksS0FBSyxFQUFFLENBQUMsQ0FBQztTQUN0RjtRQUNELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUNELE9BQU8sQ0FBSSxNQUFjLEVBQUUsR0FBVyxFQUFFLElBQVM7UUFDaEQsT0FBTyxxQkFBVyxDQUFJLG9CQUFvQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0YsQ0FBQztDQUNEO0FBMUJELGtDQTBCQyJ9
\No newline at end of file