Beispiel #1
0
        public void TestBlockAmount()
        {
            //Arrange
            const int amount = 437;

            const string cardNumber  = "35434";
            var          operationId = Guid.NewGuid();

            var cardInfo = new CardInfo()
            {
                CardNumber = cardNumber,
                IsOperator = false
            };

            _hostProcessorService.RetrieveCardInfo(cardNumber).Returns(cardInfo);
            _cardProcessor.InsertCard(cardNumber);

            _hostProcessorService.BlockAmount(cardNumber, amount).Returns(operationId);

            //Act
            var result = _cardProcessor.BlockAmount(amount);

            //Assert
            _hostProcessorService.Received(1).BlockAmount(Arg.Is(cardNumber), Arg.Is(amount));

            Assert.Equal(operationId, result);
        }
Beispiel #2
0
 /// <summary>
 /// Blocks requested amount on the inserted card
 /// </summary>
 /// <param name="amount">Requested amount</param>
 /// <returns>Operation identifier</returns>
 public Guid BlockAmount(int amount)
 {
     if (!CardIsAccessible)
     {
         throw new CannotAccessCardException();
     }
     return(_hostProcessorService.BlockAmount(CardInformation.CardNumber, amount));
 }