Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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));
        }