graphql supertest,错误消息:'Cannot return null for non-nullable field Mutation
graphql supertest , error message: 'Cannot return null for non-nullable field Mutation
为用户创建和更新考虑这个简单的解析器:
@Resolver(() => User)
export class UserResolver {
constructor(private userService: UserService) {}
@Mutation(() => User)
async CreateUser(@Args('payload') payload: CreateUserInput) {
return this.userService.createUser(payload);
}
@Mutation(() => User)
async UpdateUser(@Args('payload') payload: UpdateUserInput) {
return this.userService.updateUser(payload);
}
当我使用 grapqhl playground 创建和更新时,效果很好:
在 运行 测试中,相同的查询可以创建(如图所示)但更新突变有错误,这在两个查询中是相同的:
export const UpdateUserMutation = `
mutation UpdateUser( $id:String!, $email:String ) {
UpdateUser(payload: { _id: $id, email: $email }) {
_id
phone
email
}
}
`;
我是不是漏了什么?
在我的测试中,我使用 beforeEach
和 afterEach
来重置数据库和服务器。
通过使用 beforeAll
和 afterAll
保留创建的用户,以便成功更新用户。
为用户创建和更新考虑这个简单的解析器:
@Resolver(() => User)
export class UserResolver {
constructor(private userService: UserService) {}
@Mutation(() => User)
async CreateUser(@Args('payload') payload: CreateUserInput) {
return this.userService.createUser(payload);
}
@Mutation(() => User)
async UpdateUser(@Args('payload') payload: UpdateUserInput) {
return this.userService.updateUser(payload);
}
当我使用 grapqhl playground 创建和更新时,效果很好:
export const UpdateUserMutation = `
mutation UpdateUser( $id:String!, $email:String ) {
UpdateUser(payload: { _id: $id, email: $email }) {
_id
phone
email
}
}
`;
我是不是漏了什么?
在我的测试中,我使用 beforeEach
和 afterEach
来重置数据库和服务器。
通过使用 beforeAll
和 afterAll
保留创建的用户,以便成功更新用户。