void PostMarcaDeveRetornarOStatusCreatedAt() { var marca = new MarcaParaAdicionarDto("Microsoft"); var atual = _controller.PostMarca(marca); Assert.IsType <CreatedResult>(atual); }
void PostMarcaDeveTestarSeONomeJaExisteERetornarOStautsBadRequest() { var marca = new MarcaParaAdicionarDto("AVELL"); var atual = _controller.PostMarca(marca); Assert.IsType <BadRequestObjectResult>(atual); }
void PostMarcaDeveAdicionarAMarcaVoss() { var marca = new MarcaParaAdicionarDto("Voss"); var createdAtObjectResult = _controller.PostMarca(marca); var okObjectResult = (OkObjectResult)_controller.GetMarcas(); var marcas = (IList <MarcaDto>)okObjectResult.Value; var atual = marcas.Any(m => m.Nome == marca.Nome); Assert.True(atual); }
public ActionResult PostMarca([FromBody] MarcaParaAdicionarDto marca) { if (marca == null) { var erro = new { Mesagem = "A marca nao pode ser nula", StatusCode = 400 }; return(BadRequest(erro)); } if (!ModelState.IsValid) { var erro = new { Mensagem = ModelState.Values, StatusCode = 400 }; return(BadRequest(erro)); } if (_repository.NomeJaExiste(marca.Nome)) { var erro = new { Mesagem = "Este nome de marca ja existe", StatusCode = 400 }; return(BadRequest(erro)); } var marcaEntity = Mapper.Map <Marca>(marca); _repository.AdicionaMarca(marcaEntity); if (!_repository.Salvar()) { var erro = new { Mesagem = "Ocorreu um problema ao tentar salvar as alteracoes no banco", StatusCode = 500 }; return(StatusCode(500, erro)); } var marcaCriada = Mapper.Map <MarcaDto>(marcaEntity); if (Request != null) { var uri = ((Request.IsHttps) ? "https://" : "http://") + Request.Host.ToUriComponent() + Request.Path.ToUriComponent() + "/" + marcaCriada.MarcaId; return(Created(uri, marcaCriada)); } return(Created("ambiente de teste", marcaCriada)); }