public async Task PostInvalidRecipeTextField1ReturnsBadRequestCode() { // Arrange var client = _factory.CreateClient(new WebApplicationFactoryClientOptions { AllowAutoRedirect = false }); var invalidRecipe = new FakeRecipeDto().Generate(); invalidRecipe.RecipeTextField1 = null; // Act var httpResponse = await client.PostAsJsonAsync("api/v1/recipes", invalidRecipe) .ConfigureAwait(false); // add something like this to read the errors in the body? //var body = JsonConvert.DeserializeObject<ValidationResult>(await httpResponse.Content.ReadAsStringAsync() // .ConfigureAwait(false)); // Assert httpResponse.StatusCode.Should().Be(400); }
public async Task PostRecipeReturnsSuccessCodeAndResourceWithAccurateFields() { // Arrange var client = _factory.CreateClient(new WebApplicationFactoryClientOptions { AllowAutoRedirect = false }); var fakeRecipe = new FakeRecipeDto().Generate(); // Act var httpResponse = await client.PostAsJsonAsync("api/v1/recipes", fakeRecipe) .ConfigureAwait(false); // Assert httpResponse.EnsureSuccessStatusCode(); var resultDto = JsonConvert.DeserializeObject <RecipeDto>(await httpResponse.Content.ReadAsStringAsync() .ConfigureAwait(false)); httpResponse.StatusCode.Should().Be(201); resultDto.RecipeTextField1.Should().Be(fakeRecipe.RecipeTextField1); resultDto.RecipeTextField2.Should().Be(fakeRecipe.RecipeTextField2); resultDto.RecipeDateField1.Should().Be(fakeRecipe.RecipeDateField1); }