這是resolverNestJs中的一個示例,我將為此文件編寫測試。但是nestjs文檔中沒有用于測試解析器的文檔。我已經為自己準備了一個測試service,但是解析器內部可能也沒有什么邏輯,因此最好也為他們進行測試。如何測試resolver文件?import { ObjectId } from 'mongodb';import { AuthGuard } from '../utils/Auth.guards';import { UseGuards } from '@nestjs/common';import { IUser } from '../users/users.service';import { User } from '../utils/user.decorator';import { Query, Resolver, Mutation, Args } from '@nestjs/graphql';import { AccessService } from './access.service';import { NeedAccess } from '../utils/needAccess.decorator';import { HasAccess } from '../utils/access.decorator';@Resolver('Accesss')@UseGuards(AuthGuard)export class AccessResolvers { constructor(private readonly accessService: AccessService) {} @Query() @NeedAccess() access( @Args('userId') userId: ObjectId, @User() user: IUser, @HasAccess(['access.view']) hasAccess, ) { if (userId && hasAccess) { // this might be a situation to concern about in tests return this.accessService.getUserAccess(userId); } else { return this.accessService.getUserAccess(user._id); } }}
NestJS中的測試解析器
千萬里不及你
2021-04-09 14:15:38