BusinessLogic.Tests.UnitTests.LogicTests.PlayersTests.PlayerRetrieverTests.GetPlayerQuickStatsForUserTests.ItReturnsTheLastGamingGroupGamePlayed C# (CSharp) Method

ItReturnsTheLastGamingGroupGamePlayed() private method

private ItReturnsTheLastGamingGroupGamePlayed ( ) : void
return void
        public void ItReturnsTheLastGamingGroupGamePlayed()
        {
            autoMocker.Get<IDataContext>().Expect(mock => mock.GetQueryable<Player>()).Return(new List<Player>
            {
                expectedPlayer
            }.AsQueryable());
            autoMocker.ClassUnderTest.Expect(mock => mock.GetGameDefinitionTotals(expectedPlayer.Id))
                .Return(new GameDefinitionTotals());
            var expectedBggGameDefinitionId = 2;

            var expectedPlayedGame = MockRepository.GeneratePartialMock<PlayedGame>();
            expectedPlayedGame.DatePlayed = new DateTime();
            expectedPlayedGame.GameDefinitionId = 1;
            expectedPlayedGame.WinnerType = WinnerTypes.PlayerWin;
            expectedPlayedGame.GameDefinition = new GameDefinition
            {
                Name = "some game definition name",
                BoardGameGeekGameDefinitionId = expectedBggGameDefinitionId,
                BoardGameGeekGameDefinition = new BoardGameGeekGameDefinition
                {
                    Name = "bgg name",
                    Thumbnail = "some thumbnail",
                    Id = expectedBggGameDefinitionId
                }
            };
            var playedGames = new List<PlayedGame>
            {
                expectedPlayedGame
            };
            var expectedWinningPlayer = new Player
            {
                Id = 93,
                Name = "some winning player name"
            };
            expectedPlayedGame.Expect(mock => mock.WinningPlayer).Repeat.Any().Return(expectedWinningPlayer);
            autoMocker.Get<IPlayedGameRetriever>().Expect(mock => mock.GetRecentGames(1, expectedPlayer.GamingGroupId))
                .Return(playedGames);

            var result = autoMocker.ClassUnderTest.GetPlayerQuickStatsForUser(userId, gamingGroupId);

            var lastGamingGroupGame = result.LastGamingGroupGame;
            Assert.That(lastGamingGroupGame, Is.Not.Null);
            Assert.That(lastGamingGroupGame.DatePlayed, Is.EqualTo(expectedPlayedGame.DatePlayed));
            Assert.That(lastGamingGroupGame.GameDefinitionId, Is.EqualTo(expectedPlayedGame.GameDefinitionId));
            Assert.That(lastGamingGroupGame.GameDefinitionName, Is.EqualTo(expectedPlayedGame.GameDefinition.Name));
            Assert.That(lastGamingGroupGame.PlayedGameId, Is.EqualTo(expectedPlayedGame.Id));
            var expectedBggUri = BoardGameGeekUriBuilder.BuildBoardGameGeekGameUri(expectedBggGameDefinitionId);
            Assert.That(lastGamingGroupGame.BoardGameGeekUri, Is.EqualTo(expectedBggUri));
            Assert.That(lastGamingGroupGame.ThumbnailImageUrl, Is.EqualTo(expectedPlayedGame.GameDefinition.BoardGameGeekGameDefinition.Thumbnail));
            Assert.That(lastGamingGroupGame.WinnerType, Is.EqualTo(expectedPlayedGame.WinnerType));
            Assert.That(lastGamingGroupGame.WinningPlayerName, Is.EqualTo(expectedWinningPlayer.Name));
            Assert.That(lastGamingGroupGame.WinningPlayerId, Is.EqualTo(expectedWinningPlayer.Id));
        }