Esempio n. 1
0
        public void ItReturnsThePlayers()
        {
            const int GAMING_GROUP_ID = 1;

            var expectedPlayer = new Player
            {
                Id        = 2,
                Name      = "player 1",
                Active    = false,
                NemesisId = 300
            };

            var expectedPlayers = new List <Player>
            {
                expectedPlayer
            };

            autoMocker.Get <IPlayerRetriever>().Expect(mock => mock.GetAllPlayers(GAMING_GROUP_ID)).Return(expectedPlayers);

            var actualResults = autoMocker.ClassUnderTest.GetPlayers(GAMING_GROUP_ID);

            var actualData = AssertThatApiAction.ReturnsThisTypeWithThisStatusCode <PlayersSearchResultsMessage>(actualResults, HttpStatusCode.OK);

            Assert.That(actualData.Players.Count, Is.EqualTo(1));
            var player = actualData.Players[0];

            Assert.That(player.PlayerId, Is.EqualTo(expectedPlayer.Id));
            Assert.That(player.PlayerName, Is.EqualTo(expectedPlayer.Name));
            Assert.That(player.Active, Is.EqualTo(expectedPlayer.Active));
            Assert.That(player.CurrentNemesisPlayerId, Is.EqualTo(expectedPlayer.NemesisId));
        }
        public void ItReturnsAllTheGameDefinitionsForTheGivenGamingGroup()
        {
            const int GAMING_GROUP_ID = 1;

            var expectedResults = new List <GameDefinitionSummary>
            {
                new GameDefinitionSummary
                {
                    Id     = 2,
                    Name   = "some game definition name",
                    Active = false,
                    BoardGameGeekGameDefinitionId = 3
                }
            };

            _autoMocker.Get <IGameDefinitionRetriever>().Expect(mock => mock.GetAllGameDefinitions(GAMING_GROUP_ID)).Return(expectedResults);

            var actualResults = _autoMocker.ClassUnderTest.GetGameDefinitions(GAMING_GROUP_ID);

            var actualData = AssertThatApiAction.ReturnsThisTypeWithThisStatusCode <GameDefinitionsSearchResultsMessage>(actualResults, HttpStatusCode.OK);
            var firstActualGameDefinitionSearchResultMessage = actualData.GameDefinitions[0];

            Assert.That(firstActualGameDefinitionSearchResultMessage.GameDefinitionId, Is.EqualTo(expectedResults[0].Id));
            Assert.That(firstActualGameDefinitionSearchResultMessage.GameDefinitionName, Is.EqualTo(expectedResults[0].Name));
            Assert.That(firstActualGameDefinitionSearchResultMessage.Active, Is.EqualTo(expectedResults[0].Active));
            Assert.That(firstActualGameDefinitionSearchResultMessage.BoardGameGeekGameDefinitionId, Is.EqualTo(expectedResults[0].BoardGameGeekGameDefinitionId));
            Assert.That(firstActualGameDefinitionSearchResultMessage.NemeStatsUrl,
                        Is.EqualTo(AbsoluteUrlBuilder.GetGameDefinitionUrl(firstActualGameDefinitionSearchResultMessage.GameDefinitionId)));
        }
