コード例 #1
0
        public override void Given()
        {
            // Arrange

            model = new LivroEdicaoModel
            {
                IdLivro        = 1,
                Autor          = "Novo",
                DataPublicacao = DateTime.Now,
                ImagemCapaUrl  = "imageurl/imagenamenovo.png",
                ISBN           = 99999,
                Nome           = "Novo",
                Preco          = 99
            };

            loginModel = new UsuarioLoginModel
            {
                Login = "******",
                Senha = "12345"
            };

            usuarioAppService.Setup(x => x.FindByLoginAndSenha(It.IsAny <UsuarioLoginModel>()))
            .Returns(new Domain.Entities.Usuario
            {
                IdUsuario = 1,
                Nome      = "Usuario teste",
                Senha     = "senhacriptografada",
                Login     = "******"
            });
        }
コード例 #2
0
        public IActionResult Edicao(LivroEdicaoModel model)
        {
            if (ModelState.IsValid)
            {
                var token = HttpContext.Session.GetString("token");

                if (string.IsNullOrEmpty(token))
                {
                    ViewBag.Message = "Usuario não logado, ou token expirado. Por favor, faça o login novamente.";
                    return(View());
                }

                var jsonContent = JsonSerializer.Serialize(model);
                var postContent = new StringContent(jsonContent, Encoding.UTF8, "application/json");


                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", token);

                    var post    = client.PutAsync("https://localhost:44376/api/livro", postContent).GetAwaiter().GetResult();
                    var retorno = post.Content.ReadAsStringAsync().GetAwaiter().GetResult();

                    if (!string.IsNullOrEmpty(retorno))
                    {
                        ViewBag.Message = retorno;
                    }
                }
            }

            ModelState.Clear();

            return(View());
        }
コード例 #3
0
ファイル: LivroTest.cs プロジェクト: flsdrj/livraria
        public async Task Livro_Delete_ReturnsOk()
        {
            var modelCadastro = new LivroEdicaoModel()
            {
                Nome           = "A vida de Francisco",
                Isbn           = 9780980444447,
                Autor          = "Francisco Luiz",
                Preco          = 120.00,
                DataPublicacao = new DateTime(1979, 01, 01),
                ImagemCapa     = "https://images-na.ssl-images-amazon.com/images/I/41UdKOYfPJL._SR600,315_SCLZZZZZZZ_.jpg"
            };

            var requestCadastro = new StringContent(JsonConvert.SerializeObject(modelCadastro),
                                                    Encoding.UTF8, "application/json");
            var responseCadastro = await appContext.Client.PostAsync(endpoint, requestCadastro);

            var resultCadastro = string.Empty;

            using (HttpContent content = responseCadastro.Content)
            {
                Task <string> r = content.ReadAsStringAsync();
                resultCadastro += r.Result;
            }

            var respostaCadastro = JsonConvert.DeserializeObject <ResultModel>(resultCadastro);

            //verificação de teste
            responseCadastro.StatusCode.Should().Be(HttpStatusCode.OK);
            respostaCadastro.Mensagem.Should().Be("Livro cadastrado com sucesso.");


            //--------------excluindo o cliente cadastrado na API
            var responseExclusao = await appContext.Client.DeleteAsync
                                       (endpoint + "/" + respostaCadastro.Livro.IdLivro);

            var resultExclusao = string.Empty;

            using (HttpContent content = responseExclusao.Content)
            {
                Task <string> r = content.ReadAsStringAsync();
                resultExclusao += r.Result;
            }

            var respostaExclusao = JsonConvert.DeserializeObject <ResultModel>(resultExclusao);

            //verificação de teste
            responseExclusao.StatusCode.Should().Be(HttpStatusCode.OK);
            respostaExclusao.Mensagem.Should().Be("Livro excluido com sucesso!");
        }
コード例 #4
0
        public IActionResult Put([FromBody] LivroEdicaoModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    appService.Update(model);

                    return(Ok(LivroResource.LivroAtualizadoSucesso));
                }
                catch (Exception ex)
                {
                    return(StatusCode(500, ex.Message));
                }
            }
            else
            {
                return(BadRequest());
            }
        }
