void PostPatrimonioDeveRetornarOStatusCreatedAt() { var patrimonio = new PatrimonioParaAdicionarDto("Patrimonio Criado", 0, "teste"); var atual = _controller.PostPatrimonio(patrimonio); Assert.IsType <CreatedResult>(atual); }
void PostPatrimonioDeveCriarOPatrimonioMesa() { var patrimonio = new PatrimonioParaAdicionarDto("Mesa", 0, "longa"); var esperado = Mapper.Map <Patrimonio>(patrimonio); var createdAtRoute = (CreatedResult)_controller.PostPatrimonio(patrimonio); var novoPatrimonio = (PatrimonioDto)createdAtRoute.Value; var atual = Mapper.Map <Patrimonio>(novoPatrimonio); Assert.Equal(esperado, atual); }
public ActionResult PostPatrimonio([FromBody] PatrimonioParaAdicionarDto patrimonioNovo) { if (patrimonioNovo == null) { var erro = new { Mesagem = "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(patrimonioNovo.MarcaId)) { var erro = new { Mesagem = "Marca informada nao encontrada. O Patrimonio deve conter uma marca existente.", StatusCode = 400 }; return(BadRequest(erro)); } var patrimonio = Mapper.Map <Patrimonio>(patrimonioNovo); _repository.AdicionaPatrimonio(patrimonio); if (!_repository.Salvar()) { var erro = new { Mesagem = "ocorreu um erro ao salvar as alteracoes no banco", StatusCode = 500 }; return(StatusCode(500, erro)); } var patrimonioCriado = Mapper.Map <PatrimonioDto>(patrimonio); if (Request != null) { var uri = ((Request.IsHttps) ? "https://" : "http://") + Request.Host.ToUriComponent() + Request.Path.ToUriComponent() + patrimonioCriado.TomboId; return(Created(uri, patrimonioCriado)); } return(Created("ambiente de teste", patrimonioCriado)); }