public GameDefinitionSummaryViewModel Build(GameDefinitionSummary gameDefinitionSummary, ApplicationUser currentUser) { var viewModel = new GameDefinitionDetailsViewModel { Id = gameDefinitionSummary.Id, Name = gameDefinitionSummary.Name, Description = gameDefinitionSummary.Description, TotalNumberOfGamesPlayed = gameDefinitionSummary.TotalNumberOfGamesPlayed, GamingGroupId = gameDefinitionSummary.GamingGroupId, GamingGroupName = gameDefinitionSummary.GamingGroupName, BoardGameGeekUri = gameDefinitionSummary.BoardGameGeekUri, ThumbnailImageUrl = gameDefinitionSummary.ThumbnailImageUrl, UserCanEdit = (currentUser != null && gameDefinitionSummary.GamingGroupId == currentUser.CurrentGamingGroupId) }; if (!(gameDefinitionSummary.Champion is NullChampion)) { viewModel.ChampionName = gameDefinitionSummary.Champion.Player.Name; viewModel.ChampionPlayerId = gameDefinitionSummary.Champion.Player.Id; } if (!(gameDefinitionSummary.PreviousChampion is NullChampion)) { viewModel.PreviousChampionName = gameDefinitionSummary.PreviousChampion.Player.Name; viewModel.PreviousChampionPlayerId = gameDefinitionSummary.PreviousChampion.Player.Id; } return(viewModel); }
public GameDefinitionDetailsViewModel Build( GameDefinitionSummary gameDefinitionSummary, Dictionary <int, string> playerIdToRegisteredUserEmailDictionary, ApplicationUser currentUser) { BoardGameGeekInfoViewModel boardGameGeekInfoViewModel = null; if (gameDefinitionSummary.BoardGameGeekGameDefinitionId.HasValue) { boardGameGeekInfoViewModel = _transformer.Transform <BoardGameGeekInfoViewModel>(gameDefinitionSummary.BoardGameGeekInfo); } var viewModel = new GameDefinitionDetailsViewModel { GameDefinitionId = gameDefinitionSummary.Id, GameDefinitionName = gameDefinitionSummary.Name, TotalNumberOfGamesPlayed = gameDefinitionSummary.TotalNumberOfGamesPlayed, AveragePlayersPerGame = $"{gameDefinitionSummary.AveragePlayersPerGame:0.#}", GamingGroupId = gameDefinitionSummary.GamingGroupId, GamingGroupName = gameDefinitionSummary.GamingGroupName, UserCanEdit = (currentUser != null && gameDefinitionSummary.GamingGroupId == currentUser.CurrentGamingGroupId), BoardGameGeekInfo = boardGameGeekInfoViewModel }; SetPlayedGames(gameDefinitionSummary, currentUser, viewModel); SetChampionStuff(gameDefinitionSummary, viewModel); SetPreviousChampionStuff(gameDefinitionSummary, viewModel); SetPlayersStuff(gameDefinitionSummary, playerIdToRegisteredUserEmailDictionary, viewModel); return(viewModel); }
public void TheUserCanNotEditViewModelIfTheyDoNotShareGamingGroups() { currentUser.CurrentGamingGroupId = -1; GameDefinitionDetailsViewModel actualViewModel = autoMocker.ClassUnderTest.Build(gameDefinitionSummary, currentUser); Assert.False(actualViewModel.UserCanEdit); }
public void ItReturnsTheSpecifiedGameDefinitionViewModelOnTheView() { ViewResult viewResult = gameDefinitionControllerPartialMock.Details(gameDefinitionId, currentUser) as ViewResult; GameDefinitionDetailsViewModel actualGameDefinitionViewModel = (GameDefinitionDetailsViewModel)viewResult.ViewData.Model; Assert.AreEqual(expectedViewModel, actualGameDefinitionViewModel); }
public void ItSetsThePlayedGamesPanelTitle() { var viewResult = gameDefinitionControllerPartialMock.Details(gameDefinitionId, currentUser) as ViewResult; GameDefinitionDetailsViewModel actualGameDefinitionViewModel = (GameDefinitionDetailsViewModel)viewResult.ViewData.Model; Assert.That(actualGameDefinitionViewModel.PlayedGamesPanelTitle, Is.EqualTo("Last 0 Played Games")); }
public void ItSetsThePlayedGamesToAnEmptyListIfThereAreNone() { gameDefinitionSummary.PlayedGames = null; GameDefinitionDetailsViewModel actualViewModel = autoMocker.ClassUnderTest.Build(gameDefinitionSummary, currentUser); Assert.AreEqual(new List <PlayedGameDetailsViewModel>(), actualViewModel.PlayedGames); }
public GameDefinitionDetailsViewModel Build(GameDefinitionSummary gameDefinitionSummary, ApplicationUser currentUser) { BoardGameGeekInfoViewModel boardGameGeekInfoViewModel = null; if (gameDefinitionSummary.BoardGameGeekGameDefinitionId.HasValue) { boardGameGeekInfoViewModel = _transformer.Transform <BoardGameGeekInfoViewModel>(gameDefinitionSummary.BoardGameGeekInfo); } var viewModel = new GameDefinitionDetailsViewModel { GameDefinitionId = gameDefinitionSummary.Id, GameDefinitionName = gameDefinitionSummary.Name, TotalNumberOfGamesPlayed = gameDefinitionSummary.TotalNumberOfGamesPlayed, AveragePlayersPerGame = $"{gameDefinitionSummary.AveragePlayersPerGame:0.#}", GamingGroupId = gameDefinitionSummary.GamingGroupId, GamingGroupName = gameDefinitionSummary.GamingGroupName, UserCanEdit = (currentUser != null && gameDefinitionSummary.GamingGroupId == currentUser.CurrentGamingGroupId), BoardGameGeekInfo = boardGameGeekInfoViewModel }; if (gameDefinitionSummary.PlayedGames == null) { viewModel.PlayedGames = new List <PlayedGameDetailsViewModel>(); } else { viewModel.PlayedGames = (from playedGame in gameDefinitionSummary.PlayedGames select _playedGameDetailsViewModelBuilder.Build(playedGame, currentUser, true)) .ToList(); } if (!(gameDefinitionSummary.Champion is NullChampion)) { viewModel.ChampionName = PlayerNameBuilder.BuildPlayerName( gameDefinitionSummary.Champion.Player.Name, gameDefinitionSummary.Champion.Player.Active); viewModel.ChampionPlayerId = gameDefinitionSummary.Champion.Player.Id; viewModel.WinPercentage = gameDefinitionSummary.Champion.WinPercentage; viewModel.NumberOfGamesPlayed = gameDefinitionSummary.Champion.NumberOfGames; viewModel.NumberOfWins = gameDefinitionSummary.Champion.NumberOfWins; } if (!(gameDefinitionSummary.PreviousChampion is NullChampion)) { viewModel.PreviousChampionName = PlayerNameBuilder.BuildPlayerName( gameDefinitionSummary.PreviousChampion.Player.Name, gameDefinitionSummary.PreviousChampion.Player.Active); viewModel.PreviousChampionPlayerId = gameDefinitionSummary.PreviousChampion.Player.Id; } viewModel.GameDefinitionPlayersSummary = gameDefinitionSummary.PlayerWinRecords .Select(_transformer.Transform <GameDefinitionPlayerSummaryViewModel>) .ToList(); return(viewModel); }
private static void SetPreviousChampionStuff(GameDefinitionSummary gameDefinitionSummary, GameDefinitionDetailsViewModel viewModel) { if (!(gameDefinitionSummary.PreviousChampion is NullChampion)) { viewModel.PreviousChampionName = PlayerNameBuilder.BuildPlayerName( gameDefinitionSummary.PreviousChampion.Player.Name, gameDefinitionSummary.PreviousChampion.Player.Active); viewModel.PreviousChampionPlayerId = gameDefinitionSummary.PreviousChampion.Player.Id; } }
public GameDefinitionDetailsViewModel Build(GameDefinitionSummary gameDefinitionSummary, ApplicationUser currentUser) { GameDefinitionDetailsViewModel viewModel = new GameDefinitionDetailsViewModel() { Id = gameDefinitionSummary.Id, Name = gameDefinitionSummary.Name, Description = gameDefinitionSummary.Description, TotalNumberOfGamesPlayed = gameDefinitionSummary.TotalNumberOfGamesPlayed, AveragePlayersPerGame = string.Format("{0:0.#}", gameDefinitionSummary.AveragePlayersPerGame), GamingGroupId = gameDefinitionSummary.GamingGroupId, GamingGroupName = gameDefinitionSummary.GamingGroupName, BoardGameGeekGameDefinitionId = gameDefinitionSummary.BoardGameGeekGameDefinitionId, BoardGameGeekUri = gameDefinitionSummary.BoardGameGeekUri, ThumbnailImageUrl = gameDefinitionSummary.ThumbnailImageUrl, UserCanEdit = (currentUser != null && gameDefinitionSummary.GamingGroupId == currentUser.CurrentGamingGroupId) }; if (gameDefinitionSummary.PlayedGames == null) { viewModel.PlayedGames = new List <PlayedGameDetailsViewModel>(); } else { viewModel.PlayedGames = (from playedGame in gameDefinitionSummary.PlayedGames select playedGameDetailsViewModelBuilder.Build(playedGame, currentUser)) .ToList(); } if (!(gameDefinitionSummary.Champion is NullChampion)) { viewModel.ChampionName = gameDefinitionSummary.Champion.Player.Name; viewModel.ChampionPlayerId = gameDefinitionSummary.Champion.Player.Id; viewModel.WinPercentage = gameDefinitionSummary.Champion.WinPercentage; viewModel.NumberOfGamesPlayed = gameDefinitionSummary.Champion.NumberOfGames; viewModel.NumberOfWins = gameDefinitionSummary.Champion.NumberOfWins; } if (!(gameDefinitionSummary.PreviousChampion is NullChampion)) { viewModel.PreviousChampionName = gameDefinitionSummary.PreviousChampion.Player.Name; viewModel.PreviousChampionPlayerId = gameDefinitionSummary.PreviousChampion.Player.Id; } var playersSummaryViewModel = new PlayersSummaryViewModel { WinLossHeader = "Win - Loss Record", PlayerSummaries = gameDefinitionSummary.PlayerWinRecords.Select(transformer.Transform <PlayerWinRecord, PlayerSummaryViewModel>).ToList() }; viewModel.PlayersSummary = playersSummaryViewModel; return(viewModel); }
private void SetPlayedGames(GameDefinitionSummary gameDefinitionSummary, ApplicationUser currentUser, GameDefinitionDetailsViewModel viewModel) { if (gameDefinitionSummary.PlayedGames == null) { viewModel.PlayedGames = new List <PlayedGameDetailsViewModel>(); } else { viewModel.PlayedGames = (from playedGame in gameDefinitionSummary.PlayedGames select _playedGameDetailsViewModelBuilder.Build(playedGame, currentUser, true)) .ToList(); } }
private static void SetChampionStuff(GameDefinitionSummary gameDefinitionSummary, GameDefinitionDetailsViewModel viewModel) { if (!(gameDefinitionSummary.Champion is NullChampion)) { viewModel.ChampionName = PlayerNameBuilder.BuildPlayerName( gameDefinitionSummary.Champion.Player.Name, gameDefinitionSummary.Champion.Player.Active); viewModel.ChampionPlayerId = gameDefinitionSummary.Champion.Player.Id; viewModel.WinPercentage = gameDefinitionSummary.Champion.WinPercentage; viewModel.NumberOfGamesPlayed = gameDefinitionSummary.Champion.NumberOfGames; viewModel.NumberOfWins = gameDefinitionSummary.Champion.NumberOfWins; } }
private void SetPlayersStuff(GameDefinitionSummary gameDefinitionSummary, Dictionary <int, string> playerIdToRegisteredUserEmailDictionary, GameDefinitionDetailsViewModel viewModel) { var gameDefinitionPlayersSummary = new List <GameDefinitionPlayerSummaryViewModel>(); foreach (var playerWinRecord in gameDefinitionSummary.PlayerWinRecords) { var transformedResult = _transformer.Transform <GameDefinitionPlayerSummaryViewModel>(playerWinRecord); if (playerIdToRegisteredUserEmailDictionary.ContainsKey(playerWinRecord.PlayerId)) { transformedResult.RegisteredUserEmailAddress = playerIdToRegisteredUserEmailDictionary[playerWinRecord.PlayerId]; } gameDefinitionPlayersSummary.Add(transformedResult); } viewModel.GameDefinitionPlayersSummary = gameDefinitionPlayersSummary; }
public void FixtureSetUp() { autoMocker = new RhinoAutoMocker <GameDefinitionDetailsViewModelBuilder>(); autoMocker.PartialMockTheClassUnderTest(); expectedPlayerSummary1 = new PlayerSummaryViewModel(); expectedPlayerSummary2 = new PlayerSummaryViewModel(); List <PlayedGame> playedGames = new List <PlayedGame>(); playedGames.Add(new PlayedGame { Id = 10 }); playedGameDetailsViewModel1 = new PlayedGameDetailsViewModel(); playedGames.Add(new PlayedGame { Id = 11 }); playedGameDetailsViewModel2 = new PlayedGameDetailsViewModel(); championPlayer = new Player { Name = championName, Id = championPlayerId }; previousChampionPlayer = new Player { Name = previousChampionName, Id = previousChampionPlayerId }; champion = new Champion { Player = championPlayer, WinPercentage = championWinPercentage, NumberOfGames = championNumberOfGames, NumberOfWins = championNumberOfWins }; previousChampion = new Champion { Player = previousChampionPlayer }; playerWinRecord1 = new PlayerWinRecord { GamesWon = 1, GamesLost = 2, PlayerName = "player name", WinPercentage = 33, PlayerId = 3 }; playerWinRecord2 = new PlayerWinRecord(); autoMocker.Get <ITransformer>().Expect(mock => mock.Transform <PlayerWinRecord, PlayerSummaryViewModel>(playerWinRecord1)) .Return(expectedPlayerSummary1); autoMocker.Get <ITransformer>().Expect(mock => mock.Transform <PlayerWinRecord, PlayerSummaryViewModel>(playerWinRecord2)) .Return(expectedPlayerSummary2); gameDefinitionSummary = new GameDefinitionSummary { Id = 1, Name = "game definition name", Description = "game definition description", GamingGroupId = gamingGroupid, GamingGroupName = "gaming group name", PlayedGames = playedGames, TotalNumberOfGamesPlayed = 3, AveragePlayersPerGame = 2.2M, BoardGameGeekGameDefinitionId = 123, Champion = champion, PreviousChampion = previousChampion, PlayerWinRecords = new List <PlayerWinRecord> { playerWinRecord1, playerWinRecord2 } }; currentUser = new ApplicationUser { CurrentGamingGroupId = gamingGroupid }; autoMocker.Get <IPlayedGameDetailsViewModelBuilder>().Expect(mock => mock.Build(gameDefinitionSummary.PlayedGames[0], currentUser)) .Return(playedGameDetailsViewModel1); autoMocker.Get <IPlayedGameDetailsViewModelBuilder>().Expect(mock => mock.Build(gameDefinitionSummary.PlayedGames[1], currentUser)) .Return(playedGameDetailsViewModel2); viewModel = autoMocker.ClassUnderTest.Build(gameDefinitionSummary, currentUser); }
public void TheUserCanNotEditViewModelIfTheUserIsUnknown() { GameDefinitionDetailsViewModel actualViewModel = autoMocker.ClassUnderTest.Build(gameDefinitionSummary, null); Assert.False(actualViewModel.UserCanEdit); }
public void FixtureSetUp() { _autoMocker = new RhinoAutoMocker <GameDefinitionDetailsViewModelBuilder>(); _autoMocker.PartialMockTheClassUnderTest(); _expectedPlayerSummary1 = new GameDefinitionPlayerSummaryViewModel(); _expectedPlayerSummary2 = new GameDefinitionPlayerSummaryViewModel(); List <PlayedGame> playedGames = new List <PlayedGame>(); playedGames.Add(new PlayedGame { Id = 10 }); _playedGameDetailsViewModel1 = new PlayedGameDetailsViewModel(); playedGames.Add(new PlayedGame { Id = 11 }); _playedGameDetailsViewModel2 = new PlayedGameDetailsViewModel(); _championPlayer = new Player { Name = _championName, Id = _championPlayerId, Active = true }; _previousChampionPlayer = new Player { Name = _previousChampionName, Id = _previousChampionPlayerId, Active = false }; _champion = new Champion { Player = _championPlayer, WinPercentage = _championWinPercentage, NumberOfGames = _championNumberOfGames, NumberOfWins = _championNumberOfWins }; _previousChampion = new Champion { Player = _previousChampionPlayer }; _playerWinRecord1 = new PlayerWinRecord { GamesWon = 1, GamesLost = 2, PlayerName = "player name", WinPercentage = 33, PlayerId = 3 }; _playerWinRecord2 = new PlayerWinRecord(); _autoMocker.Get <ITransformer>().Expect(mock => mock.Transform <GameDefinitionPlayerSummaryViewModel>(_playerWinRecord1)) .Return(_expectedPlayerSummary1); _autoMocker.Get <ITransformer>().Expect(mock => mock.Transform <GameDefinitionPlayerSummaryViewModel>(_playerWinRecord2)) .Return(_expectedPlayerSummary2); _gameDefinitionSummary = new GameDefinitionSummary { Id = 1, Name = "game definition name", Description = "game definition description", GamingGroupId = _gamingGroupid, GamingGroupName = "gaming group name", PlayedGames = playedGames, TotalNumberOfGamesPlayed = 3, AveragePlayersPerGame = 2.2M, BoardGameGeekGameDefinitionId = 123, BoardGameGeekGameDefinition = new BoardGameGeekGameDefinition() { Id = 123 }, Champion = _champion, PreviousChampion = _previousChampion, PlayerWinRecords = new List <PlayerWinRecord> { _playerWinRecord1, _playerWinRecord2 }, BoardGameGeekInfo = new BoardGameGeekInfo() }; _currentUser = new ApplicationUser { CurrentGamingGroupId = _gamingGroupid }; _autoMocker.Get <IPlayedGameDetailsViewModelBuilder>().Expect(mock => mock.Build(_gameDefinitionSummary.PlayedGames[0], _currentUser, true)) .Return(_playedGameDetailsViewModel1); _autoMocker.Get <IPlayedGameDetailsViewModelBuilder>().Expect(mock => mock.Build(_gameDefinitionSummary.PlayedGames[1], _currentUser, true)) .Return(_playedGameDetailsViewModel2); _expectedBoardGameGeekInfo = new BoardGameGeekInfoViewModel(); _autoMocker.Get <ITransformer>().Expect(mock => mock.Transform <BoardGameGeekInfoViewModel>(_gameDefinitionSummary.BoardGameGeekInfo)) .Return(_expectedBoardGameGeekInfo); _expectedRegisteredUserDictionary = new Dictionary <int, string> { { _playerWinRecord1.PlayerId, _expectedPlayer1Email } }; _viewModel = _autoMocker.ClassUnderTest.Build(_gameDefinitionSummary, _expectedRegisteredUserDictionary, _currentUser); }