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); }
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); }