コード例 #1
0
        public async Task ShouldProperlyValidateWrongModelRecursive()
        {
            var model = new RecursiveViewModel
            {
                Id            = 15,
                Name          = "",
                SubCollection = new List <SubViewModel>
                {
                    new SubViewModel
                    {
                        Id   = -2,
                        Name = "Name"
                    }
                },
                SubObject = new SubObjectViewModel
                {
                    Id       = 3,
                    Capacity = -15
                }
            };
            var content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, mediaType);
            HttpResponseMessage response = await _client.PostAsync($"{route}/recursive", content);

            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);

            string responseText = await response.Content.ReadAsStringAsync();

            Assert.Contains("name", responseText);
            Assert.Contains("subCollection[0].Id", responseText);
            Assert.Contains("subObject.Capacity", responseText);
        }
コード例 #2
0
        public async Task ShouldProperlyValidateModelRecursive()
        {
            var model = new RecursiveViewModel
            {
                Id            = 1,
                Name          = "TestName",
                SubCollection = new List <SubViewModel>
                {
                    new SubViewModel
                    {
                        Id   = 2,
                        Name = "SubItem"
                    }
                },
                SubObject = new SubObjectViewModel
                {
                    Id       = 3,
                    Capacity = 150
                }
            };
            var content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, mediaType);
            HttpResponseMessage response = await _client.PostAsync($"{route}/recursive", content);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            string responseText = await response.Content.ReadAsStringAsync();

            var result = JsonConvert.DeserializeObject <RecursiveViewModel>(responseText);

            Assert.NotNull(result);
        }
コード例 #3
0
 public IActionResult PostRecursiveValidationModel([FromBody] RecursiveViewModel value)
 {
     return(Ok(value));
 }