如何解决如何在Apollo客户端中模拟联合类型
我想用模拟提供程序测试apollo客户端,它通过简单的查询和变异即可正常工作。但是对于寄存器突变,我的响应类型为
register(data: $data) {
... on Error {
error {
path
message
}
}
... on RegisterSuccess {
user {
email
_id
username
}
}
}
我已通过以下方式用apollo客户端模拟了此响应
const mocks = [
{
request: {
query: RegisterMutation,variables: {
data: {
email: 'test',username: 'test',password: 'test',},result: {
data: {
register: {
error: [
{
path: 'email',message: 'Email already in use',],];
但这无法正常工作并给出错误消息,
Warning: An unhandled error was caught from submitForm() Error: No more mocked responses for the query: mutation Register($data: RegisterInput!) {
register(data: $data) {
... on Error {
error {
path
message
}
}
... on RegisterSuccess {
user {
email
_id
username
}
}
}
},variables: {"data":{"email":"","username":"","password":""}}
解决方法
实际上,我这边有一个小错误。我无法通过
{
email: 'test',username: 'test',password: 'test',}
此对象作为变量中的数据,因为组件期望所有三个都为空字符串。所以通过这个
{
email: '',username: '',password: '',}
为我解决了这个问题。 请参阅此github issue了解更多详细信息和示例
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。