コード例 #1
0
        public void Logout_GIVEN_BlogConfiguration_DefaultAction_Is_Index_And_Default_Controller_Is_Blog_THEN_Redirects_To_Index_On_Blog()
        {
            const string defaultController = "Blog";
            const string defaultAction = "Action";

            var mockedWebAuthenticator = new Mock<IWebAuthenticator>();
            mockedWebAuthenticator.Setup(wa => wa.LogOut());

            var mockedConfigurationReader = new Mock<IConfigurationReader>();
            mockedConfigurationReader.Setup(cr => cr.GetSection<BlogConfigurationSection>(It.IsAny<string>()))
                .Returns(GetBlogConfigurationSection(defaultController: defaultController, defaultAction: defaultAction));

            var controller = new AuthenticationController(mockedWebAuthenticator.Object, mockedConfigurationReader.Object);

            var result = controller.LogOut() as RedirectToRouteResult;

            result.ShouldNotBeNull();
            result.RouteValues["controller"].ShouldEqual(defaultController);
            result.RouteValues["action"].ShouldEqual(defaultAction);
        }
コード例 #2
0
        public void Logout_Calls_Logout_On_WebAuthenticator()
        {
            var mockedWebAuthenticator = new Mock<IWebAuthenticator>();
            Expression<Action<IWebAuthenticator>> verifiableAction = wa => wa.LogOut();
            mockedWebAuthenticator.Setup(verifiableAction).Verifiable();

            var mockedConfigurationReader = new Mock<IConfigurationReader>();
            mockedConfigurationReader.Setup(cr => cr.GetSection<BlogConfigurationSection>(It.IsAny<string>()))
               .Returns(GetBlogConfigurationSection());

            var controller = new AuthenticationController(mockedWebAuthenticator.Object, mockedConfigurationReader.Object);
            var result = controller.LogOut();

            mockedWebAuthenticator.Verify(verifiableAction, Times.Once());
        }