コード例 #1
0
        public async Task <int> GetShouldReturn204WhenNoDataExists()
        {
            using (var fixture = new BlogContextFixture())
            {
                // Arrange
                var controller = new BlogController(fixture.Context)
                {
                    ActionContext = new ActionContext {
                        HttpContext = new DefaultHttpContext
                        {
                            RequestServices = CreateServices()
                        }
                    }
                };

                // Act
                var result = await controller.Get();

                await result.ExecuteResultAsync(controller.ActionContext);

                var response = result as NoContentResult;
                if (response != null)
                {
                    await response.ExecuteResultAsync(controller.ActionContext);
                }

                // Assert
                Assert.IsType <NoContentResult>(result);
                Assert.Equal(StatusCodes.Status204NoContent, controller.Response.StatusCode);
            }

            return(0);
        }
コード例 #2
0
        public async Task <object> GetByIdShouldReturnNoContentWhenNoBlogs()
        {
            using (var fixture = new BlogContextFixture())
            {
                // Arrange
                var controller = new BlogController(fixture.Context)
                {
                    ActionContext = new ActionContext {
                        HttpContext = new DefaultHttpContext
                        {
                            RequestServices = CreateServices()
                        }
                    }
                };

                // Act
                var result = await controller.Get(1);

                await result.ExecuteResultAsync(controller.ActionContext);

                var response = result as HttpNotFoundResult;
                if (response != null)
                {
                    await response.ExecuteResultAsync(controller.ActionContext);
                }

                // Assert
                Assert.IsType <HttpNotFoundResult>(result);
                Assert.Equal(StatusCodes.Status404NotFound, controller.Response.StatusCode);
            }

            return(Task.FromResult <object>(null));
        }
コード例 #3
0
        public async Task <int> GetShouldReturnResultsWhenDataExists()
        {
            string expected = "Jim's Blog";

            using (var fixture = new BlogContextFixture())
            {
                // Arrange
                fixture.Context.Blogs.Add(new Blog {
                    Name = expected
                });
                await fixture.Context.SaveChangesAsync();

                var controller = new BlogController(fixture.Context)
                {
                    ActionContext = new ActionContext {
                        HttpContext = new DefaultHttpContext
                        {
                            RequestServices = CreateServices()
                        }
                    }
                };

                // Act
                var result = await controller.Get();

                await result.ExecuteResultAsync(controller.ActionContext);

                var response = result as ObjectResult;
                if (response != null)
                {
                    await response.ExecuteResultAsync(controller.ActionContext);
                }

                // Assert
                Assert.NotNull(response);
                Assert.Equal(StatusCodes.Status200OK, controller.Response.StatusCode);
                Assert.Equal(expected, ((List <Blog>)response.Value).First().Name);
            }

            return(0);
        }