예제 #1
0
        public async Task <bool> UpdateGameRoundStatus(int gameRoundId, GameRoundStatusEnum status)
        {
            var query = from r in context.GameRounds
                        where r.GameRoundId == gameRoundId
                        select r;

            var round = await query.FirstOrDefaultAsync();

            if (round == null)
            {
                return(false);
            }

            round.Status = (byte)status;

            return(await context.SaveChangesAsync() > 0);
        }
예제 #2
0
        public async Task ReturnFailureForInvalidGameStatus(GameRoundStatusEnum gameRoundStatus)
        {
            var baseMock          = BaseGameRequestsValidatorMock.CreateMock();
            var gameRoundRepoMock = GameRoundsRepositoryMock.Create(
                status: gameRoundStatus);
            var gameOwnerRuleMock = GameOrRoundOwnerRuleMock.Create <SkipRound>();

            var validator = new SkipRoundValidator(baseMock.Object, gameRoundRepoMock.Object, gameOwnerRuleMock.Object);

            var request = new SkipRound
            {
                GameId      = 1,
                UserId      = 1,
                GameRoundId = 1
            };

            var result = await validator.Validate(request);

            Assert.NotNull(result);
            Assert.False(result.IsSuccessful);
            Assert.Equal(ValidatorErrors.Games.InvalidGameRoundStatus, result.Error);
        }
예제 #3
0
        public async Task ReturnSuccessForValidData(GameRoundStatusEnum gameRoundStatus)
        {
            var baseMock          = BaseGameRequestsValidatorMock.CreateMock();
            var gameRoundRepoMock = GameRoundsRepositoryMock.Create(
                status: gameRoundStatus);
            var gameOwnerRuleMock = GameOrRoundOwnerRuleMock.Create <SkipRound>();

            var validator = new SkipRoundValidator(baseMock.Object, gameRoundRepoMock.Object, gameOwnerRuleMock.Object);

            var request = new SkipRound
            {
                GameId      = 1,
                UserId      = 1,
                GameRoundId = 1
            };

            var result = await validator.Validate(request);

            Assert.True(result.IsSuccessful);
            baseMock.Verify(x => x.Validate(request));
            gameOwnerRuleMock.Verify(x => x.Validate(request));
        }