4
私はGraphQL APIをテストしていますが、少し掃除したいと思います。ネットワークリクエストにchai-http
を使用しています。ここで私は現在、(働く)やってんだよ:GraphQL APIのテスト
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: \"[email protected]\", \
}) { \
id, \
firstName \
} \
}'
})
.end((err, res) => {
if (err) { reject(err) }
let data = res.body.data;
let user = data.user;
resolve(user);
})
});
});
しかし、私は少しそれをクリーンアップし、このような何かをしたいと思います:
let createUser = (() => {
let newUser = {
firstName: 'Test',
lastName: 'User',
email: '[email protected]'
};
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);
})
});
});
しかし、このスタイルは、置くことのありませんオブジェクトの入力が機能せず、不正な要求エラーが返されます。
任意のアイデアをなぜこれが動作しません。ここで読み込む返されるエラーオブジェクトのどの部分ですか?前もって感謝します!
おかげで、それを試してみましょう! @vince – Thomas
ちょっと@vince、とにかく私は戻ってほしい返答をきれいにするには?私がid、firstName、lastName、facebookUID、emailなどを望んでいたとしましょう。作成後に返されましたか?どう思いますか? – Thomas
その場合、常にもっと多くのフィールドを返すことができます。今、クエリは 'id'と' firstName'を返していますが、そのリストに続けて 'lastName'、' facebookUID'、 'email'などを含めることもできます – vince