Пример #1
0
        public void SendCheckoutMessageOnSuccessfulCheckout()
        {
            Mock.Arrange(() => (_inventoryService.RemainingInventory(_testItemSku))).Returns(1).OccursOnce();
            Mock.Arrange(() => _paymentProvider.ChargeCard(_testPrice, _testEmailAddress)).DoNothing().MustBeCalled();
            Mock.Arrange(() => _sendEmailService.SendCheckoutMessage(_testEmailAddress, _cart)).MustBeCalled();

            AddTestItemAndCheckoutWithTestEmailAddress();

            Mock.Assert(_sendEmailService);
        }
Пример #2
0
 public void Checkout(string email)
 {
     // check inventory
     foreach (string sku in _items)
     {
         int remainingItems = _inventoryService.RemainingInventory(sku);
         if (remainingItems <= 0)
         {
             throw new ApplicationException("Insufficient inventory");
         }
     }
     _paymentProvider.ChargeCard(1.23m, email);
     _sendEmailService.SendCheckoutMessage(email, this);
 }