Esempio n. 1
0
        void PostMarcaDeveRetornarOStatusCreatedAt()
        {
            var marca = new MarcaParaAdicionarDto("Microsoft");

            var atual = _controller.PostMarca(marca);

            Assert.IsType <CreatedResult>(atual);
        }
Esempio n. 2
0
        void PostMarcaDeveTestarSeONomeJaExisteERetornarOStautsBadRequest()
        {
            var marca = new MarcaParaAdicionarDto("AVELL");

            var atual = _controller.PostMarca(marca);

            Assert.IsType <BadRequestObjectResult>(atual);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
        }