public async Task <ActionResult <string> > Post([FromBody] JogoCreate model) { var result = await _jogoService.CreateJogoAsync(model); if (!result.Succeeded) { return(NotFound(result.Message)); } return(StatusCode(201)); }
public async Task <QueryResult <string> > CreateJogoAsync(JogoCreate model) { try { var tipoJogo = await _jogoRepository.GetTipoJogoAsync(model.TipoJogoId); if (tipoJogo != null) { var jogo = await _jogoRepository.ValidateGameAsync(model.Nome, model.TipoJogoId); if (jogo == null) { var jogoDb = new Jogo { Nome = model.Nome, TipoJogoId = model.TipoJogoId }; await _jogoRepository.InsertJogoAsync(jogoDb); return(new QueryResult <string> { Succeeded = true }); } else { return(new QueryResult <string> { Succeeded = false, Message = "Jogo já cadastrado!" }); } } else { return(new QueryResult <string> { Succeeded = false, Message = "Tipo do Jogo não esta cadastrado!" }); } } catch (Exception) { return(new QueryResult <string> { Succeeded = false, Message = "Erro, tente novamente!" }); } }
public async Task Jogo_Post_ReturnsCreatedResponse(string Nome, int TipoJogoId) { var jogo = new JogoCreate { Nome = Nome, TipoJogoId = TipoJogoId }; var jsonJogo = JsonConvert.SerializeObject(jogo); HttpContent httpContent = new StringContent(jsonJogo, Encoding.UTF8, "application/json"); var response = await _testContext.Client.PostAsync("api/jogo", httpContent); response.EnsureSuccessStatusCode(); response.StatusCode.Should().Be(HttpStatusCode.Created); }
public async Task Jogo_Post_ReturnsNotFoundResponse(string Nome, int TipoJogoId) { var jogo = new JogoCreate { Nome = Nome, TipoJogoId = TipoJogoId }; var jsonJogo = JsonConvert.SerializeObject(jogo); HttpContent httpContent = new StringContent(jsonJogo, Encoding.UTF8, "application/json"); var response = await _testContext.Client.PostAsync("api/jogo", httpContent); response.StatusCode.Should().Be(HttpStatusCode.NotFound); var result = await response.Content.ReadAsStringAsync(); Assert.Equal("Tipo do Jogo não esta cadastrado!", result); }