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); }
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); }
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); }
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); }
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); }
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); }
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); }
public static Mock <IPlayerRepository> Get() { var players = PlayersList.Get(); var mock = new Mock <IPlayerRepository>(); mock.Setup(repo => repo.GetPlayer(players[0].Id)).ReturnsAsync(players[0]); mock.Setup(repo => repo.GetPlayer(players[0].Email)).ReturnsAsync(players[0]); mock.Setup(repo => repo.GetPlayer(players[1].Id)).ReturnsAsync(players[1]); mock.Setup(repo => repo.GetPlayer(players[1].Email)).ReturnsAsync(players[1]); mock.Setup(repo => repo.CreatePlayer(It.IsAny <Player>())).Returns <Player>(x => Task.FromResult(x)); mock.Setup(repo => repo.UpdatePlayer(It.IsAny <Player>())).Returns <Player>(x => Task.FromResult(x)); mock.Setup(repo => repo.AddTransaction(It.IsAny <Transaction>())).Returns <Transaction>(x => Task.FromResult(x)); return(mock); }