1   package com.atlassian.pageobjects.elements.test.pageobjects.page;
2   
3   import com.atlassian.pageobjects.Page;
4   import com.atlassian.pageobjects.PageBinder;
5   import com.atlassian.pageobjects.binder.WaitUntil;
6   import com.atlassian.pageobjects.elements.PageElementFinder;
7   import com.atlassian.pageobjects.elements.query.Poller;
8   import com.atlassian.pageobjects.elements.test.pageobjects.component.InlineDialog;
9   import com.atlassian.pageobjects.elements.test.pageobjects.component.LinksMenu;
10  import com.atlassian.pageobjects.elements.test.pageobjects.component.UserRoleTabs;
11  import com.atlassian.webdriver.utils.by.ByJquery;
12  
13  import javax.inject.Inject;
14  
15  /**
16   * Represents the page returned by the AUIServlet plugin that is deployed to RefApp
17   */
18  public class AuiPage implements Page
19  {
20      @Inject
21      protected PageBinder pageBinder;
22  
23      @Inject
24      protected PageElementFinder elementFinder;
25  
26      @WaitUntil
27      public void doWait()
28      {
29          Poller.waitUntilTrue(elementFinder.find(ByJquery.$("h2:contains(AuiDropDown)")).timed().isPresent());
30      }
31      
32      public String getUrl()
33      {
34          return "/html/aui.html";
35      }
36  
37      public LinksMenu openLinksMenu()
38      {
39          return pageBinder.bind(LinksMenu.class).open();
40      }
41  
42      public InlineDialog inlineDialog()
43      {
44          return pageBinder.bind(InlineDialog.class);        
45      }
46  
47      public InlineDialog openInlineDialog()
48      {
49          return pageBinder.bind(InlineDialog.class).open();
50      }
51  
52      public UserRoleTabs roleTabs()
53      {
54          return pageBinder.bind(UserRoleTabs.class);
55      }
56  }