Example #1
0
        public void ItReturnsThePlayedGameIdAndGamingGroupIdOfTheNewlyCreatedPlayedGame()
        {
            var expectedNemeStatsUrl = AbsoluteUrlBuilder.GetPlayedGameDetailsUrl(EXPECTED_PLAYED_GAME_ID);

            var actualResponse = _autoMocker.ClassUnderTest.RecordPlayedGame(_playedGameMessage, EXPECTED_GAMING_GROUP_ID);

            Assert.That(actualResponse.Content, Is.TypeOf(typeof(ObjectContent <NewlyRecordedPlayedGameMessage>)));
            var content = actualResponse.Content as ObjectContent <NewlyRecordedPlayedGameMessage>;
            var newlyRecordedPlayedGameMessage = content.Value as NewlyRecordedPlayedGameMessage;

            Assert.That(newlyRecordedPlayedGameMessage.PlayedGameId, Is.EqualTo(EXPECTED_PLAYED_GAME_ID));
            Assert.That(newlyRecordedPlayedGameMessage.GamingGroupId, Is.EqualTo(EXPECTED_GAMING_GROUP_ID));
            Assert.That(newlyRecordedPlayedGameMessage.NemeStatsUrl, Is.EqualTo(expectedNemeStatsUrl));
        }
        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 HttpResponseMessage RecordPlayedGame([FromBody] PlayedGameMessage playedGameMessage, [FromUri] int gamingGroupId)
        {
            var newlyCompletedGame = _transformer.Transform <NewlyCompletedGame>(playedGameMessage);

            newlyCompletedGame.TransactionSource = TransactionSource.RestApi;

            var playedGame = _createPlayedGameComponent.Execute(newlyCompletedGame, CurrentUser);
            var newlyRecordedPlayedGameMessage = new NewlyRecordedPlayedGameMessage
            {
                PlayedGameId  = playedGame.Id,
                GamingGroupId = playedGame.GamingGroupId,
                NemeStatsUrl  = AbsoluteUrlBuilder.GetPlayedGameDetailsUrl(playedGame.Id)
            };

            return(Request.CreateResponse(HttpStatusCode.OK, newlyRecordedPlayedGameMessage));
        }