1 package com.atlassian.webdriver.jira.page;
2
3
4 import com.atlassian.pageobjects.PageBinder;
5 import com.atlassian.pageobjects.DelayedBinder;
6 import com.atlassian.pageobjects.binder.WaitUntil;
7 import com.atlassian.pageobjects.Page;
8 import com.atlassian.webdriver.AtlassianWebDriver;
9 import com.atlassian.webdriver.jira.component.header.JiraHeader;
10 import com.atlassian.webdriver.jira.component.menu.DashboardMenu;
11 import org.openqa.selenium.By;
12
13 import javax.inject.Inject;
14
15
16
17
18
19
20 public abstract class JiraAbstractPage implements Page
21 {
22 @Inject
23 protected PageBinder pageBinder;
24
25 @Inject
26 protected AtlassianWebDriver driver;
27
28 public JiraHeader getHeader()
29 {
30 return pageBinder.bind(JiraHeader.class);
31 }
32
33 public DashboardMenu getDashboardMenu()
34 {
35 return getHeader().getDashboardMenu();
36 }
37
38
39
40
41 @WaitUntil
42 public final void doWait()
43 {
44 driver.waitUntilElementIsLocated(By.className("footer"));
45 }
46
47 public boolean isLoggedIn()
48 {
49 DelayedBinder<JiraHeader> header = pageBinder.delayedBind(JiraHeader.class);
50 return header.canBind() ? header.bind().isLoggedIn() : false;
51 }
52
53 public boolean isAdmin()
54 {
55 DelayedBinder<JiraHeader> header = pageBinder.delayedBind(JiraHeader.class);
56 return header.canBind() ? header.bind().isAdmin() : false;
57 }
58 }