public void ShouldRenderAcceptedMessage()
 {
     var sut = new ApplicationStatus();
     var model = new LoanApplication()
     {
         IsAccepted = true,
     };
     HtmlDocument html = sut.RenderAsHtml(model);
     var isAcceptedMsgRenderd = html.GetElementbyId("acceptedMessage") != null;
     var isDeclinedMsgRenderd = html.GetElementbyId("declinedMessage") != null;
     Assert.That(isAcceptedMsgRenderd, Is.True);
     Assert.That(isDeclinedMsgRenderd, Is.False);
 }
		public void ShouldRdirectToAcceptedViewOnUnSuccessfulApplication()
		{
			var fakeRepository = new Mock<IRepository>();
			var fakeApplicationScorrer = new Mock<ILoanApplicationScorer>();

			var sut = new LoanApplicationController(fakeRepository.Object, fakeApplicationScorrer.Object);

			var acceptedApplication = new LoanApplication
			{
				IsAccepted = false
			};

			sut.WithCallTo(x => x.Apply(acceptedApplication)).ShouldRedirectTo<int>(x => x.Declined);
		}
        public void ShouldPopulateIdOnCreateLoanApplication()
        {
            var sut = new Repository();

            var appToSave = new LoanApplication()
            {
                LastName = "Mit",
                FirstName = "Philip",
                Age = 29,
                AnnualIncome = 1232312.22m
            };

            sut.Create(appToSave);

            Assert.That(appToSave.ID, Is.Not.EqualTo(0));
        }
Пример #4
0
		public void ShouldPopulateIdOnCreateLoanApplication()
		{
			var sut = new Repository();

			var applicationToSave = new LoanApplication
			{
				FirstName = "Gentry",
				LastName = "Smith",
				Age = 33,
				AnnualIncome = 12345.67m
			};

			sut.Create(applicationToSave);

			Assert.That(applicationToSave.ID, Is.Not.EqualTo(0));
		}
		public void ShouldDeclineWhenTooYoung()
		{
			var fakeCreditHistoryChecker = new Mock<ICreditHistoryChecker>();

			fakeCreditHistoryChecker.Setup(
				 x => x.CheckCreditHistory(It.IsAny<string>(), It.IsAny<string>()))
				 .Returns(true);

			var sut = new LoanApplicationScorer(fakeCreditHistoryChecker.Object);

			var application = new LoanApplication
			{
				Age = 21
			};

			sut.ScoreApplication(application);

			Assert.That(application.IsAccepted, Is.False);
		}
Пример #6
0
		public void ShouldDeclineLoanApplication()
		{
			var applyPage =
				 BrowserHost.Instance.NavigateToInitialPage<LoanApplicationController, LoanApplicationPage>(
					  x => x.Apply());

			var applicationDetails = new LoanApplication
			{
				FirstName = "Gentry",
				LastName = "Smith",
				Age = 16,
				AnnualIncome = 20000
			};

			var declinePage = applyPage.SubmitApplication<DeclinedPage>(applicationDetails);

			Assert.That(declinePage.DeclinedMessage, Is.EqualTo("Sorry Gentry - We are unable to offer you a loan at this time."));

			DemoHelper.Wait(5000);
		}
		public void ShouldDeclineWhenNotTooYoungAndWealthyButPoorCredit()
		{
			var fakeCreditHistoryChecker = new Mock<ICreditHistoryChecker>();

			fakeCreditHistoryChecker.Setup(
				 x => x.CheckCreditHistory(It.IsAny<string>(), It.IsAny<string>()))
				 .Returns(false);

			var sut = new LoanApplicationScorer(fakeCreditHistoryChecker.Object);

			var application = new LoanApplication
			{
				AnnualIncome = 1000000.01m,
				Age = 22
			};

			sut.ScoreApplication(application);

			Assert.That(application.IsAccepted, Is.False);
		}
		public void ShouldAcceptWhenYoungButWealthy()
		{
			var fakeCreditHistoryChecker = new Mock<ICreditHistoryChecker>();

			fakeCreditHistoryChecker.Setup(
				 x => x.CheckCreditHistory(It.IsAny<string>(), It.IsAny<string>()))
				 .Returns(true);

			var sut = new LoanApplicationScorer(fakeCreditHistoryChecker.Object);

			var application = new LoanApplication
			{
				AnnualIncome = 1000000.01m,
				Age = 21
			};

			sut.ScoreApplication(application);

			Assert.That(application.IsAccepted, Is.True);
		}
        public ActionResult Apply(LoanApplication application)
        {
            if (!ModelState.IsValid)
            {
                return View(application);
            }

            _scorer.ScoreApplication(application);

            _repository.Create(application);

            if (application.IsAccepted)
            {
                return RedirectToAction("Accepted", new { id = application.ID });
            }
            else
            {
                return RedirectToAction("Declined", new { id = application.ID });
            }
        }
Пример #10
0
		public void ShouldAcceptLoanApplication()
		{
			var applyPage =
				 BrowserHost.Instance.NavigateToInitialPage<LoanApplicationController, LoanApplicationPage>(
					  x => x.Apply());

			var applicationDetails = new LoanApplication
			{
				FirstName = "Gentry",
				LastName = "Smith",
				Age = 42,
				AnnualIncome = 999999999
			};

			var acceptPage = applyPage.SubmitApplication<AcceptedPage>(applicationDetails);

			var acceptMessageText = acceptPage.AcceptedMessage;

			Assert.That(acceptMessageText, Is.EqualTo("Congratulations Gentry - Your application was accepted!"));

			DemoHelper.Wait(5000);
		}