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