Я пытался создать тест на методе моего контроллера, и когда я пытался вызвать исключение клиента, которое я создал для использования, когда приложение не находит пользователя, я получил эту ошибку: AssertionError [ERR_ASSERTION] : Кажется, что локальное хранилище не было инициализировано или находится в контексте, пожалуйста, убедитесь, что вы используете промежуточное ПО для локального хранилища.
Редактировать: Я пытался смоделировать локальное хранилище, но я получил ту же ошибку.
Тест:
import { cpfValidator } from '../src/v1/helpers/validators';
import { ResourceNotFoundException } from "../src/v1/exception/error-exception";
describe('Testar as rotas', () => {
it('Informar todos os produtios relacionados a um usuário', async () => {
const resposta = cpfValidator('CPF38751468831', '')
expect(resposta).toThrow(TypeError);
}, 120000);
});
Валидатор cpf
export async function cpfValidator(userId: string, xTokenInfo?: string): Promise<string> {
if (userId !== 'me' && new RegExp(/^CPF[0-9]{11}$/).test(userId) && cpf.isValid(userId))
return userId.substr(3);
else if (userId === 'me' && new RegExp(/^sub:CPF[0-9]{11}$/).test(xTokenInfo) && cpf.isValid(xTokenInfo.substr(4)))
return xTokenInfo.substr(7);
else {
const logger = new Logger();
logger.error('Erro ao validar documento. Número de CPF Inválido.', { "user-id": userId });
throw new ResourceNotFoundException();
}
}
Класс ошибки:
export class ResourceNotFoundException extends GenericException {
constructor() {
// consider ERRORS as a constant
super(ERRORS[404].CODE, ERRORS[404].MESSAGE, ERRORS[404].HTTP_CODE);
}
}
Класс расширенный
import { HttpException } from '@nestjs/common';
export declare class GenericException extends HttpException {
constructor(code?: string, message?: string, statusCode?: number);
}
PS: Это был мой первый вопрос, и я новичок в Jest, извините за мои ошибки.