public void AddCreditsToAccount_AddCredits_Success() { BarcodeSystem barcodeSystem = Substitute.For <BarcodeSystem>(log); User user = Substitute.For <User>(userArgs); InsertCashTransaction insertTransaction = barcodeSystem.AddCreditsToAccount(user, 100m); Assert.That(insertTransaction.Succeeded, Is.True); Assert.That(user.Balance, Is.EqualTo(100m)); }
public void ExecuteTransaction_AddsTransactionToListIfSuccessful_True() { BarcodeSystem barcodeSystem = Substitute.For <BarcodeSystem>(log); User user = Substitute.For <User>(userArgs); Product product = Substitute.For <Product>(productArgs); user.Balance = 100m; BuyTransaction successfulTransaction = barcodeSystem.BuyProduct(user, product); Assert.That(barcodeSystem.Transactions.Contains(successfulTransaction), Is.True); }
public void BuyProduct_PurchaseWithEnoughCredit_Succeeds() { BarcodeSystem barcodeSystem = Substitute.For <BarcodeSystem>(log); User user = Substitute.For <User>(userArgs); Product product = Substitute.For <Product>(productArgs); user.Balance = 100m; BuyTransaction buyTransaction = barcodeSystem.BuyProduct(user, product); Assert.That(buyTransaction.Succeeded, Is.True); }
public void GetProductById_ReturnsCorrectProduct_True() { BarcodeSystem barcodeSystem = Substitute.For <BarcodeSystem>(log); Product product = Substitute.For <Product>(productArgs); product.Active = true; barcodeSystem.Products = new List <Product>() { product }; Product foundProduct = barcodeSystem.GetProductById(product.Id); Assert.That(foundProduct, Is.EqualTo(product)); }
public void UndoTransaction_UndoTransaction_Success() { const decimal productPrice = 10; BarcodeSystem barcodeSystem = Substitute.For <BarcodeSystem>(log); User user = Substitute.For <User>(userArgs); Product product = Substitute.For <Product>("Milk", productPrice); user.Balance = productPrice; BuyTransaction transaction = barcodeSystem.BuyProduct(user, product); barcodeSystem.UndoTransaction(transaction); Assert.That(transaction.Undone, Is.True); Assert.That(user.Balance, Is.EqualTo(productPrice)); }