示例#1
0
        public void The_correct_quote_is_returned()
        {
            _quote.SetMinimumAvailableRate(0.07);
            _quote.InputModel.SetLoanAmount(1000);

            Execute();

            _quote.Quote.Rate.ShouldEqual(_quote.MinimumLendingRateAvailable);
            _quote.Quote.RequestedAmount.ShouldEqual(_quote.InputModel.LoanAmount);
            Math.Round(_quote.Quote.MonthlyRepayment, 2).ShouldEqual(34.25);
            Math.Round(_quote.Quote.TotalRepayment, 2).ShouldEqual(1232.93);
        }
示例#2
0
        public override void HandleRequest(QuoteModel quote)
        {
            quote.SetMinimumAvailableRate(quote.LoanProviders
                                          .Where(r => r.Available >= quote.InputModel.LoanAmount)
                                          .OrderBy(r => r.Rate)
                                          .Select(r => r.Rate)
                                          .FirstOrDefault());

            if (quote.MinimumLendingRateAvailable == 0)
            {
                quote.SetErrorMessage(NO_RATE_AVAILABLE);
                return;
            }

            successor.HandleRequest(quote);
        }