public void ValidateNoErrorsFalseTest() { Account userAccount = new Account("098960505", 150); AccountTransactionValidator accountTransactionValidator = new AccountTransactionValidator(userAccount, 300); Assert.IsTrue(accountTransactionValidator.Validate().HasErrors()); }
public void AccountHasBalanceForTransactionFalseTest() { Account userAccount = new Account("098960505", 150); AccountTransactionValidator accountTransactionValidator = new AccountTransactionValidator(userAccount, 250); Assert.IsFalse(accountTransactionValidator.AccountHasBalanceForTransaction()); }
public void Should_Fail_For_NotFound_AccountNumber() { // do some setup for constructor DI: var dataStoreMock = new Mock <IDataStore>(); const string accountNumber = "100"; dataStoreMock.Setup(ds => ds.AccountNumberExists(accountNumber)).Returns(false); var atv = new AccountTransactionValidator(dataStoreMock.Object); var accountTransaction = new AccountTransaction { AccountNumber = accountNumber }; atv.ShouldHaveValidationErrorFor(a => a.AccountNumber, accountTransaction); }
public Notification AddPurchase(Purchase purchase, int costPerMinute) { Notification notification; int costOfMinutesUsed = purchase.CalculateCostForMinutesUsed(costPerMinute); AccountTransactionValidator accountTransactionValidator = new AccountTransactionValidator(purchase.Account, costOfMinutesUsed); notification = accountTransactionValidator.Validate(); if (!notification.HasErrors()) { ParkingContext.Purchases.Add(purchase); purchase.PurchaseCost = costOfMinutesUsed; purchase.SubstractMoneyFromAccount(purchase.PurchaseCost); notification.AddSuccess("Compra efectuada con éxito"); } return(notification); }
public AccountTransactionValidatorTests() { // use dummy for default Validator constructor parameter: Validator = new AccountTransactionValidator(new Mock <IDataStore>().Object); }
/// <summary> /// Class constructor. /// </summary> public AccountTransactionsHandler() { _accountValidator = new AccountValidator(); _accountTransactionValidator = new AccountTransactionValidator(); }