public async Task ForPostShouldReturnWithModelValidationError() { // Arrange var request = new StoreDocumentsRequest { RequestId = Guid.NewGuid(), Operation = "INVALID", Owner = new Owner(), Documents = new List <Document>() }; using var fixture = TestApplicationFactory <StartupForIntegration> .Create(); // Act var response = await fixture.CreateClient().PostAsync("api/Validation", new JsonContent(request)); // Assert var responseString = await response.Content.ReadAsStringAsync(); Assert.Equal(UnprocessableEntity, (int)response.StatusCode); Assert.NotNull(response); Assert.Contains( $"'{request.Operation}' is not supported. Supported operations are: Validate, Process, Publish.", responseString); }
public async Task ForPostShouldReturn200Ok(string operation) { // Arrange var request = new StoreDocumentsRequest { RequestId = Guid.NewGuid(), Operation = operation, Owner = new Owner(), Documents = new List <Document> { new Document() } }; using var fixture = TestApplicationFactory <StartupForIntegration> .Create(); // Act var response = await fixture.CreateClient().PostAsync("api/Validation", new JsonContent(request)); // Assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); }
public async Task ForPostShouldReturnWithMultipleModelValidationErrors() { // Arrange var request = new StoreDocumentsRequest { Documents = new List <Document> { new Document() } }; using var fixture = TestApplicationFactory <StartupForIntegration> .Create(); // Act var response = await fixture.CreateClient().PostAsync("api/Validation", new JsonContent(request)); // Assert var responseString = await response.Content.ReadAsStringAsync(); Assert.Equal(UnprocessableEntity, (int)response.StatusCode); Assert.Contains("Operation must be supplied! Supported operations are: Validate, Process, Publish.", responseString); Assert.Contains("'Request Id' must not be empty.", responseString); }
public async Task <IActionResult> Post([FromBody] StoreDocumentsRequest request) { return(await Task.FromResult(Ok())); }