public async Task ReturnFailureForInactiveRound() { var baseMock = BaseGameRequestsValidatorMock.CreateMock(); var gameRoundRepoMock = GameRoundsRepositoryMock.Create( isRoundActive: false); 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); }
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)); }