public void Then_if_the_quote_has_an_error_the_error_is_displayed() { _quote.SetErrorMessage("something wrong"); Execute(); _result[0].ShouldEqual("something wrong"); _result.Count.ShouldEqual(1); }
public override void HandleRequest(QuoteModel quote) { if (!_fileReader.DoesFileExist(quote.InputModel.FileName)) { quote.SetErrorMessage(FILE_DOES_NOT_EXIST); return; } TextReader reader = TextReader.Null; try { reader = _fileReader.GetTextReader(quote.InputModel.FileName); quote.SetLoanProviders(_fileReader.ReadLoanProviders(reader)); if (quote.LoanProviders.Count == 0) { quote.SetErrorMessage(WRONG_FORMAT_OR_EMPTY); return; } } catch (Exception e) { quote.SetErrorMessage($"{EXCEPTION_HAPPENED} {e.Message}"); } finally { if (reader != null) { reader.Close(); reader.Dispose(); } } if (quote.ValidationResult.IsValid) { successor.HandleRequest(quote); } }
public override void HandleRequest(QuoteModel quote) { if (quote.Args.Length != 2) { quote.SetErrorMessage(INVALID_PARAMETERS); return; } SetFileName(quote); if (string.IsNullOrEmpty(quote.InputModel.FileName)) { quote.SetErrorMessage(INVALID_CSV); return; } SetAmount(quote); if (quote.InputModel.LoanAmount == 0) { quote.SetErrorMessage(INVALID_LOAN_AMOUNT); return; } successor.HandleRequest(quote); }
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); }