public void Withdraw_Overdraft() { var options = new DbContextOptionsBuilder <BankContext>() .UseInMemoryDatabase(databaseName: "NegativeAmount") .Options; using (var context = new BankContext(options)) { var account = new Account { AccountId = 2, Frequency = "Daily", Balance = 500 }; context.Accounts.Add(account); context.SaveChanges(); } using (var context = new BankContext(options)) { var command = new WithdrawCommand { AccountId = 2, Amount = 1000 }; var handler = new WithdrawHandler(context); Assert.ThrowsAsync <InsufficientFundsException>(() => handler.Handler(command)); } }
public void Deposit_NegativeAmount() { var options = new DbContextOptionsBuilder <BankContext>() .UseInMemoryDatabase(databaseName: "NegativeAmount") .Options; using (var context = new BankContext(options)) { var account = new Account { AccountId = 3, Frequency = "Daily" }; context.Accounts.Add(account); context.SaveChanges(); } using (var context = new BankContext(options)) { var command = new WithdrawCommand() { AccountId = 3, Amount = -50 }; var handler = new WithdrawHandler(context); Assert.ThrowsAsync <NegativeAmountException>(() => handler.Handler(command)); } }
public void Withdraw_NegativeAmount() { var options = new DbContextOptionsBuilder <BankContext>() .UseInMemoryDatabase(databaseName: "NegativeAmount") .Options; using (var context = new BankContext(options)) { var command = new WithdrawCommand() { AccountId = 1, Amount = -50 }; var handler = new WithdrawHandler(context); Assert.ThrowsAsync <NegativeAmountException>(() => handler.Handler(command)); } }