Ejemplo n.º 1
0
        public async Task ReturnGameSuccessfully()
        {
            var login           = new LoginBuilder().Build();
            var loginRepository = new LoginRepositoryBuilder().Build();
            var gameService     = new GameServiceBuilder(loginRepository).Build();
            var friendService   = new FriendServiceBuilder(loginRepository).Build();

            await loginRepository.Add(login);

            await gameService.Add(_gameDto, login.Id);

            await friendService.Add(_friendDto, login.Id);

            var insertedGame   = login.Games.Single();
            var insertedFriend = login.Friends.Single();

            var gameLoanDto = new GameLoanDto(insertedGame.Id, insertedFriend.Id);
            await gameService.Lend(gameLoanDto, login.Id);

            var gameReturnDto = new GameReturnDto(insertedGame.Id);
            var result        = await gameService.Return(gameReturnDto, login.Id);

            Assert.True(result.Success);
            Assert.Null(insertedGame.FriendId);
        }
Ejemplo n.º 2
0
        public async Task LoginThatNotExists()
        {
            var loginRepository = new LoginRepositoryBuilder().Build();
            var loginService    = new LoginServiceBuilder(loginRepository).Build();

            var result = await loginService.Authenticate(_loginDto);

            Assert.False(result.Success);
        }
Ejemplo n.º 3
0
        public async Task AddLoginSuccessfully()
        {
            var loginRepository = new LoginRepositoryBuilder().Build();
            var loginService    = new LoginServiceBuilder(loginRepository).Build();

            var result = await loginService.Add(_loginDto);

            Assert.True(result.Success);
        }
Ejemplo n.º 4
0
        public async Task DontAddLoginWithDuplicateEmail()
        {
            var loginRepository = new LoginRepositoryBuilder().Build();
            var loginService    = new LoginServiceBuilder(loginRepository).Build();
            await loginService.Add(_loginDto);

            // Try to insert with same login
            var result = await loginService.Add(_loginDto);

            Assert.False(result.Success);
        }
Ejemplo n.º 5
0
        public async Task LoginWithInvalidPassword()
        {
            var loginRepository = new LoginRepositoryBuilder().Build();
            var loginService    = new LoginServiceBuilder(loginRepository).Build();
            await loginService.Add(_loginDto);

            var loginWithWrongPassword = new LoginDto(_loginDto.Email, "invalidPassword");
            var result = await loginService.Authenticate(loginWithWrongPassword);

            Assert.False(result.Success);
        }
Ejemplo n.º 6
0
        public async Task UpdateGameThatNotExists()
        {
            var login           = new LoginBuilder().Build();
            var loginRepository = new LoginRepositoryBuilder().Build();

            await loginRepository.Add(login);

            var gameService = new GameServiceBuilder(loginRepository).Build();
            var result      = await gameService.Update(_gameDto, login.Id);

            Assert.False(result.Success);
        }
Ejemplo n.º 7
0
        public async Task AddFriendSuccessfully()
        {
            var login           = new LoginBuilder().Build();
            var loginRepository = new LoginRepositoryBuilder().Build();

            await loginRepository.Add(login);

            var friendService = new FriendServiceBuilder(loginRepository).Build();
            var result        = await friendService.Add(_friendDto, login.Id);

            Assert.True(result.Success);
        }
Ejemplo n.º 8
0
        public async Task UpdateFriendThatNotExists()
        {
            var login           = new LoginBuilder().Build();
            var loginRepository = new LoginRepositoryBuilder().Build();

            await loginRepository.Add(login);

            var friendService = new FriendServiceBuilder(loginRepository).Build();
            var result        = await friendService.Update(_friendDto, login.Id);

            Assert.False(result.Success);
        }
Ejemplo n.º 9
0
        public async Task AddGameSuccessfully()
        {
            var login           = new LoginBuilder().Build();
            var loginRepository = new LoginRepositoryBuilder().Build();

            await loginRepository.Add(login);

            var gameService = new GameServiceBuilder(loginRepository).Build();
            var result      = await gameService.Add(_gameDto, login.Id);

            Assert.True(result.Success);
        }
Ejemplo n.º 10
0
        public async Task AddGameThatLoginDoesNotExists()
        {
            var login           = new LoginBuilder().Build();
            var loginRepository = new LoginRepositoryBuilder().Build();

            await loginRepository.Add(login);

            var gameService = new GameServiceBuilder(loginRepository).Build();
            var result      = await gameService.Add(_gameDto, 1000);

            Assert.False(result.Success);
        }
