public async Task <IEnumerable <LiveTeamRanking> > GetLiveRanking() { var matchStatusTask = GetLiveStatus(); var killListTask = _playerKillRepository.GetLiveKillList(64); await Task.WhenAll(matchStatusTask, killListTask).ConfigureAwait(false); return(await _teamRankingService.GetTeamRankings(killListTask.Result, matchStatusTask.Result).ConfigureAwait(false)); }
public async Task GetTeamRankings_WhenProvidingMockInputs_ShouldProduceExpectedOutput() { // arrange var mockKillListStr = EmbeddedResourcesUtility.ReadEmbeddedResource("Fanview.Test.Mocks.killList.json"); var mockLiveMatchStatusStr = EmbeddedResourcesUtility.ReadEmbeddedResource("Fanview.Test.Mocks.liveMatchStatus.json"); var mockResStr = EmbeddedResourcesUtility.ReadEmbeddedResource("Fanview.Test.Mocks.teamRankingResult.json"); var mockKillList = JsonConvert.DeserializeObject <KillLeader>(mockKillListStr); var mockLiveMatchStatus = JsonConvert.DeserializeObject <IEnumerable <LiveMatchStatus> >(mockLiveMatchStatusStr); var mockRes = JsonConvert.DeserializeObject <IEnumerable <LiveTeamRanking> >(mockResStr); // act var res = await _sut.GetTeamRankings(mockKillList, mockLiveMatchStatus); // assert foreach (var team in res) { var mockTeam = mockRes.FirstOrDefault(t => t.TeamId == team.TeamId); Assert.AreEqual(mockTeam.RankPoints, team.RankPoints, team.TeamName + " - Rank points"); Assert.AreEqual(mockTeam.KillPoints, team.KillPoints, team.TeamName + " - Kill points"); Assert.AreEqual(mockTeam.TotalPoints, team.TotalPoints, team.TeamName + " - Total points"); Assert.AreEqual(mockTeam.TeamRank, team.TeamRank, team.TeamName + " - Rank"); } }