Example #1
0
        public void Invoke_GivenUserIsNotAuthenticated_ExpectViewWithEmptyModel()
        {
            var currentAuthenticatedUserProvider = new Mock <ICurrentAuthenticatedUserProvider>();

            currentAuthenticatedUserProvider.Setup(x => x.CurrentAuthenticatedUser).Returns(
                Maybe <ISystemUser> .Nothing);

            var httpContext = new DefaultHttpContext();
            var viewContext = new ViewContext {
                HttpContext = httpContext
            };
            var viewComponentContext = new ViewComponentContext {
                ViewContext = viewContext
            };

            var topNavViewComponent = new TopNavViewComponent(currentAuthenticatedUserProvider.Object)
            {
                ViewComponentContext = viewComponentContext,
            };

            var result     = topNavViewComponent.Invoke();
            var viewResult = Assert.IsType <ViewViewComponentResult>(result);
            var model      = Assert.IsType <TopNavViewModel>(viewResult.ViewData.Model);

            Assert.Equal(string.Empty, model.EmailAddress);
            Assert.Equal(string.Empty, model.Name);
        }
Example #2
0
        public void Invoke_GivenUserIsAuthenticated_ExpectViewWithPopulatedModel()
        {
            var currentAuthenticatedUserProvider = new Mock <ICurrentAuthenticatedUserProvider>();

            currentAuthenticatedUserProvider.Setup(x => x.CurrentAuthenticatedUser).Returns(
                Maybe.From(
                    new AuthenticatedUser(Guid.Empty, new string('*', 3), new string('*', 4), new string('*', 5)) as ISystemUser));

            var httpContext = new DefaultHttpContext();
            var viewContext = new ViewContext {
                HttpContext = httpContext
            };
            var viewComponentContext = new ViewComponentContext {
                ViewContext = viewContext
            };

            var topNavViewComponent = new TopNavViewComponent(currentAuthenticatedUserProvider.Object)
            {
                ViewComponentContext = viewComponentContext,
            };

            var result     = topNavViewComponent.Invoke();
            var viewResult = Assert.IsType <ViewViewComponentResult>(result);
            var model      = Assert.IsType <TopNavViewModel>(viewResult.ViewData.Model);

            Assert.Equal(new string('*', 3), model.EmailAddress);
            Assert.Equal($"{new string('*', 4)} {new string('*', 5)}", model.Name);
        }