public async Task TestGetManagersAsync() { var dbContext = DbContextMocker.GetContext(nameof(this.TestGetManagersAsync)); var managersRepository = new ManagersRepository(dbContext, AutoMapperConfiguration.ConfigureForWeb().CreateMapper()); var managersService = new ManagersService(managersRepository, null); var controller = new ManagersController(managersService, AutoMapperConfiguration.ConfigureForWeb().CreateMapper()) { ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext(), }, }; var parameters = new ManagersPagingParameters() { PageNumber = 1, PageSize = 1, MinId = 0, }; var response = await controller.GetManagers(parameters); var value = response.Value; Assert.Single(value); controller.ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext(), }; parameters = new ManagersPagingParameters() { PageNumber = 1, PageSize = 2, MinId = 0, }; response = await controller.GetManagers(parameters); value = response.Value; Assert.Equal(2, value.Count()); controller.ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext(), }; parameters = new ManagersPagingParameters() { PageNumber = 1, PageSize = 2, MinId = 2, }; response = await controller.GetManagers(parameters); value = response.Value; Assert.Single(value); dbContext.Dispose(); }
public async Task GetManagers_WhenCalled_ReturnManagersFromDb() { var managerQuery = new ManagerQuery { PageNumber = 1, PageSize = 10, SortBy = "name", IsSortAscending = true }; var expectedManagers = new PaginatedList <Manager> { Pagination = new Pagination { PageNumber = 1, PageSize = 10 }, Items = new List <Manager>() { new Manager { Id = 1 }, new Manager { Id = 2 }, new Manager { Id = 3 }, } }; _managerService.Setup(m => m.GetAsync(managerQuery)).ReturnsAsync(expectedManagers); var result = await _managersController.GetManagers(managerQuery); var okObjectResult = result as OkObjectResult; var okObjectResultValue = okObjectResult.Value as PaginatedList <ManagerListDto>; Assert.That(result, Is.TypeOf <OkObjectResult>()); Assert.That(okObjectResultValue, Is.Not.Null); Assert.That(okObjectResultValue.Pagination.PageNumber, Is.EqualTo(1)); Assert.That(okObjectResultValue.Pagination.PageSize, Is.EqualTo(10)); Assert.That(okObjectResultValue.Items.Count(), Is.EqualTo(3)); }