public void Execute_should_initialize_dashboard_data() { //arrange var serviceMock = Substitute.For<IDashboardTabsService>(); Target.DashboardTabsService = serviceMock; Target.FilterDetailsFactory = Substitute.For<IFilterDetailsFactory>(); Target.ControllerContext = new ControllerContext(Substitute.For<HttpContextBase>(), new RouteData(), Target); var expectedCollection = new[] { new DashboardTabItem("ttit","pageTitle", "idenityt", 1, "controller", "acrtion", null, null, true), new DashboardTabItem("ttit", "pageTitle2","idenityt", 1, "controller", "acrtion", null, null, true) }; var currentItem = new DashboardTabItem("title", "pageTitle", "identity", 2, "controller", "action", null, null, true); serviceMock.GetTabs(new string[] { string.Empty }).ReturnsForAnyArgs(expectedCollection); serviceMock.GetItem(typeof(DashboardTabControllerStab)).Returns(currentItem); Target.ControllerContext.HttpContext.Request.Params.Returns(new NameValueCollection()); Target.ControllerContext.HttpContext.Request.Headers.Returns(new NameValueCollection()); Target.ExecuteStab(new RequestContext { HttpContext = Target.ControllerContext.HttpContext, RouteData = new RouteData() }); //act Target.OnActionExecutingFake(new ActionExecutingContext(Target.ControllerContext, new ReflectedActionDescriptor(typeof(DashboardTabControllerStab).GetMethod("Index"), "Index", new ReflectedAsyncControllerDescriptor(Target.GetType())), new Dictionary<string, object>())); //assert var actual = Target.Data; Assert.AreEqual(expectedCollection, actual.DashboardTabItems); Assert.AreEqual(currentItem, actual.CurrentItem); }
public DashboardTabItem(string title, string pageTitle, string identity, int position, string controllerName, string defaultActionName, DashboardTabItem parent, string allowedRoles, bool isVisible) { _title = title; _pageTitle = pageTitle; _identity = identity; _position = position; _controllerName = controllerName; _defaultActionName = defaultActionName; _parent = parent; _allowedRoles = allowedRoles; _isVisible = isVisible; }
public bool IsCurrent(DashboardTabItem item) { var node = CurrentItem; while (node != null) { if (node == item) return true; node = node.Parent; } return false; }
public bool Equals(DashboardTabItem obj) { if (ReferenceEquals(null, obj)) return false; return Identity == obj.Identity; }
public bool ContainChildren(DashboardTabItem parent) { return DashboardTabItems.Any(e => e.Parent == parent); }
public IEnumerable<DashboardTabItem> GetChildrenElements(DashboardTabItem parent) { return DashboardTabItems.Where(e => e.Parent == parent); }