Esempio n. 1
0
        public void IndexPostAction_ValidModelShowMessageAction_ShowsSuccessMessage()
        {
            var controller = new DummyRegistrationController();

            controller.TemplateName = "TestTemplate";
            var viewModel = new RegistrationViewModel();

            controller.Model.SuccessfulRegistrationAction = SuccessfulRegistrationAction.ShowMessage;

            var result = controller.Index(viewModel);

            Assert.IsNotNull(result, "The action result is null.");
            Assert.IsInstanceOfType(result, typeof(ViewResult), "The action result is not of the expected type.");

            Assert.AreEqual(controller.ViewBag.ShowSuccessfulRegistrationMsg, true, "The result did not contain the expected message.");
        }
Esempio n. 2
0
        public void IndexAction_ReturnsValidViewResult()
        {
            var controller = new DummyRegistrationController();

            controller.TemplateName = "TestTemplate";

            var result = controller.Index();

            Assert.IsNotNull(result, "The action result is null.");
            Assert.IsInstanceOfType(result, typeof(ViewResult), "The action result is not of the expected type.");

            var viewResult = (ViewResult)result;

            Assert.AreEqual("Registration.TestTemplate", viewResult.ViewName, "The Index did not return the configured view according to its convention.");
            Assert.IsNotNull(viewResult.Model, "The Index action did not assign a view model.");
            Assert.IsInstanceOfType(viewResult.Model, typeof(RegistrationViewModel), "The Index action did not assign a view model of the expected type.");
        }
Esempio n. 3
0
        public void IndexPostAction_ValidModelRedirectAction_Redirects()
        {
            var controller = new DummyRegistrationController();

            controller.TemplateName = "TestTemplate";
            var viewModel = new RegistrationViewModel();

            controller.Model.SuccessfulRegistrationPageId = new Guid("3bf29da0-1074-4a71-bb23-7ae43f36d8f9");
            controller.Model.SuccessfulRegistrationAction = SuccessfulRegistrationAction.RedirectToPage;

            var result = controller.Index(viewModel);

            Assert.IsNotNull(result, "The action result is null.");
            Assert.IsInstanceOfType(result, typeof(RedirectResult), "The action result is not of the expected type.");

            var redirectResult = (RedirectResult)result;

            Assert.AreEqual("http://3bf29da0-1074-4a71-bb23-7ae43f36d8f9", redirectResult.Url, true, "The action did not redirect to the expected URL.");
        }
Esempio n. 4
0
        public void IndexPostAction_InvalidModel_ReturnsConfiguredViewWithSameModel()
        {
            var controller = new DummyRegistrationController();

            controller.TemplateName = "TestTemplate";
            var viewModel = new RegistrationViewModel();

            controller.ModelState.AddModelError("TestError", "Test error message");

            var result = controller.Index(viewModel);

            Assert.IsNotNull(result, "The action result is null.");
            Assert.IsInstanceOfType(result, typeof(ViewResult), "The action result is not of the expected type.");

            var viewResult = (ViewResult)result;

            Assert.AreEqual("Registration.TestTemplate", viewResult.ViewName, "The Index did not return the configured view according to its convention.");
            Assert.IsNotNull(viewResult.Model, "The Index action did not assign a view model.");
            Assert.IsInstanceOfType(viewResult.Model, typeof(RegistrationViewModel), "The Index action did not assign a view model of the expected type.");
            Assert.AreSame(viewModel, viewResult.Model, "The model in the result is not the same as the one passed to the action.");
        }
Esempio n. 5
0
        public void IndexPostAction_ValidModelFailedRegistration_ReturnsConfiguredViewWithSameModelAndErrorMessage()
        {
            var controller = new DummyRegistrationController();

            controller.TemplateName = "TestTemplate";
            var viewModel = new RegistrationViewModel();

            // "*****@*****.**" is a magical Email that tells the Dummy Model to fail the registration.
            viewModel.Email = "*****@*****.**";

            var result = controller.Index(viewModel);

            Assert.IsNotNull(result, "The action result is null.");
            Assert.IsInstanceOfType(result, typeof(ViewResult), "The action result is not of the expected type.");

            Assert.AreEqual(MembershipCreateStatus.InvalidUserName.ToString(), controller.ViewBag.Error, "ViewBag did not containg the expected error message.");

            var viewResult = (ViewResult)result;

            Assert.AreEqual("Registration.TestTemplate", viewResult.ViewName, "The Index did not return the configured view according to its convention.");
            Assert.IsNotNull(viewResult.Model, "The Index action did not assign a view model.");
            Assert.IsInstanceOfType(viewResult.Model, typeof(RegistrationViewModel), "The Index action did not assign a view model of the expected type.");
            Assert.AreSame(viewModel, viewResult.Model, "The model in the result is not the same as the one passed to the action.");
        }