Esempio n. 3
0
        public void ItReturnsTheCorrectPlayedGames()
        {
            var expectedSingleResult = new PlayedGameSearchResult
            {
                BoardGameGeekGameDefinitionId = 1,
                DateLastUpdated    = DateTime.UtcNow.Date,
                DatePlayed         = DateTime.UtcNow.Date,
                GameDefinitionId   = 2,
                GameDefinitionName = "some game definition name",
                GamingGroupId      = 3,
                GamingGroupName    = "some gaming group name",
                Notes             = "some notes",
                PlayedGameId      = 4,
                PlayerGameResults = new List <PlayerResult>
                {
                    new PlayerResult
                    {
                        GameRank               = 1,
                        PlayerId               = 2,
                        PointsScored           = 3,
                        NemeStatsPointsAwarded = 4,
                        PlayerName             = "some player name"
                    }
                }
            };

            var expectedResults = new List <PlayedGameSearchResult>
            {
                expectedSingleResult
            };
            var filterMessage = new PlayedGameFilterMessage();

            autoMocker.Get <IPlayedGameRetriever>().Expect(
                mock => mock.SearchPlayedGames(
                    Arg <PlayedGameFilter> .Is.Anything))
            .Return(expectedResults);

            var actualResponse = autoMocker.ClassUnderTest.GetPlayedGames(filterMessage, 1);

            var actualData = AssertThatApiAction.ReturnsThisTypeWithThisStatusCode <PlayedGameSearchResultsMessage>(actualResponse, HttpStatusCode.OK);

            Assert.That(actualData.PlayedGames.Count, Is.EqualTo(1));
            var actualSinglePlayedGame = actualData.PlayedGames[0];

            Assert.That(actualSinglePlayedGame.BoardGameGeekGameDefinitionId, Is.EqualTo(expectedSingleResult.BoardGameGeekGameDefinitionId));
            Assert.That(actualSinglePlayedGame.DateLastUpdated, Is.EqualTo(expectedSingleResult.DateLastUpdated.ToString("yyyy-MM-dd")));
            Assert.That(actualSinglePlayedGame.DatePlayed, Is.EqualTo(expectedSingleResult.DatePlayed.ToString("yyyy-MM-dd")));
            Assert.That(actualSinglePlayedGame.GameDefinitionId, Is.EqualTo(expectedSingleResult.GameDefinitionId));
            Assert.That(actualSinglePlayedGame.GameDefinitionName, Is.EqualTo(expectedSingleResult.GameDefinitionName));
            Assert.That(actualSinglePlayedGame.GamingGroupId, Is.EqualTo(expectedSingleResult.GamingGroupId));
            Assert.That(actualSinglePlayedGame.GamingGroupName, Is.EqualTo(expectedSingleResult.GamingGroupName));
            Assert.That(actualSinglePlayedGame.Notes, Is.EqualTo(expectedSingleResult.Notes));
            Assert.That(actualSinglePlayedGame.PlayedGameId, Is.EqualTo(expectedSingleResult.PlayedGameId));
            Assert.That(actualSinglePlayedGame.PlayerGameResults[0].GameRank, Is.EqualTo(expectedSingleResult.PlayerGameResults[0].GameRank));
            Assert.That(actualSinglePlayedGame.PlayerGameResults[0].NemeStatsPointsAwarded, Is.EqualTo(expectedSingleResult.PlayerGameResults[0].NemeStatsPointsAwarded));
            Assert.That(actualSinglePlayedGame.PlayerGameResults[0].PlayerId, Is.EqualTo(expectedSingleResult.PlayerGameResults[0].PlayerId));
            Assert.That(actualSinglePlayedGame.PlayerGameResults[0].PlayerName, Is.EqualTo(expectedSingleResult.PlayerGameResults[0].PlayerName));
            Assert.That(actualSinglePlayedGame.PlayerGameResults[0].PointsScored, Is.EqualTo(expectedSingleResult.PlayerGameResults[0].PointsScored));
        }
Esempio n. 4
0
        public void ItReturnsANewlyCreatedGameDefinitionMessage()
        {
            var actualResults = autoMocker.ClassUnderTest.SaveNewGameDefinition(new NewGameDefinitionMessage(), 0);

            var actualData = AssertThatApiAction.ReturnsThisTypeWithThisStatusCode <NewlyCreatedGameDefinitionMessage>(actualResults, HttpStatusCode.OK);

            Assert.That(actualData.GameDefinitionId, Is.EqualTo(expectedGameDefinition.Id));
        }
Esempio n. 5
0
        public void ItReturnsAPlayerStatisticsMessageForTheGivenPlayer()
        {
            var results = _autoMocker.ClassUnderTest.GetPlayerStats(0, PLAYER_ID);

            var model = AssertThatApiAction.ReturnsThisTypeWithThisStatusCode <PlayerStatisticsMessage>(results, HttpStatusCode.OK);

            Assert.That(model, Is.SameAs(expectedMessage));
        }
