public void Get_WithInclude_ReturnNavigationProperty() { var db = SetupHelper.BuildTestContext(); db.Authors.Include("abc"); //arrange var controller = new AutoAPI.RESTAPIController(SetupHelper.BuildTestContext(), null, null); var routeInfo = new RouteInfo() { Entity = entityList.Where(x => x.Route == "/api/authors").First(), FilterExpression = "Id == @0", FilterValues = new object[] { 1 }, IsPageResult = true, IncludeExpression = new List <string>() { "Books" }, Take = 1, Skip = 0, Page = 1 }; //act var result = (OkObjectResult)controller.Get(routeInfo); var pagedResult = (PagedResult)result.Value; //assert Assert.Equal(200, result.StatusCode.Value); Assert.Equal(1, ((Author)pagedResult.Items.First()).Id); Assert.Equal(2, ((Author)pagedResult.Items.First()).Books.Count); Assert.Equal(2, pagedResult.Total); }
public void Get_WithFilterAndPagedResult_ReturnPaged() { //arrange var controller = new AutoAPI.RESTAPIController(SetupHelper.BuildTestContext(), null, null); var routeInfo = new RouteInfo() { Entity = entityList.Where(x => x.Route == "/api/authors").First(), FilterExpression = "Id == @0", FilterValues = new object[] { 1 }, IsPageResult = true, Take = 1, Skip = 0, Page = 1 }; //act var result = (OkObjectResult)controller.Get(routeInfo); var pagedResult = (PagedResult)result.Value; //assert Assert.Equal(200, result.StatusCode.Value); Assert.Equal(1, ((Author)pagedResult.Items.First()).Id); Assert.Equal(2, pagedResult.Total); }
public void Get_WithInvalidId_ReturnNotFound() { //arrange var controller = new AutoAPI.RESTAPIController(SetupHelper.BuildTestContext(), null, null); var routeInfo = new RouteInfo() { Entity = entityList.Where(x => x.Route == "/api/authors").First(), Id = "10" }; //act var result = (NotFoundObjectResult)controller.Get(routeInfo); //assert Assert.Equal(404, result.StatusCode); }
public void Get_WithCount_ReturnCount() { //arrange var controller = new AutoAPI.RESTAPIController(SetupHelper.BuildTestContext(), null, null); var routeInfo = new RouteInfo() { Entity = entityList.Where(x => x.Route == "/api/authors").First(), IsCount = true }; //act var result = (OkObjectResult)controller.Get(routeInfo); //assert Assert.Equal(200, result.StatusCode.Value); Assert.Equal(2, (int)result.Value); }
public void Get_WithId_ReturnOne() { //arrange var controller = new AutoAPI.RESTAPIController(SetupHelper.BuildTestContext(), null, null); var routeInfo = new RouteInfo() { Entity = entityList.Where(x => x.Route == "/api/authors").First(), Id = "1" }; //act var result = (OkObjectResult)controller.Get(routeInfo); //assert Assert.Equal(200, result.StatusCode.Value); Assert.Equal(1, ((Author)result.Value).Id); Assert.Equal("Ernest Hemingway", ((Author)result.Value).Name); }
public void Get_WithFilterPagingAndSort_ReturnOne() { //arrange var controller = new AutoAPI.RESTAPIController(SetupHelper.BuildTestContext(), null, null); var routeInfo = new RouteInfo() { Entity = entityList.Where(x => x.Route == "/api/authors").First(), FilterExpression = "Id == @0", FilterValues = new object[] { 1 }, SortExpression = "Name desc", Skip = 0, Take = 1 }; //act var result = (OkObjectResult)controller.Get(routeInfo); //assert Assert.Equal(200, result.StatusCode.Value); Assert.Equal(1, ((Author)((List <object>)result.Value).First()).Id); }