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)); }
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)); }
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); }
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 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)); }
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))); }
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))); }
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)); }
public HttpResponseMessage GetPlayedGames([FromBody] PlayedGameFilterMessage playedGameFilterMessage, [FromUri] int gamingGroupId) { playedGameFilterMessage.GamingGroupId = gamingGroupId; return(GetPlayedGameSearchResults(playedGameFilterMessage)); }
public HttpResponseMessage GetPlayedGamesVersion2([FromUri] PlayedGameFilterMessage playedGameFilterMessage) { return(GetPlayedGameSearchResults(playedGameFilterMessage)); }