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 = "******" }); }
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()); }
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!"); }
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()); } }
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); }
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)); } }
public void Update(LivroEdicaoModel model) { var livro = mapper.Map <Livro>(model); domain.Update(livro); }
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!"); }