1 package com.atlassian.pageobjects.elements.test.pageobjects.component;
2
3 import javax.inject.Inject;
4
5 import com.atlassian.pageobjects.Page;
6 import com.atlassian.pageobjects.PageBinder;
7 import com.atlassian.pageobjects.component.Header;
8 import com.atlassian.pageobjects.component.WebSudoBanner;
9 import com.atlassian.pageobjects.page.HomePage;
10 import com.atlassian.webdriver.AtlassianWebDriver;
11
12 import org.apache.commons.lang.NotImplementedException;
13 import org.openqa.selenium.By;
14
15
16
17
18 public class RefappHeader implements Header
19 {
20 private static final By LOGIN = By.id("login");
21
22 @Inject
23 protected AtlassianWebDriver driver;
24
25 @Inject
26 protected PageBinder pageBinder;
27
28 public boolean isLoggedIn()
29 {
30 return driver.findElement(By.id("login")).getText().equals("Logout");
31 }
32
33 public boolean isAdmin()
34 {
35 return isLoggedIn() && driver.findElement(By.id("user")).getText().contains("(Sysadmin)");
36 }
37
38 public <M extends Page> M logout(Class<M> nextPage)
39 {
40 if (isLoggedIn()) {
41 driver.findElement(LOGIN).click();
42 }
43 return HomePage.class.isAssignableFrom(nextPage) ? pageBinder.bind(nextPage) : pageBinder.navigateToAndBind(nextPage);
44 }
45
46 public WebSudoBanner getWebSudoBanner()
47 {
48 throw new NotImplementedException();
49 }
50 }