public void Balance_ShouldAskAccountOperationServiceForBalance_UsingProperAccountNumber() { // arrange var accountOperationsService = Substitute.For<IAccountOperationsService>(); var controller = new OperationsController(accountOperationsService); MockUserIdentityForController(controller); // act controller.Balance(); // assert accountOperationsService.Received().GetBalanceForAccount(AccountNumber); }
public void Balance_ShouldReturnProperBalanceStampAsModel_FromAccountOperationService() { // arrange var accountOperationsService = Substitute.For<IAccountOperationsService>(); AccountBalanceStamp balanceStamp = new AccountBalanceStamp { CardNumber = AccountNumber, MoneyAmount = 300, Timestamp = DateTime.MaxValue, }; accountOperationsService.GetBalanceForAccount(Arg.Any<string>()).Returns(balanceStamp); var controller = new OperationsController(accountOperationsService); MockUserIdentityForController(controller); // act var actionResult = controller.Balance(); // assert accountOperationsService.Received().GetBalanceForAccount(AccountNumber); ((ViewResultBase)(actionResult)).Model.ShouldBeEquivalentTo(balanceStamp); }