public ActionResult PostUsuarios([FromBody] UsuarioParaAdicionarDto usuario) { if (usuario == null) { var erro = new { Mensagem = "É necessario informar um usuario", StatusCode = 400 }; return(BadRequest(erro)); } if (!ModelState.IsValid) { var erro = new { Mensagem = ModelState.Values, StatusCode = 400 }; return(BadRequest(erro)); } if (_repository.EmailJaExiste(usuario.Email)) { var erro = new { Mensagem = "O email informado já está cadastrado", StatusCode = 400 }; return(BadRequest(erro)); } usuario.Senha = _repository.ToHash(usuario.Senha); var usuarioEntity = Mapper.Map <Usuario>(usuario); _repository.AdicionaUsuario(usuarioEntity); if (!_repository.Salvar()) { var erro = new { Mensagem = "Houve um erro ao tentar salvar mudancas no banco", StatusCode = 500 }; return(StatusCode(500, erro)); } var usuarioCriado = Mapper.Map <UsuarioDto>(usuarioEntity); if (Request != null) { var uri = ((Request.IsHttps) ? "https://" : "http://") + Request.Host.ToUriComponent() + Request.Path.ToUriComponent() + "/" + usuarioCriado.UsuarioId; return(Created(uri, usuarioCriado)); } return(Created("ambiente de teste", usuarioCriado)); }
public void PostUsuariosDeveChecarSeOEmailJaExisteERetornarOStatusBadRequest() { var usuarioInvalido = new UsuarioParaAdicionarDto() { Senha = "teste1", Nome = "teste1", Email = "*****@*****.**" }; var atual = _controller.PostUsuarios(usuarioInvalido); Assert.IsType <BadRequestObjectResult>(atual); }
public void PostUsuariosDeveChecarSeOUsuarioEValidoERetornarOStatusBadRequest() { var usuarioInvalido = new UsuarioParaAdicionarDto() { Email = null, Nome = null, Senha = null }; var atual = _controller.PostUsuarios(usuarioInvalido); Assert.IsType <BadRequestObjectResult>(atual); }