コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public async Task <IActionResult> Post([FromBody] StoreDocumentsRequest request)
 {
     return(await Task.FromResult(Ok()));
 }