Commit 62681c31 authored by Laura_Ribeiro's avatar Laura_Ribeiro
Browse files

Merge branch 'feature/cadastro-validacao' of...

Merge branch 'feature/cadastro-validacao' of https://tools.ages.pucrs.br/idoso-mais/idoso-mais-backend into feature/cadastro-validacao
parents 4790a929 0ad0d166
Pipeline #4519 failed with stages
Showing with 23 additions and 8 deletions
+23 -8
import { NotFoundException } from '@nestjs/common';
import { BadRequestException, NotFoundException } from '@nestjs/common';
import { getModelToken } from '@nestjs/mongoose';
import { Test, TestingModule } from '@nestjs/testing';
import { Address } from '../../database/schemas/address.schema';
......@@ -29,11 +29,13 @@ const userDataMock: UserEntity = {
const findByIdMock = jest.fn();
const createMock = jest.fn();
const findOneMock = jest.fn();
const userModelMock = {
find: () => ({ exec: () => [userDataMock] }),
findById: findByIdMock,
create: createMock,
findOne: findOneMock
};
describe('UserController', () => {
......@@ -98,5 +100,24 @@ describe('UserController', () => {
expect(createMock).toHaveBeenCalledWith(createModel);
});
it('quando alguma informação já existir não deve criar usuário"', async () => {
const dto: UserCreateDto = {
cep: userDataMock.endereco.cep,
contatoEmergencia: userDataMock.contatoEmergencia,
cpf: userDataMock.cpf,
email: userDataMock.email,
password: userDataMock.password,
nome: userDataMock.nome,
telefone: userDataMock.telefone,
numeroINSS: userDataMock.numeroINSS,
};
findOneMock.mockReturnValue(userDataMock)
expect(userController.create(dto)).rejects.toThrowError(
BadRequestException,
);
});
});
});
......@@ -36,13 +36,7 @@ export class UserService {
}
async findByEmailOrCpfOrTelefone(dto: UserCreateDto): Promise<UserDocument> {
try {
const user = await this.userModel.findOne({ $or: [{ email: dto.email }, { cpf: dto.cpf }, { telefone: dto.telefone }] });
return user;
} catch (error) {
this.logger.error(error);
return null;
}
return await this.userModel.findOne({ $or: [{ email: dto.email }, { cpf: dto.cpf }, { telefone: dto.telefone }] });
}
async findByEmailAndPassword(
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment