ERROR [ExceptionsHandler] Invalid role NestJs Jest Tests

417 Views Asked by At

I have introduced an nest HTTP exception filter in the project and included it globally in main.ts

  const { httpAdapter } = app.get(HttpAdapterHost);
  app.useGlobalFilters(new HttpExceptionFilter(httpAdapter));

NestJS Jest tests are failing with below error.

[Nest] 13076  - 09/03/2022, 2:16:50 PM   ERROR [ExceptionsHandler] Invalid role(s): []
AccessControlError: Invalid role(s): []
    at new AccessControlError (/Users/shubhamjain/SJ/Projects/amplication/packages/amplication-data-service-generator/generated/server/node_modules/accesscontrol/lib/core/AccessControlError.js:24:28)
    at Object.getFlatRoles (/Users/shubhamjain/SJ/Projects/amplication/packages/amplication-data-service-generator/generated/server/node_modules/accesscontrol/lib/utils.js:550:19)
    at Object.getUnionAttrsOfRoles (/Users/shubhamjain/SJ/Projects/amplication/packages/amplication-data-service-generator/generated/server/node_modules/accesscontrol/lib/utils.js:739:27)
    at new Permission (/Users/shubhamjain/SJ/Projects/amplication/packages/amplication-data-service-generator/generated/server/node_modules/accesscontrol/lib/core/Permission.js:51:43)
    at RolesBuilder.Object.<anonymous>.AccessControl.permission (/Users/shubhamjain/SJ/Projects/amplication/packages/amplication-data-service-generator/generated/server/node_modules/accesscontrol/lib/AccessControl.js:481:16)
    at AclFilterResponseInterceptor.intercept (/Users/shubhamjain/SJ/Projects/amplication/packages/amplication-data-service-generator/generated/server/src/interceptors/aclFilterResponse.interceptor.ts:25:42)
    at /Users/shubhamjain/SJ/Projects/amplication/packages/amplication-data-service-generator/generated/server/node_modules/@nestjs/core/interceptors/interceptors-consumer.js:23:36
    at InterceptorsConsumer.intercept (/Users/shubhamjain/SJ/Projects/amplication/packages/amplication-data-service-generator/generated/server/node_modules/@nestjs/core/interceptors/interceptors-consumer.js:25:24)
    at /Users/shubhamjain/SJ/Projects/amplication/packages/amplication-data-service-generator/generated/server/node_modules/@nestjs/core/router/router-execution-context.js:46:60
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

Edit1

Every Controller's endpoint has something related to using roles.

@common.UseInterceptors(AclValidateRequestInterceptor)
  @nestAccessControl.UseRoles({
    resource: "Customer",
    action: "create",
    possession: "any",
  })
  @common.Post()
  @swagger.ApiCreatedResponse({ type: Customer })
  @swagger.ApiForbiddenResponse({ type: errors.ForbiddenException })
  async create(@common.Body() data: CustomerCreateInput): Promise<Customer> {

Any pointers to debug this problem would be appreciated.

0

There are 0 best solutions below