public async Task PostEstado_Created() { var options = Options; var estado = new Estado() { EstadoId = Guid.NewGuid(), Nome = "Rio Grande do Sul", Sigla = "RS", }; using (var context = new CompeticoesDbContext(options)) { var controller = new EstadosController(context); var result = await controller.PostEstado(estado); var createdResult = Assert.IsType <CreatedAtActionResult>(result); var estadoResult = Assert.IsType <Estado>(createdResult.Value); Assert.Equal(estado, estadoResult); Assert.Equal("GetEstado", createdResult.ActionName); Assert.Equal(estado.EstadoId, createdResult.RouteValues["id"]); } using (var context = new CompeticoesDbContext(options)) { var estadoResult = await context.Estados.FirstOrDefaultAsync(); var jsonResult = Newtonsoft.Json.JsonConvert.SerializeObject(estadoResult); var estadoJson = Newtonsoft.Json.JsonConvert.SerializeObject(estado); Assert.Equal(estadoJson, jsonResult); } }
public async Task PostEstado_BadRequest_ModelState_Invalid() { var options = Options; using (var context = new CompeticoesDbContext(options)) { var controller = new EstadosController(context); controller.ModelState.AddModelError("key", "error"); var result = await controller.PostEstado(new Estado()); var badRequestResult = Assert.IsType <BadRequestObjectResult>(result); var valueResult = Assert.IsType <SerializableError>(badRequestResult.Value); var value = Assert.IsType <string[]>(valueResult["key"]); Assert.Equal("error", value[0]); } }