コード例 #5
0
ファイル: LivroTest.cs プロジェクト: flsdrj/livraria
        public async Task Livro_Put_ReturnsBadRequest()
        {
            var model = new LivroEdicaoModel()
            {
                Nome           = string.Empty,
                Isbn           = 0,
                Autor          = string.Empty,
                Preco          = 0,
                DataPublicacao = new DateTime(0001, 01, 01),
                ImagemCapa     = string.Empty
            };

            var request = new StringContent(JsonConvert.SerializeObject(model),
                                            Encoding.UTF8, "applicataion/json");

            var response = await appContext.Client.PutAsync(endpoint, request);

            //criterio de teste (Serviço da API retornar HTTP BADREQUEST (400))
            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
        }
コード例 #6
0
ファイル: LivroController.cs プロジェクト: flsdrj/livraria
        public IActionResult Put(LivroEdicaoModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            try
            {
                var livro = livroRepository.ObterPorId(model.IdLivro);

                if (livro == null)
                {
                    return(BadRequest("Livro não encontrado"));
                }

                livro.Nome           = model.Nome;
                livro.Autor          = model.Autor;
                livro.Isbn           = model.Isbn;
                livro.DataPublicacao = model.DataPublicacao;
                livro.Preco          = model.Preco;
                livro.ImagemCapa     = model.ImagemCapa;


                livroRepository.Alterar(livro);

                var result = new
                {
                    mensagem = "Livro atualizado com sucesso!",
                    livro
                };

                return(Ok(result));
            }
            catch (Exception e)
            {
                return(StatusCode(500, "Erro" + e.Message));
            }
        }
コード例 #7
0
        public void Update(LivroEdicaoModel model)
        {
            var livro = mapper.Map <Livro>(model);

            domain.Update(livro);
        }
コード例 #8
0
ファイル: LivroTest.cs プロジェクト: flsdrj/livraria
        public async Task Livro_Put_ReturnsOk()
        {
            var modelCadastro = new LivroEdicaoModel()
            {
                Nome           = "A vida de Francisco",
                Isbn           = 9780980200447,
                Autor          = "Francisco Luiz",
                Preco          = 120.00,
                DataPublicacao = new DateTime(1979, 01, 01),
                ImagemCapa     = "https://images-na.ssl-images-amazon.com/images/I/41UdKOYfPJL._SR600,315_SCLZZZZZZZ_.jpg"
            };

            var requestCadastro = new StringContent(JsonConvert.SerializeObject(modelCadastro),
                                                    Encoding.UTF8, "application/json");

            var responseCadastro = await appContext.Client.PostAsync(endpoint, requestCadastro);

            var resultCadastro = string.Empty;

            using (HttpContent content = responseCadastro.Content)
            {
                Task <string> r = content.ReadAsStringAsync();
                resultCadastro += r.Result;
            }

            var respostaCadastro = JsonConvert.DeserializeObject <ResultModel>(resultCadastro);

            //verificação de teste
            responseCadastro.StatusCode.Should().Be(HttpStatusCode.OK);
            respostaCadastro.Mensagem.Should().Be("Livro cadastrado com sucesso.");


            //--------------atualizando o livro cadastrado na API
            var modelEdicao = new LivroEdicaoModel()
            {
                IdLivro        = respostaCadastro.Livro.IdLivro,
                Nome           = "A vida de Francisco Luiz",
                Isbn           = 9780980543447,
                Autor          = "Francisco Luiz Bezerra",
                Preco          = 160.00,
                DataPublicacao = new DateTime(1990, 05, 10),
                ImagemCapa     = "https://images-submarino.b2w.io/produtos/imagens/122758274/122758282_1GG.jpg"
            };

            var requestEdicao = new StringContent(JsonConvert.SerializeObject(modelEdicao),
                                                  Encoding.UTF8, "application/json");
            var responseEdicao = await appContext.Client.PutAsync(endpoint, requestEdicao);

            var resultEdicao = string.Empty;

            using (HttpContent content = responseEdicao.Content)
            {
                Task <string> r = content.ReadAsStringAsync();
                resultEdicao += r.Result;
            }

            var respostaEdicao = JsonConvert.DeserializeObject <ResultModel>(resultEdicao);

            //verificação de teste
            responseEdicao.StatusCode.Should().Be(HttpStatusCode.OK);
            respostaEdicao.Mensagem.Should().Be("Livro atualizado com sucesso!");
        }