Exemplo n.º 1
0
        public void Can_Generate_Category_Specific_Tournament_Count()
        {
            TournamentController tournamentController = new TournamentController(GetRepositoryStub());

            tournamentController.PageSize = 2;

            Func <ViewResult, TournamentsListViewModel> GetModel = result => result?.ViewData?.Model as TournamentsListViewModel;

            int?count1   = GetModel(tournamentController.List("A"))?.PagingInfo.TotalItems;
            int?count2   = GetModel(tournamentController.List("B"))?.PagingInfo.TotalItems;
            int?count3   = GetModel(tournamentController.List("C"))?.PagingInfo.TotalItems;
            int?countAll = GetModel(tournamentController.List(null))?.PagingInfo.TotalItems;

            // Assert
            Assert.Equal(3, count1);
            Assert.Equal(1, count2);
            Assert.Equal(2, count3);
            Assert.Equal(6, countAll);
        }
Exemplo n.º 2
0
        public void Can_Paginate()
        {
            TournamentController tournamentController = new TournamentController(GetRepositoryStub());

            tournamentController.PageSize = 2;

            TournamentsListViewModel result = tournamentController.List(null, 3).ViewData.Model as TournamentsListViewModel;

            Tournament[] tournaments = result.Tournaments.ToArray();
            Assert.True(tournaments.Length == 2);         // 2 tournaments in the third page ( 2 + 2 + 2 )
            Assert.Equal(5, tournaments[0].TournamentID); // order by tournament name
        }
Exemplo n.º 3
0
        public void Can_Filter_Tournaments()
        {
            TournamentController tournamentController = new TournamentController(GetRepositoryStub());

            tournamentController.PageSize = 2;

            TournamentsListViewModel result = tournamentController.List("C", 1).ViewData.Model as TournamentsListViewModel;

            Tournament[] tournaments = result.Tournaments.ToArray();
            Assert.True(tournaments.Length == 2); // 2 tournaments in the "C" category
            Assert.True(tournaments[0].TournamentID == 5 && tournaments[0].Category == "C");
            Assert.True(tournaments[1].TournamentID == 6 && tournaments[0].Category == "C");
        }
Exemplo n.º 4
0
        public void Can_Send_Pagination_View_Model()
        {
            TournamentController tournamentController = new TournamentController(GetRepositoryStub());

            tournamentController.PageSize = 2;

            TournamentsListViewModel result = tournamentController.List(null, 3).ViewData.Model as TournamentsListViewModel;

            PagingInfo pageInfo = result.PagingInfo;

            Assert.Equal(3, pageInfo.CurrentPage);
            Assert.Equal(2, pageInfo.ItemsPerPage);
            Assert.Equal(6, pageInfo.TotalItems);
            Assert.Equal(3, pageInfo.TotalPages);
        }
        public void Can_Get_List_Of_Tournaments()
        {
            // Arrange
            // - create the mock repository.
            Mock <IRepository> mock = new Mock <IRepository>();

            mock.Setup(m => m.Tournaments).Returns(new Tournament[] {
                new Tournament {
                    TournamentID = 1, Name = "T1"
                },
                new Tournament {
                    TournamentID = 2, Name = "T2"
                },
                new Tournament {
                    TournamentID = 3, Name = "T3"
                },
                new Tournament {
                    TournamentID = 4, Name = "T4"
                },
                new Tournament {
                    TournamentID = 5, Name = "T5"
                }
            }.AsQueryable());

            // Create a controller.
            TournamentController controller = new TournamentController(mock.Object);

            // Action
            IQueryable <Tournament> result = (IQueryable <Tournament>)controller.List().Model;

            // Assert
            Tournament[] tourArray = result.ToArray();
            Assert.AreEqual(tourArray[0].Name, "T1");
            Assert.AreEqual(tourArray[1].Name, "T2");
            Assert.AreEqual(tourArray[2].Name, "T3");
            Assert.AreEqual(tourArray[3].Name, "T4");
            Assert.AreEqual(tourArray[4].Name, "T5");
        }