I'm testing my GraphQL API, but I would like to clean it up a little bit. It's worth noting I'm using chai-http
for the network requests. Here's what I'm currently doing (which works):
let createUser = (()=> {
return new Promise((resolve, reject) => {
chai.request(server)
.post('/api/graphql/')
.set('content-type', 'application/json')
.send({ 'query' :
'mutation users { \
user : addUser(inputs: { \
firstName: \"Test\", \
lastName: \"User\", \
email: \"test@test.com\", \
}) { \
id, \
firstName \
} \
}'
})
.end((err, res) => {
if (err) { reject(err) }
let data = res.body.data;
let user = data.user;
resolve(user);
})
});
});
However, I would like to clean it up a bit and do something like this:
let createUser = (() => {
let newUser = {
firstName: 'Test',
lastName: 'User',
email: 'test@test.com'
};
return new Promise((resolve, reject) => {
chai.request(server)
.post('/api/graphql/')
.set('content-type', 'application/json')
.send({ 'query' :
'mutation users { \
user : addUser(inputs: ' + JSON.stringify(newUser) + ') { \
id, \
firstName \
} \
}'
})
.end((err, res) => {
if (err) { reject(err) }
let data = res.body.data;
let user = data.user;
resolve(user);
})
});
});
However, this style does of placing the object inputs does not work and returns a bad request error. Here is what part of the returned error object reads:
Any ideas how I can accomplish this task? Thanks in advance!
via Thomas
No comments:
Post a Comment