public async Task Setup() { context = await TestDatabase.GetDatabaseContext(); mockGamesRepository = new MockGamesRepository(context); mockAppsRepository = new MockAppsRepository(context); mockUsersRepository = new MockUsersRepository(context); mockDifficultiesRepositorySuccessful = new MockDifficultiesRepository(context); mockDifficultiesRepositoryFailed = new MockDifficultiesRepository(context); mockSolutionsRepository = new MockSolutionsRepository(context); sut = new GamesService( mockGamesRepository.GamesRepositorySuccessfulRequest.Object, mockAppsRepository.AppsRepositorySuccessfulRequest.Object, mockUsersRepository.UsersRepositorySuccessfulRequest.Object, mockDifficultiesRepositorySuccessful.DifficultiesRepositorySuccessfulRequest.Object, mockSolutionsRepository.SolutionsRepositorySuccessfulRequest.Object); sutFailure = new GamesService( mockGamesRepository.GamesRepositoryFailedRequest.Object, mockAppsRepository.AppsRepositorySuccessfulRequest.Object, mockUsersRepository.UsersRepositorySuccessfulRequest.Object, mockDifficultiesRepositorySuccessful.DifficultiesRepositorySuccessfulRequest.Object, mockSolutionsRepository.SolutionsRepositorySuccessfulRequest.Object); sutAnonFailure = new GamesService( mockGamesRepository.GamesRepositorySuccessfulRequest.Object, mockAppsRepository.AppsRepositorySuccessfulRequest.Object, mockUsersRepository.UsersRepositorySuccessfulRequest.Object, mockDifficultiesRepositoryFailed.DifficultiesRepositoryFailedRequest.Object, mockSolutionsRepository.SolutionsRepositorySuccessfulRequest.Object); sutUpdateFailure = new GamesService( mockGamesRepository.GamesRepositoryUpdateFailedRequest.Object, mockAppsRepository.AppsRepositorySuccessfulRequest.Object, mockUsersRepository.UsersRepositorySuccessfulRequest.Object, mockDifficultiesRepositorySuccessful.DifficultiesRepositorySuccessfulRequest.Object, mockSolutionsRepository.SolutionsRepositorySuccessfulRequest.Object); getGamesRequest = TestObjects.GetGamesRequest(); }
public MockGamesService(DatabaseContext context) { MockGamesRepository = new MockGamesRepository(context); GamesServiceSuccessfulRequest = new Mock <IGamesService>(); GamesServiceFailedRequest = new Mock <IGamesService>(); GamesServiceUpdateFailedRequest = new Mock <IGamesService>(); GamesServiceSuccessfulRequest.Setup(gamesService => gamesService.CreateGame(It.IsAny <CreateGameRequest>())) .Returns(Task.FromResult(new GameResult() { Success = MockGamesRepository .GamesRepositorySuccessfulRequest .Object .Add(It.IsAny <Game>()) .Result .Success, Message = GamesMessages.GameCreatedMessage, Game = (Game)MockGamesRepository .GamesRepositorySuccessfulRequest .Object .Add(It.IsAny <Game>()) .Result .Object } as IGameResult)); GamesServiceSuccessfulRequest.Setup(gamesService => gamesService.UpdateGame(It.IsAny <int>(), It.IsAny <UpdateGameRequest>())) .Returns(Task.FromResult(new GameResult() { Success = MockGamesRepository .GamesRepositorySuccessfulRequest .Object .Update(It.IsAny <Game>()) .Result .Success, Message = GamesMessages.GameUpdatedMessage, Game = (Game)MockGamesRepository .GamesRepositorySuccessfulRequest .Object .Update(It.IsAny <Game>()) .Result .Object } as IGameResult)); GamesServiceSuccessfulRequest.Setup(gamesService => gamesService.DeleteGame(It.IsAny <int>())) .Returns(Task.FromResult(new BaseResult() { Success = MockGamesRepository .GamesRepositorySuccessfulRequest .Object .Delete(It.IsAny <Game>()) .Result .Success, Message = GamesMessages.GameDeletedMessage } as IBaseResult)); GamesServiceSuccessfulRequest.Setup(gamesService => gamesService.GetGame(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>())) .Returns(Task.FromResult(new GameResult() { Success = MockGamesRepository .GamesRepositorySuccessfulRequest .Object .GetById(It.IsAny <int>(), It.IsAny <bool>()) .Result .Success, Message = GamesMessages.GameFoundMessage, Game = (Game)MockGamesRepository .GamesRepositorySuccessfulRequest .Object .GetById(It.IsAny <int>(), It.IsAny <bool>()) .Result .Object, } as IGameResult)); GamesServiceSuccessfulRequest.Setup(gamesService => gamesService.GetGames(It.IsAny <GamesRequest>(), It.IsAny <bool>())) .Returns(Task.FromResult(new GamesResult() { Success = MockGamesRepository .GamesRepositorySuccessfulRequest .Object .GetAll(It.IsAny <bool>()) .Result .Success, Message = GamesMessages.GamesFoundMessage, Games = MockGamesRepository .GamesRepositorySuccessfulRequest .Object .GetAll(It.IsAny <bool>()) .Result .Objects .ConvertAll(g => (IGame)g) } as IGamesResult)); GamesServiceSuccessfulRequest.Setup(gamesService => gamesService.GetMyGame(It.IsAny <int>(), It.IsAny <GamesRequest>(), It.IsAny <bool>())) .Returns(Task.FromResult(new GameResult() { Success = MockGamesRepository .GamesRepositorySuccessfulRequest .Object .GetMyGame(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>()) .Result .Success, Message = GamesMessages.GameFoundMessage, Game = (Game)MockGamesRepository .GamesRepositorySuccessfulRequest .Object .GetMyGame(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>()) .Result .Object } as IGameResult)); GamesServiceSuccessfulRequest.Setup(gamesService => gamesService.GetMyGames(It.IsAny <GamesRequest>(), It.IsAny <bool>())) .Returns(Task.FromResult(new GamesResult() { Success = MockGamesRepository .GamesRepositorySuccessfulRequest .Object .GetMyGames(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>()) .Result .Success, Message = GamesMessages.GamesFoundMessage, Games = MockGamesRepository .GamesRepositorySuccessfulRequest .Object .GetMyGames(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>()) .Result .Objects .ConvertAll(g => (IGame)g) } as IGamesResult)); GamesServiceSuccessfulRequest.Setup(gamesService => gamesService.DeleteMyGame(It.IsAny <int>(), It.IsAny <GamesRequest>())) .Returns(Task.FromResult(new BaseResult() { Success = MockGamesRepository .GamesRepositorySuccessfulRequest .Object .DeleteMyGame(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>()) .Result .Success, Message = GamesMessages.GameDeletedMessage } as IBaseResult)); GamesServiceSuccessfulRequest.Setup(gamesService => gamesService.CheckGame(It.IsAny <int>(), It.IsAny <UpdateGameRequest>())) .Returns(Task.FromResult(new GameResult() { Success = MockGamesRepository .GamesRepositorySuccessfulRequest .Object .Update(It.IsAny <Game>()) .Result .Success, Message = GamesMessages.GameSolvedMessage, Game = (Game)MockGamesRepository .GamesRepositorySuccessfulRequest .Object .Update(It.IsAny <Game>()) .Result .Object } as IGameResult)); GamesServiceSuccessfulRequest.Setup(gamesService => gamesService.CreateAnnonymousGame(It.IsAny <DifficultyLevel>())) .Returns(Task.FromResult(new AnnonymousGameResult() { Success = true, Message = GamesMessages.GameCreatedMessage, SudokuMatrix = new List <List <int> >(), } as IAnnonymousGameResult)); GamesServiceSuccessfulRequest.Setup(gamesService => gamesService.CheckAnnonymousGame(It.IsAny <List <int> >())) .Returns(Task.FromResult(new BaseResult() { Success = true, Message = GamesMessages.GameSolvedMessage } as IBaseResult)); GamesServiceFailedRequest.Setup(gamesService => gamesService.CreateGame(It.IsAny <CreateGameRequest>())) .Returns(Task.FromResult(new GameResult() { Success = MockGamesRepository .GamesRepositoryFailedRequest .Object .Add(It.IsAny <Game>()) .Result .Success, Message = GamesMessages.GameNotCreatedMessage, Game = (Game)MockGamesRepository .GamesRepositoryFailedRequest .Object .Add(It.IsAny <Game>()) .Result .Object, } as IGameResult)); GamesServiceFailedRequest.Setup(gamesService => gamesService.UpdateGame(It.IsAny <int>(), It.IsAny <UpdateGameRequest>())) .Returns(Task.FromResult(new GameResult() { Success = MockGamesRepository .GamesRepositoryFailedRequest .Object .Update(It.IsAny <Game>()) .Result .Success, Message = GamesMessages.GameNotUpdatedMessage, Game = (Game)MockGamesRepository .GamesRepositoryFailedRequest .Object .Update(It.IsAny <Game>()) .Result .Object } as IGameResult)); GamesServiceFailedRequest.Setup(gamesService => gamesService.DeleteGame(It.IsAny <int>())) .Returns(Task.FromResult(new BaseResult() { Success = MockGamesRepository .GamesRepositoryFailedRequest .Object .Delete(It.IsAny <Game>()) .Result .Success, Message = GamesMessages.GameNotDeletedMessage } as IBaseResult)); GamesServiceFailedRequest.Setup(gamesService => gamesService.GetGame(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>())) .Returns(Task.FromResult(new GameResult() { Success = MockGamesRepository .GamesRepositoryFailedRequest .Object .GetAppGame(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>()) .Result .Success, Message = GamesMessages.GameNotFoundMessage, Game = (Game)MockGamesRepository .GamesRepositoryFailedRequest .Object .GetAppGame(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>()) .Result .Object, } as IGameResult)); GamesServiceFailedRequest.Setup(gamesService => gamesService.GetGames(It.IsAny <GamesRequest>(), It.IsAny <bool>())) .Returns(Task.FromResult(new GamesResult() { Success = MockGamesRepository .GamesRepositoryFailedRequest .Object .GetAppGames(It.IsAny <int>(), It.IsAny <bool>()) .Result .Success, Message = GamesMessages.GamesNotFoundMessage, Games = null } as IGamesResult)); GamesServiceFailedRequest.Setup(gamesService => gamesService.GetMyGame(It.IsAny <int>(), It.IsAny <GamesRequest>(), It.IsAny <bool>())) .Returns(Task.FromResult(new GameResult() { Success = MockGamesRepository .GamesRepositoryFailedRequest .Object .GetMyGame(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>()) .Result .Success, Message = GamesMessages.GameNotFoundMessage, Game = (Game)MockGamesRepository .GamesRepositoryFailedRequest .Object .GetMyGame(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>()) .Result .Object } as IGameResult)); GamesServiceFailedRequest.Setup(gamesService => gamesService.GetMyGames(It.IsAny <GamesRequest>(), It.IsAny <bool>())) .Returns(Task.FromResult(new GamesResult() { Success = MockGamesRepository .GamesRepositoryFailedRequest .Object .GetMyGame(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>()) .Result .Success, Message = GamesMessages.GamesNotFoundMessage, Games = null } as IGamesResult)); GamesServiceFailedRequest.Setup(gamesService => gamesService.DeleteMyGame(It.IsAny <int>(), It.IsAny <GamesRequest>())) .Returns(Task.FromResult(new BaseResult() { Success = MockGamesRepository .GamesRepositoryFailedRequest .Object .DeleteMyGame(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>()) .Result .Success, Message = GamesMessages.GameNotDeletedMessage } as IBaseResult)); GamesServiceFailedRequest.Setup(gamesService => gamesService.CheckGame(It.IsAny <int>(), It.IsAny <UpdateGameRequest>())) .Returns(Task.FromResult(new GameResult() { Success = MockGamesRepository .GamesRepositoryFailedRequest .Object .Update(It.IsAny <Game>()) .Result .Success, Message = GamesMessages.GameNotUpdatedMessage, Game = (Game)MockGamesRepository .GamesRepositoryFailedRequest .Object .Update(It.IsAny <Game>()) .Result .Object } as IGameResult)); GamesServiceFailedRequest.Setup(gamesService => gamesService.CreateAnnonymousGame(It.IsAny <DifficultyLevel>())) .Returns(Task.FromResult(new AnnonymousGameResult() { Success = false, Message = GamesMessages.GameNotCreatedMessage, SudokuMatrix = null, } as IAnnonymousGameResult)); GamesServiceFailedRequest.Setup(gamesService => gamesService.CheckAnnonymousGame(It.IsAny <List <int> >())) .Returns(Task.FromResult(new BaseResult() { Success = false, Message = GamesMessages.GameNotSolvedMessage } as IBaseResult)); }