public void Should_return_transactionresult_on_successfulldeposit() { // Arrange var accountSummary = new AccountSummaryEntity() { AccountNumber = 1253667, Balance = 55000, Currency = "INR" }; var accountTransaction = new AccountTransaction() { AccountNumber = 1253667, TransactionType = Types.TransactionType.Deposit, Amount = new Types.Money(1000, Types.Currency.INR) }; AccountTransactionRepositoryMock .Setup(i => i.Create(It.IsAny <AccountTransactionEntity>(), It.IsAny <AccountSummaryEntity>())) .Returns(Task.CompletedTask); AccountSummaryRepositoryMock .Setup(i => i.Read(It.IsAny <int>())) .ReturnsAsync(accountSummary); // Act var result = TransactionServiceUnderTest.Deposit(accountTransaction).Result; // Assert Assert.Equal(accountSummary.Balance, result.Balance.Amount); }
public void Should_throw_transactionexception__when_transactiondetails_are_invalid() { // Arrange var accountSummary = new AccountSummaryEntity() { AccountNumber = 1253667, Balance = 55000, Currency = "INR" }; var accountTransaction = new AccountTransaction() { AccountNumber = 1253667, TransactionType = Types.TransactionType.Withdrawal, Amount = new Types.Money(65000, Types.Currency.INR) }; AccountTransactionRepositoryMock .Setup(i => i.Create(It.IsAny <AccountTransactionEntity>(), It.IsAny <AccountSummaryEntity>())) .Returns(Task.CompletedTask); AccountSummaryRepositoryMock .Setup(i => i.Read(It.IsAny <int>())) .ReturnsAsync(accountSummary); // Act var result = TransactionServiceUnderTest.Withdraw(accountTransaction); // Assert Assert.ThrowsAsync <InsufficientBalanceException>(async() => await result); }
public void Should_throw_transactionexception_when_accountnumber_notexist() { // Arange int accountNumber = 29489324; AccountSummaryEntity accountSummary = null; AccountSummaryRepositoryMock .Setup(i => i.Read(It.IsAny <int>())) .ReturnsAsync(accountSummary); // Act var result = TransactionServiceUnderTest.Balance(accountNumber); // Assert Assert.ThrowsAsync <InvalidAccountNumberException>(async() => await result); }
public void Should_return_accountbalance_when_accountnumber_exist() { // Arange int accountNumber = 29489324; var accountSummary = new AccountSummaryEntity() { AccountNumber = accountNumber, Balance = 45000, Currency = "INR" }; AccountSummaryRepositoryMock .Setup(i => i.Read(It.IsAny <int>())) .ReturnsAsync(accountSummary); // Act var result = TransactionServiceUnderTest.Balance(accountNumber).Result; // Assert Assert.Equal(accountSummary.Balance, result.Balance.Amount); }