public void ItUpdatesTheGameDefinitionDescription()
        {
            var gameDefinitionUpdateRequest = new GameDefinitionUpdateRequest
            {
                Description = "some description"
            };
            autoMocker.ClassUnderTest.UpdateGameDefinition(gameDefinitionUpdateRequest, currentUser);

            autoMocker.Get<IDataContext>().AssertWasCalled(dataContext => dataContext.Save(
                Arg<GameDefinition>.Matches(gameDefinition => gameDefinition.Description == gameDefinitionUpdateRequest.Description),
                Arg<ApplicationUser>.Is.Same(currentUser)));
        }
        public void ItUpdatesTheActiveFlag()
        {
            var gameDefinitionUpdateRequest = new GameDefinitionUpdateRequest
            {
                Active = true
            };
            autoMocker.ClassUnderTest.UpdateGameDefinition(gameDefinitionUpdateRequest, currentUser);

            autoMocker.Get<IDataContext>().AssertWasCalled(dataContext => dataContext.Save(
                Arg<GameDefinition>.Matches(gameDefinition => gameDefinition.Active == gameDefinitionUpdateRequest.Active),
                Arg<ApplicationUser>.Is.Same(currentUser)));
        }
        public void ItCreatesANewBoardGameGeekGameDefinitionAndLinksToItIfItWasSuccessfullyCreated()
        {
            var gameDefinitionUpdateRequest = new GameDefinitionUpdateRequest
            {
                BoardGameGeekGameDefinitionId = 200
            };
            var boardGameGeekGameDefinition = new BoardGameGeekGameDefinition
            {
                Id = gameDefinitionUpdateRequest.BoardGameGeekGameDefinitionId.Value
            };
            autoMocker.Get<IBoardGameGeekGameDefinitionCreator>().Expect(
                mock => mock.CreateBoardGameGeekGameDefinition(gameDefinitionUpdateRequest.BoardGameGeekGameDefinitionId.Value, currentUser))
                .Return(boardGameGeekGameDefinition);

            autoMocker.ClassUnderTest.UpdateGameDefinition(gameDefinitionUpdateRequest, currentUser);

            autoMocker.Get<IDataContext>().AssertWasCalled(dataContext => dataContext.Save(
                Arg<GameDefinition>.Matches(gameDefinition => gameDefinition.BoardGameGeekGameDefinitionId == gameDefinitionUpdateRequest.BoardGameGeekGameDefinitionId),
                Arg<ApplicationUser>.Is.Same(currentUser)));
        }
Beispiel #4
0
        public virtual void UpdateGameDefinition(GameDefinitionUpdateRequest gameDefinitionUpdateRequest, ApplicationUser currentUser)
        {
            var gameDefinition = _dataContext.FindById <GameDefinition>(gameDefinitionUpdateRequest.GameDefinitionId);

            if (gameDefinitionUpdateRequest.Active.HasValue)
            {
                gameDefinition.Active = gameDefinitionUpdateRequest.Active.Value;
            }

            if (!string.IsNullOrWhiteSpace(gameDefinitionUpdateRequest.Name))
            {
                gameDefinition.Name = gameDefinitionUpdateRequest.Name;
            }

            if (!string.IsNullOrWhiteSpace(gameDefinitionUpdateRequest.Description))
            {
                gameDefinition.Description = gameDefinitionUpdateRequest.Description;
            }

            AttachToBoardGameGeekGameDefinition(gameDefinitionUpdateRequest.BoardGameGeekGameDefinitionId, currentUser, gameDefinition);

            _dataContext.Save(gameDefinition, currentUser);
        }
        public void ItDoesNotUpdateTheBoardGameGeekGameDefinitionIdIfTheGameIsNotValid()
        {
            var gameDefinitionUpdateRequest = new GameDefinitionUpdateRequest
            {
                BoardGameGeekGameDefinitionId = 200
            };
            autoMocker.Get<IBoardGameGeekGameDefinitionCreator>().Expect(
                mock => mock.CreateBoardGameGeekGameDefinition(gameDefinitionUpdateRequest.BoardGameGeekGameDefinitionId.Value, currentUser))
                .Return(null);

            autoMocker.ClassUnderTest.UpdateGameDefinition(gameDefinitionUpdateRequest, currentUser);

            autoMocker.Get<IDataContext>().AssertWasNotCalled(dataContext => dataContext.Save(
                Arg<GameDefinition>.Matches(gameDefinition => gameDefinition.BoardGameGeekGameDefinitionId == gameDefinitionUpdateRequest.BoardGameGeekGameDefinitionId),
                Arg<ApplicationUser>.Is.Same(currentUser)));
        }
        public virtual void UpdateGameDefinition(GameDefinitionUpdateRequest gameDefinitionUpdateRequest, ApplicationUser currentUser)
        {
            var gameDefinition = dataContext.FindById<GameDefinition>(gameDefinitionUpdateRequest.GameDefinitionId);

            if (gameDefinitionUpdateRequest.Active.HasValue)
            {
                gameDefinition.Active = gameDefinitionUpdateRequest.Active.Value;
            }

            if (!string.IsNullOrWhiteSpace(gameDefinitionUpdateRequest.Name))
            {
                gameDefinition.Name = gameDefinitionUpdateRequest.Name;
            }

            if (!string.IsNullOrWhiteSpace(gameDefinitionUpdateRequest.Description))
            {
                gameDefinition.Description = gameDefinitionUpdateRequest.Description;
            }

            AttachToBoardGameGeekGameDefinition(gameDefinitionUpdateRequest.BoardGameGeekGameDefinitionId, currentUser, gameDefinition);

            dataContext.Save(gameDefinition, currentUser);
        }
        public HttpResponseMessage UpdateGameDefinition(UpdateGameDefinitionMessage updateGameDefinitionMessage, int gameDefinitionId, int gamingGroupId)
        {
            if (updateGameDefinitionMessage == null)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "You must pass at least one valid parameter.");
            }

            var gameDefinitionUpdateRequest = new GameDefinitionUpdateRequest
            {
                Active = updateGameDefinitionMessage.Active,
                Name = updateGameDefinitionMessage.GameDefinitionName,
                BoardGameGeekGameDefinitionId = updateGameDefinitionMessage.BoardGameGeekGameDefinitionId,
                GameDefinitionId = gameDefinitionId
            };

            gameDefinitionSaver.UpdateGameDefinition(gameDefinitionUpdateRequest, CurrentUser);

            return Request.CreateResponse(HttpStatusCode.NoContent);
        }