Esempio n. 1
0
        public async Task RegisterWallet_Should_ThrowPlayerNotFoundException()
        {
            // Arrange
            var service = new PlayerService(PlayerRepositoryMock.Get().Object);

            // Act & Assert
            var result = await Assert.ThrowsAsync <PlayerNotFoundException>(() => service.RegisterWallet(Guid.NewGuid()));

            // Assert
            Assert.Equal("Player not found.", result.Message);
        }
Esempio n. 2
0
        public async Task AddTransaction_Should_ThrowPlayerNotFoundException()
        {
            // Arrange
            var service = new PlayerService(PlayerRepositoryMock.Get().Object);

            // Act & Assert
            var result = await Assert.ThrowsAsync <PlayerNotFoundException>(() => service.AddTransaction(Guid.NewGuid(), TransactionType.Deposit, 10));

            // Assert
            Assert.Equal("Player not found.", result.Message);
        }
Esempio n. 3
0
        public async Task AddTransaction_Should_ThrowInvalidAmountException(decimal amount)
        {
            // Arrange
            var service = new PlayerService(PlayerRepositoryMock.Get().Object);

            // Act & Assert
            var result = await Assert.ThrowsAsync <InvalidAmountException>(() => service.AddTransaction(Guid.NewGuid(), TransactionType.Deposit, amount));

            // Assert
            Assert.Equal($"Invalid transaction amount: {amount}", result.Message);
        }
Esempio n. 4
0
        public async Task GetBalance_Should_ThrowWalletNotFoundException()
        {
            // Arrange
            var service = new PlayerService(PlayerRepositoryMock.Get().Object);
            var players = PlayersList.Get();

            // Act & Assert
            var result = await Assert.ThrowsAsync <WalletNotFound>(() => service.GetBalance(players[0].Id));

            // Assert
            Assert.Equal("Wallet not found.", result.Message);
        }
Esempio n. 5
0
        public async Task GetBalance_Should_GetBalance()
        {
            // Arrange
            var service = new PlayerService(PlayerRepositoryMock.Get().Object);
            var players = PlayersList.Get();

            // Act
            var result = await service.GetBalance(players[1].Id);

            // Assert
            Assert.Equal(players[1].Wallet.Balance, result);
        }
Esempio n. 6
0
        public async Task CreatePlayer_Should_ThrowPlayerAlreadyExistsException()
        {
            // Arrange
            var service = new PlayerService(PlayerRepositoryMock.Get().Object);
            var players = PlayersList.Get();

            // Act & Assert
            var result = await Assert.ThrowsAsync <PlayerAlreadyExistsException>(() => service.CreatePlayer(players[0].Name, players[0].Email));

            // Assert
            Assert.Equal("Player with this email is already registered.", result.Message);
        }
Esempio n. 7
0
        public async Task RegisterWallet_Should_AcceptTransaction()
        {
            // Arrange
            var service = new PlayerService(PlayerRepositoryMock.Get().Object);
            var players = PlayersList.Get();

            // Act
            var result = await service.AddTransaction(players[1].Id, TransactionType.Stake, 10);

            // Assert
            Assert.True(result);
        }
Esempio n. 8
0
        public async Task RegisterWallet_Should_WalletNotFoundException()
        {
            // Arrange
            var service = new PlayerService(PlayerRepositoryMock.Get().Object);
            var players = PlayersList.Get();

            // Act & Assert
            var result = await Assert.ThrowsAsync <WalletNotFound>(() => service.AddTransaction(players[0].Id, TransactionType.Deposit, 10));

            // Assert
            Assert.Equal("Wallet not found.", result.Message);
        }
Esempio n. 9
0
        public async Task CreatePlayer_Should_CreatePlayer()
        {
            // Arrange
            var service = new PlayerService(PlayerRepositoryMock.Get().Object);

            // Act
            var result = await service.CreatePlayer("Mark Markson", "*****@*****.**");

            // Assert
            Assert.Equal("Mark Markson", result.Name);
            Assert.Null(result.Wallet);
        }
Esempio n. 10
0
        public async Task RegisterWallet_Should_WalletAlreadyRegisteredException()
        {
            // Arrange
            var service = new PlayerService(PlayerRepositoryMock.Get().Object);
            var players = PlayersList.Get();

            // Act & Assert
            var result = await Assert.ThrowsAsync <WalletAlreadyRegisteredException>(() => service.RegisterWallet(players[1].Id));

            // Assert
            Assert.Equal("Wallet for this player is already registered.", result.Message);
        }
Esempio n. 11
0
        public async Task RegisterWallet_Should_RegisterWallet()
        {
            // Arrange
            var service = new PlayerService(PlayerRepositoryMock.Get().Object);
            var players = PlayersList.Get();

            // Act
            var result = await service.RegisterWallet(players[0].Id);

            // Assert
            Assert.NotNull(result.Wallet);
            Assert.Equal(0, result.Wallet.Balance);
        }
Esempio n. 12
0
        public static void Setup(TestContext context)
        {
            Mock <IPlayerRepository> _playerRepository = new PlayerRepositoryMock()._playerRepository;

            _playerService = new PlayerService(_playerRepository.Object);
        }