All files / api/common/exception http-exception.factory.ts

100% Statements 10/10
100% Branches 16/16
100% Functions 1/1
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 361x               1x                 1x       10x   2x   2x   2x   2x     2x      
import {
  BadRequestException,
  ForbiddenException,
  HttpException,
  InternalServerErrorException,
  NotFoundException,
  UnauthorizedException,
} from '@nestjs/common';
import { ExceptionMessage } from './exception-message';
 
export type Status =
  | 'BadRequest'
  | 'UnAuthorized'
  | 'Forbidden'
  | 'NotFound'
  | 'ISE';
 
export const HttpExceptionFactory = (
  status: Status,
  message?: string,
): HttpException => {
  switch (status) {
    case 'BadRequest':
      return new BadRequestException(message ?? ExceptionMessage.BR);
    case 'UnAuthorized':
      return new UnauthorizedException(message ?? ExceptionMessage.UAE);
    case 'Forbidden':
      return new ForbiddenException(message ?? ExceptionMessage.FBD);
    case 'NotFound':
      return new NotFoundException(message ?? ExceptionMessage.NF);
    case 'ISE':
    default:
      return new InternalServerErrorException(message ?? ExceptionMessage.ISE);
  }
};