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);
        }
Exemplo n.º 2
0
        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));
        }