public void given_quote_domain_object_should_map_to_calculatequotedbmodel_correctly() { // setup var givenQuoteFormModel = new QuoteFormModel { AmountRequired = 5000, Term = 10, Title = "Mr", FirstName = "ShiChang", LastName = "Hou", Mobile = "0434386289", Email = "*****@*****.**" }; var quoteDomain = new QuoteForTest(givenQuoteFormModel, _mockQuoteSetting.Object); // act var result = quoteDomain.ToDbEntity(); // assert Assert.Equal(quoteDomain.AmountRequired, result.FinancialAmount); Assert.Equal("ShiChang Hou", result.Name); Assert.Equal(givenQuoteFormModel.Title, result.Title); Assert.Equal(givenQuoteFormModel.Mobile, result.Mobile); Assert.Equal(givenQuoteFormModel.Email, result.Email); Assert.Equal(200, result.Repayments); }
public void given_quoteformmodel_should_map_to_quote_domain_object_correctly() { // setup var givenQuoteFormModel = new QuoteFormModel { AmountRequired = 5000, Term = 10, Title = "Mr", FirstName = "ShiChang", LastName = "Hou", Mobile = "0434386289", Email = "*****@*****.**" }; // act var result = new Quote(givenQuoteFormModel, _mockQuoteSetting.Object); // assert Assert.Equal(givenQuoteFormModel.AmountRequired, result.AmountRequired); Assert.Equal(givenQuoteFormModel.Term, result.Term); Assert.Equal(givenQuoteFormModel.Title, result.Title); Assert.Equal(givenQuoteFormModel.FirstName, result.FirstName); Assert.Equal(givenQuoteFormModel.LastName, result.LastName); Assert.Equal(givenQuoteFormModel.Mobile, result.Mobile); Assert.Equal(givenQuoteFormModel.Email, result.Email); }
public IActionResult Quote(QuoteFormModel model) { model.MinTerm = _quoteSetting.Value.MinTerm; model.MaxTerm = _quoteSetting.Value.MaxTerm; model.MinAmountRequired = _quoteSetting.Value.MinAmountRequired; model.MaxAmountRequired = _quoteSetting.Value.MaxAmountRequired; return(View(model)); }
public void given_less_than_min_financial_amount_should_get_invalid_quote_domain_object() { // setup var givenQuoteFormModel = new QuoteFormModel { AmountRequired = 1900, Term = 10, Title = "Mr", FirstName = "ShiChang", LastName = "Hou", Mobile = "0434386289", Email = "*****@*****.**" }; // act var result = new Quote(givenQuoteFormModel, _mockQuoteSetting.Object); // assert Assert.False(result.IsValid); }
public void given_no_email_should_get_invalid_quote_domain_object() { // setup var givenQuoteFormModel = new QuoteFormModel { AmountRequired = 15001, Term = 30, Title = "Mr", FirstName = "ShiChang", LastName = "Hou", Mobile = "0434386289", Email = null }; // act var result = new Quote(givenQuoteFormModel, _mockQuoteSetting.Object); // assert Assert.False(result.IsValid); }
public async Task <IActionResult> CalculateQuote(QuoteFormModel quoteFormModel) { var quoteDomain = new Quote(quoteFormModel, _quoteSetting); if (!quoteDomain.IsValid) { return(Error()); } var calculateQuoteViewModel = new CalculateQuoteViewModel(quoteDomain); try { await _quoteService.AddQuote(quoteDomain); } catch (Exception ex) { return(Error()); } return(View(calculateQuoteViewModel)); }
public void given_quote_calling_calculate_quote_should_save_quote_to_database() { // setup var givenQuoteFormModel = new QuoteFormModel { AmountRequired = 8000, Term = 30, Title = "Mr", FirstName = "bumble", LastName = "bee", Mobile = "0838386289", Email = "*****@*****.**" }; // act _homeController.CalculateQuote(givenQuoteFormModel); // assert var result = _repository.GetQuoteBy(1); Assert.Equal(givenQuoteFormModel.AmountRequired, result.FinancialAmount); Assert.Equal(givenQuoteFormModel.Title, result.Title); Assert.Equal(givenQuoteFormModel.Mobile, result.Mobile); Assert.Equal($@"{givenQuoteFormModel.FirstName} {givenQuoteFormModel.LastName}", result.Name); }
public void given_quote_domain_object_should_save_it_to_database() { // setup var givenQuoteFormModel = new QuoteFormModel { AmountRequired = 15001, Term = 35, Title = "Mr", FirstName = "ShiChang", LastName = "Hou", Mobile = "0434386289", Email = "*****@*****.**" }; var givenQuoteDomainObject = new Quote(givenQuoteFormModel, new Mock <IOptions <QuoteSetting> >().Object); var givenDbEntity = givenQuoteDomainObject.ToDbEntity(); _mockQuoteRespository.Setup(q => q.SaveQuote(It.IsAny <CalculateQuoteDbModel>())).Verifiable(); // act _quoteService.AddQuote(givenQuoteDomainObject); // assert _mockQuoteRespository.Verify(q => q.SaveQuote(It.IsAny <CalculateQuoteDbModel>()), Times.Once); }
public QuoteForTest(QuoteFormModel quoteFormModel, IOptions <QuoteSetting> quoteSetting) : base(quoteFormModel, quoteSetting) { }