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); }
/// <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)); }