public async Task Handle_GivenValidRequest_ShouldReturnViewModel() { // Arrange var query = new GetAllTeamsPagedQuery { Page = 0, PageSize = 3 }; var sut = new GetAllTeamsPagedQueryHandler(this.deletableEntityRepository, this.mapper); // Act var viewModel = await sut.Handle(query, It.IsAny <CancellationToken>()); // Assert viewModel.ShouldNotBeNull(); viewModel.Teams.Count().ShouldBe(3); }
public async Task <IActionResult> All([FromQuery(Name = "p")] int?page) { page = (page ?? 1) - 1; // Results per page is intentionally used as a constant for testing purposes. // In a real life application, the user will be able to select the results // he wants to see on a given page. var query = new GetAllTeamsPagedQuery { Page = page.Value, PageSize = RESULTS_PER_PAGE_COUNT }; var viewModel = await this.Mediator.Send(query); var pagedList = new StaticPagedList <TeamLookupModel>( viewModel.Teams, page.Value + 1, RESULTS_PER_PAGE_COUNT, viewModel.TotalTeamsCount); return(this.View(pagedList)); }