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); }
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 }
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"); }
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"); }