예제 #1
0
            public void WhenAccountDoesNotHaveEnoughFunds_ShouldInvalidOperationException()
            {
                Given.ValidAccountExistsInDatabase(FromAccount);
                And.UserIsAuthorisedToWithdraw(FromAccount, User);
                And.AccountDoesNotHaveEnoughFundsForWithdrawal(FromAccount, WithdrawalAmount);

                Func <Task> whenIWithdraw = async() =>
                {
                    await SUT.Withdraw(WithdrawalAmount, FromAccount, User);
                };

                whenIWithdraw
                .Then()
                .Throw <InvalidOperationException>("because account's balance is less then the withdrawal amount")
                .WithMessage($"Not enough money on account '{FromAccount}'");
            }