void PutPatrimonioDeveRetornarOStatusNotFound() { var patrimonio = new PatrimonioParaAtualizarDto("computador", 1, "notebook"); var atual = _controller.PutPatrimonio(100, patrimonio); Assert.IsType <NotFoundResult>(atual); }
void PutPatrimonioDeveAtualziarOPatrimonioMouse() { var esperado = new PatrimonioParaAtualizarDto("mouse", 1, "com fio"); _controller.PutPatrimonio(2, esperado); var okObjectResult = (OkObjectResult)_controller.GetPatrimonio(2); var atual = (PatrimonioDto)okObjectResult.Value; Assert.Equal(esperado.Descricao, atual.Descricao); }
public IActionResult PutPatrimonio([FromRoute] int tomboId, [FromBody] PatrimonioParaAtualizarDto patrimonioAtualizado) { if (patrimonioAtualizado == null) { var erro = new { Mensagem = "E necessario informar um patrimonio", StatusCode = 400 }; return(BadRequest(erro)); } if (!ModelState.IsValid) { var erro = new { Mesagem = ModelState.Values, StatusCode = 400 }; return(BadRequest(erro)); } if (!_repository.MarcaExiste(patrimonioAtualizado.MarcaId)) { var erro = new { Mensagem = "Marca informada nao encontrada.O Patrimonio deve conter uma marca existente.", StatusCode = 400 }; return(BadRequest(erro)); } var patrimonio = _repository.GetPatrimonio(tomboId); if (patrimonio == null) { return(NotFound()); } Mapper.Map(patrimonioAtualizado, patrimonio); if (!_repository.Salvar()) { var erro = new { Mesagem = "Ocorreu um erro ao salvar as alteracoes no banco", StatusCode = 500 }; return(StatusCode(500, erro)); } return(NoContent()); }