Beispiel #1
0
        public void Buy_WhenModelMinPurchaseAmountIsGreaterThanMaxPurchaseAmount_ReturnViewResultBuyPracticePage()
        {
            var emailSender = new Mock <ISendEmail>().Object;
            var tempData    = new Mock <ITempDataDictionary>().Object;
            var reCaptcha   = MockReCaptchaService.Create(true);
            var sut         = new PracticeController(Enumerable.Empty <IGenerateEmail>(), emailSender, reCaptcha);

            sut.TempData = tempData;

            var fixture = new Fixture();
            var model   = fixture
                          .Build <BuyPracticeModel>()
                          .Without(m => m.ContactPhoneNumber)
                          .Create();

            model.MinPurchaseAmount = 100;
            model.MaxPurchaseAmount = 99;

            var result = sut.Buy(model);

            Assert.IsType <Task <IActionResult> >(result);
            var viewResult = result.Result as ViewResult;

            Assert.Equal("Buy", viewResult?.ViewName);
        }
Beispiel #2
0
        public void Buy_WhenDoingHttpGet_ReturnsView()
        {
            var emailSender = new Mock <ISendEmail>().Object;
            var reCaptcha   = new Mock <IRecaptchaService>().Object;
            var sut         = new PracticeController(Enumerable.Empty <IGenerateEmail>(), emailSender, reCaptcha);

            var result = sut.Buy();

            // Assert
            var viewResult = Assert.IsType <ViewResult>(result);

            Assert.Equal(nameof(PracticeController.Buy), viewResult.ViewName);
        }
Beispiel #3
0
        public void Buy_WhenModelIsValid_ReturnsRedirectToActionResultThankyouPage()
        {
            var emailSender = new Mock <ISendEmail>().Object;
            var reCaptcha   = MockReCaptchaService.Create(true);
            var sut         = new PracticeController(Enumerable.Empty <IGenerateEmail>(), emailSender, reCaptcha);

            var result = sut.Buy(new BuyPracticeModel());

            Assert.IsType <Task <IActionResult> >(result);
            var redirectToActionResult = result.Result as RedirectToActionResult;

            Assert.Equal("ThankYou", redirectToActionResult?.ControllerName);
            Assert.Equal("Index", redirectToActionResult?.ActionName);
        }
Beispiel #4
0
        public void Buy_WhenReCaptchaFails_ReturnViewResultBuyPracticePage()
        {
            var emailSender = new Mock <ISendEmail>().Object;
            var tempData    = new Mock <ITempDataDictionary>().Object;
            var reCaptcha   = MockReCaptchaService.Create(false);
            var sut         = new PracticeController(Enumerable.Empty <IGenerateEmail>(), emailSender, reCaptcha);

            sut.TempData = tempData;

            var result = sut.Buy(new BuyPracticeModel());

            Assert.IsType <Task <IActionResult> >(result);
            var viewResult = result.Result as ViewResult;

            Assert.Equal("Buy", viewResult?.ViewName);
        }
Beispiel #5
0
        public void Buy_WhenDoingHttpGet_ContainsCorrectCollectionsAmountOptions()
        {
            var emailSender = new Mock <ISendEmail>().Object;
            var reCaptcha   = new Mock <IRecaptchaService>().Object;
            var sut         = new PracticeController(Enumerable.Empty <IGenerateEmail>(), emailSender, reCaptcha);

            var result = sut.Buy();

            // Assert
            var viewResult                     = Assert.IsType <ViewResult>(result);
            var actualCollectionsList          = viewResult.ViewData["CollectionsAmount"] as SelectList;
            var actualCollectionsAmountOptions = actualCollectionsList.Items as IEnumerable <SelectListItem>;

            var expectedCollectionsAmountOptions = new[] { null, "$0 - $500,000", "$500,000 - $1,000,000", "$1,500,000 - $2,000,000", "$2,000,000 +" };

            Assert.Equal(expectedCollectionsAmountOptions, actualCollectionsAmountOptions.Select(x => x.Value));
        }
Beispiel #6
0
        public void Buy_WhenModelMinPurchaseAmountIsLessThanMaxPurchaseAmount_ModelStateIsValid()
        {
            var emailSender = new Mock <ISendEmail>().Object;
            var reCaptcha   = MockReCaptchaService.Create(true);
            var sut         = new PracticeController(Enumerable.Empty <IGenerateEmail>(), emailSender, reCaptcha);

            var fixture = new Fixture();
            var model   = fixture
                          .Build <BuyPracticeModel>()
                          .Without(m => m.ContactPhoneNumber)
                          .With(m => m.MinPurchaseAmount, 99)
                          .With(m => m.MaxPurchaseAmount, 100)
                          .Create();

            Assert.True(sut.ModelState.IsValid);

            var unused = sut.Buy(model);

            Assert.True(sut.ModelState.IsValid);
        }
Beispiel #7
0
        public void Buy_WhenModelMinPurchaseAmountIsLessThanMaxPurchaseAmount_ReturnsRedirectToActionResultThankyouPage()
        {
            var emailSender = new Mock <ISendEmail>().Object;
            var reCaptcha   = MockReCaptchaService.Create(true);
            var sut         = new PracticeController(Enumerable.Empty <IGenerateEmail>(), emailSender, reCaptcha);

            var fixture = new Fixture();
            var model   = fixture
                          .Build <BuyPracticeModel>()
                          .Without(m => m.ContactPhoneNumber)
                          .With(m => m.MinPurchaseAmount, 99)
                          .With(m => m.MaxPurchaseAmount, 100)
                          .Create();

            var result = sut.Buy(model);

            Assert.IsType <Task <IActionResult> >(result);
            var redirectToActionResult = result.Result as RedirectToActionResult;

            Assert.Equal("ThankYou", redirectToActionResult?.ControllerName);
            Assert.Equal("Index", redirectToActionResult?.ActionName);
        }