public void SetProfilePicture_TooFewWins() { var personalSetting = new PersonalSetting("peter#123"); var player = PlayerOverallStats.Create("peter#123"); for (int i = 0; i < 19; i++) { player.RecordWin(Race.HU, 1, true); } personalSetting.Players = new List <PlayerOverallStats> { player }; SetPictureCommand cmd1 = new SetPictureCommand() { avatarCategory = AvatarCategory.HU, pictureId = 1 }; personalSetting.SetProfilePicture(cmd1); SetPictureCommand cmd2 = new SetPictureCommand() { avatarCategory = AvatarCategory.HU, pictureId = 2 }; var profilePicture = personalSetting.SetProfilePicture(cmd2); Assert.IsFalse(profilePicture); Assert.AreEqual(AvatarCategory.HU, personalSetting.ProfilePicture.Race); Assert.AreEqual(1, personalSetting.ProfilePicture.PictureId); }
public static Rank CreateUnrankedResponse(this PlayerOverallStats stats) { return(new Rank( new List <string> { stats.BattleTag }, 0, 0, 0, null, GateWay.Undefined, GameMode.Undefined, 0 ) { Players = new List <PlayerOverview> { PlayerOverview.Create(new List <PlayerId> { new PlayerId { BattleTag = stats.BattleTag, Name = stats.Name } }, GateWay.Undefined, GameMode.Undefined, 0, null) } }); }
public async Task LoadAndSave() { var playerRepository = new PlayerRepository(MongoClient); var player = PlayerOverallStats.Create("peter#123"); await playerRepository.UpsertPlayer(player); var playerLoaded = await playerRepository.LoadPlayerProfile(player.BattleTag); Assert.AreEqual(player.BattleTag, playerLoaded.BattleTag); }
public async Task ReturnRanks_WhenPlayersHavePersonalSettingsConfigured_MustHaveCorrectPersonalSettings() { // Arrange var rankRepository = new RankRepository(MongoClient, personalSettingsProvider); var playerRepository = new PlayerRepository(MongoClient); var personalSettingsRepository = new PersonalSettingsRepository(MongoClient); var clanRepository = new ClanRepository(MongoClient); var queryHandler = new RankQueryHandler(rankRepository, playerRepository, clanRepository); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 12, 1456, null, GateWay.America, GameMode.GM_1v1, 1) }; await rankRepository.InsertRanks(ranks); var player = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 1, null); player.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player); var playerStats = new PlayerOverallStats() { BattleTag = "peter#123", }; await playerRepository.UpsertPlayer(playerStats); var settings = new PersonalSetting("peter#123") { ProfilePicture = new ProfilePicture() { Race = AvatarCategory.HU, PictureId = 5 }, Country = "BG" }; await personalSettingsRepository.Save(settings); // Act var playerLoaded = await queryHandler.LoadPlayersOfLeague(1, 1, GateWay.America, GameMode.GM_1v1); // Assert Assert.AreEqual(1, playerLoaded.Count); var playerRank = playerLoaded[0]; Assert.AreEqual("1_peter#123@10_GM_1v1", playerRank.Players.First().Id); Assert.AreEqual(playerRank.PlayersInfo[0].SelectedRace, AvatarCategory.HU); Assert.AreEqual(playerRank.PlayersInfo[0].PictureId, 5); Assert.AreEqual(playerRank.PlayersInfo[0].Country, "BG"); }
public async Task Search_DuplicateNameBug_RefineWithBtag() { var playerRepository = new PlayerRepository(MongoClient); var player = PlayerOverallStats.Create("ThunderHorn#2481"); var player2 = PlayerOverallStats.Create("ThunderHorn#21132"); await playerRepository.UpsertPlayer(player); await playerRepository.UpsertPlayer(player2); var playerLoaded = await playerRepository.SearchForPlayer("thunderhorn#2481"); Assert.AreEqual(player.BattleTag, playerLoaded[0].BattleTag); Assert.AreEqual(1, playerLoaded.Count); }
public async Task Search() { var playerRepository = new PlayerRepository(MongoClient); var player = PlayerOverallStats.Create("Peter#123"); var player2 = PlayerOverallStats.Create("Anderer#123"); await playerRepository.UpsertPlayer(player); await playerRepository.UpsertPlayer(player2); var playerLoaded = await playerRepository.SearchForPlayer("ete"); Assert.AreEqual(player.BattleTag, playerLoaded[0].BattleTag); Assert.AreEqual(1, playerLoaded.Count); }
public void SetProfilePicture_AllowedPictures() { var personalSetting = new PersonalSetting("peter#123"); var player = PlayerOverallStats.Create("peter#123"); for (int i = 0; i < 20; i++) { player.RecordWin(Race.HU, 1, true); } personalSetting.Players = new List <PlayerOverallStats> { player }; Assert.AreEqual(2, personalSetting.PickablePictures.Single(r => r.Race == Race.HU).Max); }
public async Task RepoLoadWithJoin_NotFoundPlayer() { var settingsRepo = new PersonalSettingsRepository(MongoClient); var playerRepo = new PlayerRepository(MongoClient); var personalSetting = new PersonalSetting("peter#123@10"); var player = PlayerOverallStats.Create("peter#123"); await playerRepo.UpsertPlayer(player); await settingsRepo.Save(personalSetting); var loaded = await settingsRepo.Load("peter#123@10"); Assert.AreEqual(0, loaded.RaceWins.GetWinsPerRace(Race.HU)); }
public async Task PlayerIdMappedRight() { var playerRepository = new PlayerRepository(MongoClient); var player1 = PlayerOverallStats.Create("peter#123"); var player2 = PlayerOverallStats.Create("wolf#456"); await playerRepository.UpsertPlayer(player1); await playerRepository.UpsertPlayer(player2); var playerLoaded = await playerRepository.LoadPlayerProfile(player2.BattleTag); Assert.IsNotNull(playerLoaded); Assert.AreEqual(player2.BattleTag, playerLoaded.BattleTag); }
public async Task PlayerMapping() { var playerRepository = new PlayerRepository(MongoClient); var player = PlayerOverallStats.Create("peter#123"); player.RecordWin(Race.HU, 0, true); await playerRepository.UpsertPlayer(player); var playerLoaded = await playerRepository.LoadPlayerProfile(player.BattleTag); playerLoaded.RecordWin(Race.UD, 0, false); await playerRepository.UpsertPlayer(playerLoaded); var playerLoadedAgain = await playerRepository.LoadPlayerProfile(player.BattleTag); Assert.AreEqual(player.BattleTag, playerLoaded.BattleTag); Assert.AreEqual(player.BattleTag, playerLoadedAgain.BattleTag); }
public async Task <BlizzardUserInfo> GetUserOrRegister(string bearer) { var userInfo = await _authenticationService.GetUser(bearer); if (userInfo == null) { return(null); } var battleTag = userInfo.battletag; var profile = await _playerRepository.LoadPlayerProfile(battleTag); if (profile == null) { await _playerRepository.UpsertPlayer(PlayerOverallStats.Create(battleTag)); } return(userInfo); }
public void SetProfilePicture() { var personalSetting = new PersonalSetting("peter#123"); var player = PlayerOverallStats.Create("peter#123"); for (int i = 0; i < 20; i++) { player.RecordWin(Race.HU, 1, true); } personalSetting.Players = new List <PlayerOverallStats> { player }; var profilePicture = personalSetting.SetProfilePicture(Race.HU, 2); Assert.IsTrue(profilePicture); Assert.AreEqual(Race.HU, personalSetting.ProfilePicture.Race); Assert.AreEqual(2, personalSetting.ProfilePicture.PictureId); }
public async Task RepoLoadWithJoin() { var settingsRepo = new PersonalSettingsRepository(MongoClient); var playerRepo = new PlayerRepository(MongoClient); var personalSetting = new PersonalSetting("peter#123"); var player = PlayerOverallStats.Create("peter#123"); for (int i = 0; i < 20; i++) { player.RecordWin(Race.HU, 1, true); } await playerRepo.UpsertPlayer(player); await settingsRepo.Save(personalSetting); var loaded = await settingsRepo.Load("peter#123"); Assert.AreEqual(20, loaded.RaceWins.GetWinsPerRace(Race.HU)); }
public async Task ReturnRanks_ClanGetsResolved() { // Arrange var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var clanRepository = new ClanRepository(MongoClient); var queryHandler = new RankQueryHandler(rankRepository, playerRepository, clanRepository); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 12, 1456, GateWay.America, GameMode.GM_1v1, 1) }; await rankRepository.InsertRanks(ranks); var player = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 1); player.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player); var playerStats = new PlayerOverallStats() { BattleTag = "peter#123", }; await playerRepository.UpsertPlayer(playerStats); await clanRepository.UpsertMemberShip(new ClanMembership { BattleTag = "peter#123", ClanId = "W3C" }); // Act var playerLoaded = await queryHandler.LoadPlayersOfLeague(1, 1, GateWay.America, GameMode.GM_1v1); // Assert Assert.AreEqual(1, playerLoaded.Count); var playerRank = playerLoaded[0]; Assert.AreEqual("W3C", playerRank.PlayersInfo.Single().ClanId); }
public async Task ReturnRanks_WhenPlayersDoNotHavePersonalSettingsConfigured_MustHaveNotThrowError() { // Arrange var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var clanRepository = new ClanRepository(MongoClient); var queryHandler = new RankQueryHandler(rankRepository, playerRepository, clanRepository); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 12, 1456, GateWay.America, GameMode.GM_1v1, 1) }; await rankRepository.InsertRanks(ranks); var player = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 1); player.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player); var playerStats = new PlayerOverallStats() { BattleTag = "peter#123", }; await playerRepository.UpsertPlayer(playerStats); // Act var playerLoaded = await queryHandler.LoadPlayersOfLeague(1, 1, GateWay.America, GameMode.GM_1v1); // Assert Assert.AreEqual(1, playerLoaded.Count); var playerRank = playerLoaded[0]; Assert.AreEqual("1_peter#123@10_GM_1v1", playerRank.Players.First().Id); }
public async Task SetPictureWhenSettingsAreNotThere() { var personalSettingsRepository = new PersonalSettingsRepository(MongoClient); var playerRepo = new PlayerRepository(MongoClient); var personalSettingsCommandHandler = new PersonalSettingsCommandHandler(personalSettingsRepository, playerRepo); var player = PlayerOverallStats.Create("modmoto#123"); for (int i = 0; i < 30; i++) { player.RecordWin(Race.NE, 1, true); } await playerRepo.UpsertPlayer(player); var result = await personalSettingsCommandHandler.UpdatePicture("modmoto#123", new SetPictureCommand { Race = Race.NE, PictureId = 2 }); Assert.IsTrue(result); var settings = await personalSettingsRepository.Load("modmoto#123"); Assert.AreEqual(2, settings.ProfilePicture.PictureId); }
public PlayerMapsStatisticsViewModel(PlayerOverallStats playerOverallStats) { CurrentPlayerStats = playerOverallStats; }