/// <summary> /// Verify navigation on the page frontend /// </summary> /// <param name="cssClass">The navigation css class</param> /// <param name="pages">Expected pages</param> public void VerifyNavigationOnFrontend(string cssClass, string[] pages, TemplateType templateType = TemplateType.Bootstrap) { HtmlControl navList = null; switch (templateType) { case TemplateType.Bootstrap: navList = EM.Navigation.NavigationWidgetFrontend.GetNavigation(cssClass); navList.AssertIsPresent("Navigation List"); Assert.AreEqual(pages.Count(), navList.ChildNodes.Count(), "Unexpected number of pages"); break; case TemplateType.Foundation: navList = EM.Navigation.NavigationWidgetFrontend.GetFoundationNavigation(cssClass); navList.AssertIsPresent("Navigation List"); Assert.AreEqual(pages.Count(), navList.ChildNodes.Count(), "Unexpected number of pages"); break; case TemplateType.Semantic: navList = EM.Navigation.NavigationWidgetFrontend.GetSemanticNavigation(cssClass); navList.AssertIsPresent("Navigation List"); Assert.AreEqual(pages.Count(), navList.ChildNodes.Where(n => n.TagName.Equals("a")).Count(), "Unexpected number of pages"); break; } for (int i = 0; i < pages.Count(); i++) { Assert.IsTrue(navList.ChildNodes[i].InnerText.Contains(pages[i]), "Navigation child node does not contain the expected page: " + pages[i]); } }
/// <summary> /// Verify child pages on the frontend /// </summary> /// <param name="cssClass">The navigation css class</param> /// <param name="pages">Expected pages</param> public void VerifyChildPagesFrontEndNavigation(string cssClass, string[] pages, TemplateType templateType = TemplateType.Bootstrap) { HtmlControl navList = null; switch (templateType) { case TemplateType.Bootstrap: navList = EM.Navigation.NavigationWidgetFrontend.GetBootstrapNavigation(cssClass); break; case TemplateType.Foundation: navList = EM.Navigation.NavigationWidgetFrontend.GetFoundationNavigationChild(cssClass); break; case TemplateType.Semantic: navList = EM.Navigation.NavigationWidgetFrontend.GetSemanticNavigationChild(cssClass); break; } navList.AssertIsPresent("Navigation List"); Assert.AreEqual(pages.Count(), navList.ChildNodes.Count(), "Unexpected number of pages"); foreach (string page in pages) { navList.AssertContainsText <HtmlControl>(page, "Navigation does not contain the expected page " + page); } }
/// <summary> /// Verify that a list of pages is NOT present in the frontend navigation /// </summary> /// <param name="cssClass"></param> /// <param name="pages"></param> public void VerifyPagesNotPresentFrontEndNavigation(string cssClass, string[] pages, TemplateType templateType = TemplateType.Bootstrap) { HtmlControl navList = null; switch (templateType) { case TemplateType.Bootstrap: navList = EM.Navigation.NavigationWidgetFrontend.GetBootstrapNavigation(cssClass); break; case TemplateType.Foundation: navList = EM.Navigation.NavigationWidgetFrontend.GetFoundationNavigation(cssClass); break; case TemplateType.Semantic: navList = EM.Navigation.NavigationWidgetFrontend.GetSemanticNavigation(cssClass); break; } navList.AssertIsPresent("Navigation List"); for (int i = 0; i < navList.ChildNodes.Count; i++) { foreach (string page in pages) { Assert.IsFalse(navList.ChildNodes[i].InnerText.Contains(page), "Navigation contains this page " + page); } } }
/// <summary> /// Expand "Filter events by" /// </summary> public void ExpandFilteredEventsBy() { HtmlControl filterEventsByBtn = this.EM.Widgets.WidgetDesignerCalendarScreen.FilterEventsByButton; filterEventsByBtn.AssertIsPresent("Filter Events by button"); filterEventsByBtn.Click(); }