1 package com.atlassian.webdriver.jira.component.menu;
2
3 import com.atlassian.pageobjects.PageBinder;
4 import com.atlassian.pageobjects.binder.Init;
5 import com.atlassian.webdriver.jira.component.ClickableLink;
6 import com.atlassian.webdriver.jira.component.WebDriverLink;
7 import com.atlassian.webdriver.jira.page.LicenseDetailsPage;
8 import com.atlassian.webdriver.jira.page.PluginsPage;
9 import com.atlassian.webdriver.jira.page.ProjectsViewPage;
10 import com.atlassian.webdriver.jira.page.user.UserBrowserPage;
11 import com.atlassian.webdriver.utils.by.ByJquery;
12 import org.openqa.selenium.WebElement;
13 import org.openqa.selenium.support.FindBy;
14
15 import javax.inject.Inject;
16
17
18
19
20
21 public class AdminMenu
22 {
23
24 @Inject
25 PageBinder pageBinder;
26
27 @FindBy(id = "plugins_lnk")
28 private WebElement pluginsPageLink;
29
30 @ClickableLink(id = "plugins_lnk", nextPage = PluginsPage.class)
31 WebDriverLink<PluginsPage> pluginsLink;
32
33 @ClickableLink(id = "license_details_lnk", nextPage = LicenseDetailsPage.class)
34 WebDriverLink<LicenseDetailsPage> licenseDetailsLink;
35
36 @ClickableLink(id = "user_browser_lnk", nextPage = UserBrowserPage.class)
37 WebDriverLink<UserBrowserPage> userBrowserLink;
38
39 @ClickableLink(id = "view_projects_lnk", nextPage = ProjectsViewPage.class)
40 WebDriverLink<ProjectsViewPage> projectsViewPage;
41
42 private AuiDropdownMenu adminMenu;
43
44 @Init
45 public void initialise()
46 {
47 adminMenu = pageBinder.bind(AuiDropdownMenu.class, ByJquery.$("#admin_link").parent("li"));
48 }
49
50 public PluginsPage gotoPluginsPage()
51 {
52 return pluginsLink.activate();
53 }
54
55 public LicenseDetailsPage gotoLicenseDetailsPage()
56 {
57 return licenseDetailsLink.activate();
58 }
59
60 public UserBrowserPage gotoUserBrowserPage()
61 {
62 return userBrowserLink.activate();
63 }
64
65 public ProjectsViewPage gotoProjectsPage()
66 {
67 return projectsViewPage.activate();
68 }
69
70 public AdminMenu open()
71 {
72 adminMenu.open();
73 return this;
74 }
75
76 public boolean isOpen()
77 {
78 return adminMenu.isOpen();
79 }
80
81 public AdminMenu close()
82 {
83 adminMenu.close();
84 return this;
85 }
86 }