【发布时间】:2019-07-22 12:18:47
【问题描述】:
Apollo Server Integration testing documentation 展示了如何使用createTestClient 测试简单查询:
const { query } = createTestClient(server);
const res = await query({ query: GET_LAUNCH, variables: { id: 1 } });
为了测试需要授权令牌的查询,我尝试将jwtToken 作为额外字段传递给传递给查询的对象,如下所示:
const res = await query({
query: MY_QUERY,
http: { headers: { authorization: `Bearer ${jwtToken}` } },
});
不幸的是,这不起作用。尝试运行它时,我得到以下响应:
{
"http": {
"headers": {}
},
"errors": [{
"message": "must authenticate",
"locations": [{
"line": 2,
"column": 3
}],
"path": ["myQuery"],
"extensions": {
"code": "UNAUTHENTICATED"
}
}],
"data": {
"myQuery": null
}
}
知道如何正确测试需要授权令牌的查询吗?
使用:
"devDependencies": {
"jest": "^23.6.0",
"apollo-server-testing": "^2.4.8"
}
【问题讨论】:
标签: typescript graphql jestjs apollo-server