public virtual ActionResult GetRecentChanges(int gamingGroupId, [System.Web.Http.FromUri] BasicDateRangeFilter dateRangeFilter = null) { var recentChanges = _gamingGroupRetriever.GetRecentChanges(gamingGroupId, dateRangeFilter); var getRecentNemesisChangesRequest = new GetRecentNemesisChangesRequest { GamingGroupId = gamingGroupId, NumberOfRecentChangesToRetrieve = NUMBER_OF_RECENT_NEMESIS_TO_SHOW }; var recentNemesisChanges = _nemesisHistoryRetriever.GetRecentNemesisChanges(getRecentNemesisChangesRequest); var recentNemesisChangesViewModel = _transformer.Transform <List <NemesisChangeViewModel> >(recentNemesisChanges); var recentAchievemments = recentChanges.RecentAchievements .ToTransformedPagedList <PlayerAchievementWinner, PlayerAchievementWinnerViewModel>(_transformer); var getRecentChampionChangesFilter = new GetRecentChampionChangesFilter(gamingGroupId, NUMBER_OF_RECENT_CHAMPION_CHANGES_TO_SHOW); var recentChampionChanges = _recentChampionRetriever.GetRecentChampionChanges(getRecentChampionChangesFilter); var recentChampionChangesViewModels = _transformer.Transform <List <ChampionChangeViewModel> >(recentChampionChanges); var viewModel = new RecentGamingGroupChangesViewModel { RecentAchievements = recentAchievemments, RecentNemesisChanges = recentNemesisChangesViewModel, RecentChampionChanges = recentChampionChangesViewModels }; return(PartialView(MVC.GamingGroup.Views._GamingGroupRecentChanges, viewModel)); }
public virtual ActionResult ShowRecentNemesisChanges() { var request = new GetRecentNemesisChangesRequest { NumberOfRecentChangesToRetrieve = NUMBER_OF_RECENT_NEMESIS_CHANGES_TO_RETRIEVE }; var recentNemesisChanges = nemesisHistoryRetriever.GetRecentNemesisChanges(request); var recentNemesisChangesViewModels = nemesisChangeViewModelBuilder.Build(recentNemesisChanges).ToList(); return(View(MVC.Player.Views.RecentNemesisChanges, recentNemesisChangesViewModels)); }
public void ItReturnsTheSpecifiedNumberOfNemesisChanges() { //--arrange var request = new GetRecentNemesisChangesRequest { NumberOfRecentChangesToRetrieve = 1 }; //--act var nemesisChanges = nemesisHistoryRetriever.GetRecentNemesisChanges(request); //--assert Assert.AreEqual(request.NumberOfRecentChangesToRetrieve, nemesisChanges.Count); }
public void ItDoesntReturnTheSameMinionPlayerMoreThanOnce() { //--arrange var request = new GetRecentNemesisChangesRequest { NumberOfRecentChangesToRetrieve = 10 }; //--act var nemesisChanges = nemesisHistoryRetriever.GetRecentNemesisChanges(request); //--assert Assert.AreEqual(1, nemesisChanges.Count(nemesis => nemesis.MinionPlayerId == repeatedMinionPlayerId)); }
public void ItOnlyReturnsResultsThatMatchTheSpecifiedGamingGroupId() { //--arrange var request = new GetRecentNemesisChangesRequest { NumberOfRecentChangesToRetrieve = 10, GamingGroupId = GAMING_GROUP_ID }; //--act var nemesisChanges = nemesisHistoryRetriever.GetRecentNemesisChanges(request); //--assert Assert.False(nemesisChanges.Any(x => x.NemesisPlayerId == playerIdWithWrongGamingGroup)); }
public void ItReturnsNemesisChangesInOrderOfDateDescending() { //--arrange var request = new GetRecentNemesisChangesRequest { NumberOfRecentChangesToRetrieve = 10 }; //--act var nemesisChanges = nemesisHistoryRetriever.GetRecentNemesisChanges(request); //--assert var sorted = nemesisChanges.OrderByDescending(s => s.DateCreated); CollectionAssert.AreEqual(sorted.ToList(), nemesisChanges); }
public List <NemesisChange> GetRecentNemesisChanges(GetRecentNemesisChangesRequest request) { return((from nemesisChange in dataContext.GetQueryable <Nemesis>() .Where(x => request.GamingGroupId == null || x.NemesisPlayer.GamingGroupId == request.GamingGroupId) .GroupBy(n => n.MinionPlayerId) .Select(n => n.OrderByDescending(p => p.DateCreated) .FirstOrDefault()) select new NemesisChange { LossPercentageVersusNemesis = nemesisChange.LossPercentage, NemesisPlayerId = nemesisChange.NemesisPlayerId, NemesisPlayerName = nemesisChange.NemesisPlayer.Name, MinionPlayerName = nemesisChange.MinionPlayer.Name, MinionPlayerId = nemesisChange.MinionPlayerId, DateCreated = nemesisChange.DateCreated }).OrderByDescending(n => n.DateCreated) .Take(request.NumberOfRecentChangesToRetrieve) .ToList()); }
public void ItSetsAllTheFields() { //--arrange var request = new GetRecentNemesisChangesRequest { NumberOfRecentChangesToRetrieve = 1 }; //--act var nemesisChanges = nemesisHistoryRetriever.GetRecentNemesisChanges(request); //--assert var nemesisChange = nemesisChanges[0]; Assert.AreEqual(repeatedMinionPlayerId, nemesisChange.MinionPlayerId); Assert.AreEqual(repeatedMinionPlayerName1, nemesisChange.MinionPlayerName); Assert.AreEqual(nemesisPlayerId1, nemesisChange.NemesisPlayerId); Assert.AreEqual(nemesisPlayerName1, nemesisChange.NemesisPlayerName); Assert.AreEqual(lossPercentage, nemesisChange.LossPercentageVersusNemesis); Assert.AreEqual(DateTime.UtcNow.Date, nemesisChange.DateCreated.Date); }