0
respostas

Teste Unitário VS Teste de integração.

it('A senha do usuário precisa ser criptografada quando for salva no banco de dados', async () => {
    const data = {
      nome: 'John Doe',
      email: 'johndoe@example.com',
      senha: 'senha123',
    };

    const resultado = await authService.cadastrarUsuario(data);
    const senhaIguais = await bcryptjs.compare('senha123', resultado.content.senha);

    expect(senhaIguais).toStrictEqual(true);

    await Usuario.excluir(resultado.content.id);
  });
async cadastrarUsuario(data) {
    try {
      if(!data.senha) {
        throw new Error('A senha de usuário é obrigatório!');
      }
  
      data.senha = await bcryptjs.hash(data.senha, 8);
      
      const usuario = new Usuario(data);
      const resposta = await usuario.salvar(usuario);
      return { message: 'usuario criado', content: resposta };
    } catch (err) {
      throw new Error(err.message);
    }
  }

1)O teste feito é unitário ou de integração e pq?
2)Se é de integração tbm precisariamos fazer um teste unitário? Se sim pq?
3)Se precisaria fazer um teste unitário, é preciso saber da implementação do método "cadastrar", saber que tem o método "salvar" dentro dele? Se não souber disso não tem como fazer o teste unitário pois não tem como adivinhar q o método "salvar" está dentro?