Ejemplo n.º 11
0
        public async Task AuthenticateLoginSuccessfully()
        {
            var loginRepository = new LoginRepositoryBuilder().Build();
            var loginService    = new LoginServiceBuilder(loginRepository).Build();
            await loginService.Add(_loginDto);

            var result = await loginService.Authenticate(_loginDto);

            System.Console.WriteLine("Success: {0}", result.Success);

            Assert.True(result.Success);
        }
Ejemplo n.º 12
0
        public async Task AddFriendThatLoginDoesNotExists()
        {
            var login           = new LoginBuilder().Build();
            var loginRepository = new LoginRepositoryBuilder().Build();

            await loginRepository.Add(login);

            var friendService = new FriendServiceBuilder(loginRepository).Build();
            var result        = await friendService.Add(_friendDto, 1000);

            Assert.False(result.Success);
        }
Ejemplo n.º 13
0
        public async Task UpdateGameSuccessfully()
        {
            var login           = new LoginBuilder().Build();
            var loginRepository = new LoginRepositoryBuilder().Build();
            var gameService     = new GameServiceBuilder(loginRepository).Build();

            await loginRepository.Add(login);

            var result = await gameService.Add(_gameDto, login.Id);

            Assert.True(result.Success);

            var insertedGame = login.Games.Single();

            Assert.Equal(insertedGame.Name, _gameDto.Name);
        }
Ejemplo n.º 14
0
        public async Task DeleteGameSuccessfully()
        {
            const int expectedCount   = 0;
            var       login           = new LoginBuilder().Build();
            var       loginRepository = new LoginRepositoryBuilder().Build();
            var       gameService     = new GameServiceBuilder(loginRepository).Build();

            await loginRepository.Add(login);

            await gameService.Add(_gameDto, login.Id);

            var insertedGame = login.Games.Single();
            var result       = await gameService.Delete(insertedGame.Id, login.Id);

            Assert.True(result.Success);
            Assert.Equal(login.Games.Count, expectedCount);
        }
Ejemplo n.º 15
0
        public async Task UpdateFriendSuccessfully()
        {
            var login           = new LoginBuilder().Build();
            var loginRepository = new LoginRepositoryBuilder().Build();
            var friendService   = new FriendServiceBuilder(loginRepository).Build();

            await loginRepository.Add(login);

            var result = await friendService.Add(_friendDto, login.Id);

            Assert.True(result.Success);

            var insertedFriend = login.Friends.Single();

            Assert.Equal(insertedFriend.Name, _friendDto.Name);
            Assert.Equal(insertedFriend.PhoneNumber, _friendDto.PhoneNumber);
        }
Ejemplo n.º 16
0
        public async Task DeleteFriendSuccessfully()
        {
            const int expectedCount   = 0;
            var       login           = new LoginBuilder().Build();
            var       loginRepository = new LoginRepositoryBuilder().Build();
            var       friendService   = new FriendServiceBuilder(loginRepository).Build();

            await loginRepository.Add(login);

            await friendService.Add(_friendDto, login.Id);

            var insertedFriend = login.Friends.Single();
            var result         = await friendService.Delete(insertedFriend.Id, login.Id);

            Assert.True(result.Success);
            Assert.Equal(login.Friends.Count, expectedCount);
        }
Ejemplo n.º 17
0
        public async Task DontReturnGameThatIsNotLent()
        {
            var login           = new LoginBuilder().Build();
            var loginRepository = new LoginRepositoryBuilder().Build();
            var gameService     = new GameServiceBuilder(loginRepository).Build();
            var friendService   = new FriendServiceBuilder(loginRepository).Build();

            await loginRepository.Add(login);

            await gameService.Add(_gameDto, login.Id);

            await friendService.Add(_friendDto, login.Id);

            var insertedGame = login.Games.Single();

            var gameReturnDto = new GameReturnDto(insertedGame.Id);
            var result        = await gameService.Return(gameReturnDto, login.Id);

            Assert.False(result.Success);
            Assert.Null(insertedGame.FriendId);
        }
Ejemplo n.º 18
0
        public async Task DontLendGameThatIsAlreadyLent()
        {
            var login           = new LoginBuilder().Build();
            var loginRepository = new LoginRepositoryBuilder().Build();
            var gameService     = new GameServiceBuilder(loginRepository).Build();
            var friendService   = new FriendServiceBuilder(loginRepository).Build();

            await loginRepository.Add(login);

            await gameService.Add(_gameDto, login.Id);

            await friendService.Add(_friendDto, login.Id);

            var insertedGame   = login.Games.Single();
            var insertedFriend = login.Friends.Single();

            var gameLoanDto = new GameLoanDto(insertedGame.Id, insertedFriend.Id);
            await gameService.Lend(gameLoanDto, login.Id);

            // Try to lend again
            var result = await gameService.Lend(gameLoanDto, login.Id);

            Assert.False(result.Success);
        }