public void TestSetComplete() { // Arrange const string cardNumber = "132123"; const decimal amount = 65354; const decimal fee = 3434; var operationId = Guid.NewGuid(); var operationDate = new DateTime(2018, 05, 17, 13, 05, 57); var completionDate = new DateTime(2018, 05, 17, 13, 05, 59); var atmOperation = new AtmOperation( cardNumber, operationId, amount, fee, operationDate); // Act atmOperation.SetComplete(completionDate); // Assert Assert.True(atmOperation.OperationCompleted); Assert.Equal(completionDate, atmOperation.OperationDate); Assert.Equal(cardNumber, atmOperation.CardNumber); Assert.Equal(amount, atmOperation.Amount); Assert.Equal(fee, atmOperation.Fee); Assert.Equal(operationId, atmOperation.OperationId); }
public void TestWithdrawFromBlocked() { // Arrange const string cardNumber = "5372100906627713"; const int amount = 100; const decimal fee = 1M; var operationDate = new DateTime(2018, 09, 12); var operationId = Guid.NewGuid(); var operation = new AtmOperation(cardNumber, operationId, amount, fee, operationDate); _historyManager.GetOperation(cardNumber, operationId).Returns(operation); var initialBalance = _hostProcessorServiceMock.GetCardBalance(cardNumber); var expectedBalance = initialBalance - amount - fee; _hostProcessorServiceMock.BlockAmount(cardNumber, amount); // Act _hostProcessorServiceMock.WithdrawFromBlocked(cardNumber, operationId); // Assert Received.InOrder(() => { _historyManager.GetOperation(Arg.Is(cardNumber), Arg.Is(operationId)); _historyManager.CompleteOperation(Arg.Is(cardNumber), Arg.Is(operationId)); }); var resultBalance = _hostProcessorServiceMock.GetCardBalance(cardNumber); Assert.Equal(expectedBalance, resultBalance); }