Esempio n. 1
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. 2
0
        internal virtual HttpResponseMessage GetPlayedGameSearchResults(PlayedGameFilterMessage playedGameFilterMessage)
        {
            var filter = _transformer.Transform <PlayedGameFilter>(playedGameFilterMessage);

            var searchResults = _playedGameRetriever.SearchPlayedGames(filter);

            var playedGamesSearchResultMessage = new PlayedGameSearchResultsMessage
            {
                PlayedGames = searchResults.Select(Mapper.Map <PlayedGameSearchResultMessage>).ToList()
            };

            return(Request.CreateResponse(HttpStatusCode.OK, playedGamesSearchResultMessage));
        }
Esempio n. 3
0
        public void ItReturnsTheFilteredPlayedGames()
        {
            var filterMessage = new PlayedGameFilterMessage();

            var responseMessage = new HttpResponseMessage();

            _autoMocker.PartialMockTheClassUnderTest();
            _autoMocker.ClassUnderTest.Expect(partialMock => partialMock.GetPlayedGameSearchResults(filterMessage))
            .Return(responseMessage);

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

            actualResponse.ShouldBeSameAs(responseMessage);
        }
Esempio n. 4
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));
        }
Esempio n. 5
0
        public void ItLimitsTheNumberOfResultsIfSpecified()
        {
            var filterMessage = new PlayedGameFilterMessage
            {
                MaximumNumberOfResults = 100
            };

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

            autoMocker.ClassUnderTest.GetPlayedGames(filterMessage, 1);

            autoMocker.Get <IPlayedGameRetriever>().AssertWasCalled(mock => mock.SearchPlayedGames(
                                                                        Arg <PlayedGameFilter> .Matches(filter => filter.MaximumNumberOfResults == filterMessage.MaximumNumberOfResults)));
        }
        internal virtual HttpResponseMessage GetPlayedGameSearchResults(PlayedGameFilterMessage playedGameFilterMessage)
        {
            var filter = _transformer.Transform <PlayedGameFilter>(playedGameFilterMessage);

            var searchResults = _playedGameRetriever.SearchPlayedGames(filter);

            var playedGamesSearchResultMessage = new PlayedGameSearchResultsMessage
            {
                PlayedGames = searchResults.Select(Mapper.Map <PlayedGameSearchResultMessage>).ToList()
            };

            playedGamesSearchResultMessage.PlayedGames.ForEach(x => x.NemeStatsUrl = AbsoluteUrlBuilder.GetPlayedGameDetailsUrl(x.PlayedGameId));

            return(Request.CreateResponse(HttpStatusCode.OK, playedGamesSearchResultMessage));
        }
Esempio n. 7
0
        public void ItAlwaysUsesTheSpecifiedGamingGroupIdAndNotTheOneOnTheMessage()
        {
            var filterMessage = new PlayedGameFilterMessage();

            var responseMessage = new HttpResponseMessage();

            _autoMocker.PartialMockTheClassUnderTest();
            _autoMocker.ClassUnderTest.Expect(partialMock => partialMock.GetPlayedGameSearchResults(null))
            .IgnoreArguments()
            .Return(responseMessage);
            var expectedGamingGroupId = 1;

            _autoMocker.ClassUnderTest.GetPlayedGames(filterMessage, expectedGamingGroupId);

            _autoMocker.ClassUnderTest.AssertWasCalled(partialMock => partialMock.GetPlayedGameSearchResults(
                                                           Arg <PlayedGameFilterMessage> .Matches(x => x.GamingGroupId == expectedGamingGroupId)));
        }
Esempio n. 8
0
        public void ItFiltersOnStartDateGameLastUpdated()
        {
            var filterMessage = new PlayedGameFilterMessage
            {
                StartDateGameLastUpdated = "2015-04-15"
            };

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

            autoMocker.ClassUnderTest.GetPlayedGames(filterMessage, 1);

            autoMocker.Get <IPlayedGameRetriever>().AssertWasCalled(mock => mock.SearchPlayedGames(
                                                                        Arg <PlayedGameFilter> .Matches(filter => filter.StartDateGameLastUpdated == filterMessage.StartDateGameLastUpdated)));
        }
Esempio n. 9
0
        private HttpResponseMessage GetPlayedGameSearchResults(PlayedGameFilterMessage playedGameFilterMessage)
        {
            var filter = new PlayedGameFilter();

            if (playedGameFilterMessage != null)
            {
                filter.GamingGroupId            = playedGameFilterMessage.GamingGroupId;
                filter.StartDateGameLastUpdated = playedGameFilterMessage.StartDateGameLastUpdated;
                filter.MaximumNumberOfResults   = playedGameFilterMessage.MaximumNumberOfResults;
                filter.PlayerId = playedGameFilterMessage.PlayerId;
            }
            var searchResults = this.playedGameRetriever.SearchPlayedGames(filter);

            var playedGamesSearchResultMessage = new PlayedGameSearchResultsMessage
            {
                PlayedGames = searchResults.Select(Mapper.Map <PlayedGameSearchResultMessage>).ToList()
            };

            return(this.Request.CreateResponse(HttpStatusCode.OK, playedGamesSearchResultMessage));
        }
Esempio n. 10
0
 public HttpResponseMessage GetPlayedGames([FromBody] PlayedGameFilterMessage playedGameFilterMessage, [FromUri] int gamingGroupId)
 {
     playedGameFilterMessage.GamingGroupId = gamingGroupId;
     return(GetPlayedGameSearchResults(playedGameFilterMessage));
 }
Esempio n. 11
0
 public HttpResponseMessage GetPlayedGamesVersion2([FromUri] PlayedGameFilterMessage playedGameFilterMessage)
 {
     return(GetPlayedGameSearchResults(playedGameFilterMessage));
 }