Exemplo n.º 1
0
        public static Mock <IGamesRepository> Create(
            bool gameExists   = true,
            bool isGameOwner  = true,
            bool gameIsActive = true,
            Common.Enums.GameStatusEnum gameStatus = Common.Enums.GameStatusEnum.InProgress,
            bool gameNameInUse = false)
        {
            var mock = new Mock <IGamesRepository>();

            mock.Setup(m => m.GetGameById(It.IsAny <int>())).Returns(() =>
            {
                if (!gameExists)
                {
                    return(Task.FromResult <GameModel>(null));
                }

                return(Task.FromResult(new GameModel
                {
                    OwnerId = isGameOwner ? MockConstants.GameOwnerId : int.MaxValue,
                    Status = gameIsActive ? Common.Enums.GameStatusEnum.InProgress : Common.Enums.GameStatusEnum.Cancelled,
                    IsActive = gameIsActive
                }));
            });
            mock.Setup(m => m.GetGameStatus(It.IsAny <int>())).Returns(() =>
            {
                return(Task.FromResult(gameStatus));
            });
            mock.Setup(m => m.GameNameIsTaken(It.IsAny <string>(), It.IsAny <int>())).Returns(() =>
            {
                return(Task.FromResult(gameNameInUse));
            });

            return(mock);
        }
Exemplo n.º 2
0
        public async Task ReturnFailureForInvalidStatus(Common.Enums.GameStatusEnum gameStatus)
        {
            var baseMock     = BaseGameRequestsValidatorMock.CreateMock();
            var gameRepoMock = GamesRepositoryMock.Create(
                gameStatus: gameStatus);
            var gameOwnerRuleMock = GameOwnerRuleMock.Create <CancelGame>();

            var validator = new CancelGameValidator(baseMock.Object, gameOwnerRuleMock.Object, gameRepoMock.Object);

            var request = new CancelGame
            {
                GameId = 1,
                UserId = 1
            };

            var result = await validator.Validate(request);

            Assert.False(result.IsSuccessful);
            Assert.Equal(ValidatorErrors.Games.GameNotFoundOrInactive, result.Error);
        }