Esempio n. 6
0
        public void ItReturnsANewlyCreatedGameDefinitionMessage()
        {
            var expectedUrl   = AbsoluteUrlBuilder.GetGameDefinitionUrl(_expectedGameDefinition.Id);
            var actualResults = _autoMocker.ClassUnderTest.SaveNewGameDefinition(new NewGameDefinitionMessage(), _expectedGamingGroupId);

            var actualData = AssertThatApiAction.ReturnsThisTypeWithThisStatusCode <NewlyCreatedGameDefinitionMessage>(actualResults, HttpStatusCode.OK);

            Assert.That(actualData.GameDefinitionId, Is.EqualTo(_expectedGameDefinition.Id));
            Assert.That(actualData.GamingGroupId, Is.EqualTo(_expectedGamingGroupId));
            Assert.That(actualData.NemeStatsUrl, Is.EqualTo(expectedUrl));
        }
        public void It_Returns_Gravatar_Urls_For_Registered_Users_The_User_Has_Access_To_See()
        {
            //--arrange
            var expectedGravatarUrl = UIHelper.BuildGravatarUrl(_expectedEmail);

            //--act
            var actualResults = _autoMocker.ClassUnderTest.GetPlayers(GAMING_GROUP_ID);

            //--assert
            var actualData = AssertThatApiAction.ReturnsThisTypeWithThisStatusCode <PlayersSearchResultsMessage>(actualResults, HttpStatusCode.OK);

            actualData.Players.ShouldContain(x =>
                                             x.PlayerId == _expectedPlayer.Id && x.RegisteredUserGravatarUrl == expectedGravatarUrl);
        }
Esempio n. 8
0
        public void ItReturnsAnEmptyListIfThereAreNoResults()
        {
            var filterMessage = new PlayedGameFilterMessage();

            _autoMocker.Get <IPlayedGameRetriever>().Expect(
                mock => mock.SearchPlayedGames(
                    Arg <PlayedGameFilter> .Is.Anything))
            .Return(new List <PlayedGameSearchResult>());

            var actualResponse = _autoMocker.ClassUnderTest.GetPlayedGames(filterMessage, 1);

            var actualData = AssertThatApiAction.ReturnsThisTypeWithThisStatusCode <PlayedGameSearchResultsMessage>(actualResponse, HttpStatusCode.OK);

            Assert.That(actualData.PlayedGames.Count, Is.EqualTo(0));
        }
        public void It_Returns_The_Players()
        {
            var actualResults = _autoMocker.ClassUnderTest.GetPlayers(GAMING_GROUP_ID);

            var actualData = AssertThatApiAction.ReturnsThisTypeWithThisStatusCode <PlayersSearchResultsMessage>(actualResults, HttpStatusCode.OK);

            Assert.That(actualData.Players.Count, Is.EqualTo(1));
            var player = actualData.Players[0];

            Assert.That(player.PlayerId, Is.EqualTo(_expectedPlayer.Id));
            Assert.That(player.PlayerName, Is.EqualTo(_expectedPlayer.Name));
            Assert.That(player.Active, Is.EqualTo(_expectedPlayer.Active));
            Assert.That(player.CurrentNemesisPlayerId, Is.EqualTo(_expectedPlayer.NemesisId));
            Assert.That(player.NemeStatsUrl, Is.EqualTo(AbsoluteUrlBuilder.GetPlayerDetailsUrl(player.PlayerId)));
        }
        public async Task ItReturnsAnHttp401NotAuthorizedResponseIfTheUsernameAndPasswordIsNotValid()
        {
            var credentialsMessage = new CredentialsMessage
            {
                UserName = "******",
                Password = "******"
            };

            autoMocker.Get <ApplicationUserManager>().Expect(mock => mock.FindAsync(
                                                                 Arg <string> .Matches(userName => userName == credentialsMessage.UserName),
                                                                 Arg <string> .Matches(password => password == credentialsMessage.Password)))
            .Return(Task.FromResult((ApplicationUser)null));

            var actualResponse = await autoMocker.ClassUnderTest.Login(credentialsMessage);

            AssertThatApiAction.HasThisError(actualResponse, HttpStatusCode.Unauthorized, "Invalid credentials provided.");
        }
        public void ItReturnsANoContentResponse()
        {
            var actualResults = _autoMocker.ClassUnderTest.DeletePlayedGame(0, 0);

            AssertThatApiAction.ReturnsANoContentResponseWithNoContent(actualResults);
        }
        public void ItReturnsANoContentResponse()
        {
            var actualResults = _autoMocker.ClassUnderTest.UpdatePlayer(new UpdatePlayerMessage(), 0, 0);

            AssertThatApiAction.ReturnsANoContentResponseWithNoContent(actualResults);
        }
        public void ItReturnsABadRequestIfTheMessageIsNull()
        {
            HttpResponseMessage actualResponse = _autoMocker.ClassUnderTest.UpdatePlayer(null, 1, 100);

            AssertThatApiAction.HasThisError(actualResponse, HttpStatusCode.BadRequest, "You must pass at least one valid parameter.");
        }