public async Task PostInvalidValueToReplaceTextField1ReturnsBadRequestCode() { // Arrange var client = _factory.CreateClient(new WebApplicationFactoryClientOptions { AllowAutoRedirect = false }); var invalidValueToReplace = new FakeValueToReplaceDto().Generate(); invalidValueToReplace.ValueToReplaceTextField1 = null; // Act var httpResponse = await client.PostAsJsonAsync("api/v1/ValueToReplaceLowers", invalidValueToReplace) .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 PostValueToReplaceReturnsSuccessCodeAndResourceWithAccurateFields() { // Arrange var client = _factory.CreateClient(new WebApplicationFactoryClientOptions { AllowAutoRedirect = false }); var fakeValueToReplace = new FakeValueToReplaceDto().Generate(); // Act var httpResponse = await client.PostAsJsonAsync("api/v1/ValueToReplaceLowers", fakeValueToReplace) .ConfigureAwait(false); // Assert httpResponse.EnsureSuccessStatusCode(); var resultDto = JsonConvert.DeserializeObject <ValueToReplaceDto>(await httpResponse.Content.ReadAsStringAsync() .ConfigureAwait(false)); httpResponse.StatusCode.Should().Be(201); resultDto.ValueToReplaceTextField1.Should().Be(fakeValueToReplace.ValueToReplaceTextField1); resultDto.ValueToReplaceTextField2.Should().Be(fakeValueToReplace.ValueToReplaceTextField2); resultDto.ValueToReplaceDateField1.Should().Be(fakeValueToReplace.ValueToReplaceDateField1); }