View Javadoc

1   package com.atlassian.pageobjects.elements.test;
2   
3   import com.atlassian.pageobjects.browser.Browser;
4   import com.atlassian.pageobjects.browser.IgnoreBrowser;
5   import com.atlassian.pageobjects.elements.query.Poller;
6   import com.atlassian.pageobjects.elements.test.pageobjects.page.AuiPage;
7   import com.atlassian.pageobjects.elements.test.pageobjects.page.ElementsPage;
8   import com.atlassian.pageobjects.elements.test.pageobjects.page.JQueryPage;
9   import org.junit.Test;
10  
11  import java.util.List;
12  
13  import static org.junit.Assert.assertEquals;
14  import static org.junit.Assert.assertFalse;
15  import static org.junit.Assert.assertTrue;
16  
17  @IgnoreBrowser(Browser.HTMLUNIT_NOJS)
18  public class TestComponents extends AbstractPageElementBrowserTest
19  {
20      @Test
21      public void testAuiMenu()
22      {
23          AuiPage auipage = product.visit(AuiPage.class);
24  
25          //verify items in menu
26          List<String> items = auipage.openLinksMenu().getItems();
27          assertEquals(6, items.size());
28          assertEquals("JQuery Page", items.get(0));
29          for(int i = 1; i <6; i++)
30          {
31              assertEquals("Item " + i, items.get(i));
32          }
33  
34          // click on an item in the menu
35          auipage.openLinksMenu().gotoJQueryPage();
36      }
37  
38      @Test
39      public void testsAuiTab()
40      {
41          AuiPage auipage = product.visit(AuiPage.class);
42  
43          // verify default selections
44          assertTrue(auipage.roleTabs().adminTab().isOpen());
45          assertFalse(auipage.roleTabs().userTab().isOpen());
46  
47          // open user tab and verify header and selections
48          assertEquals("This is User Tab", auipage.roleTabs().openUserTab().header());
49          assertFalse(auipage.roleTabs().adminTab().isOpen());
50          assertTrue(auipage.roleTabs().userTab().isOpen());
51  
52          // Open admin and verify header and selections
53          assertEquals("This is Admin Tab", auipage.roleTabs().openAdminTab().header());
54          assertTrue(auipage.roleTabs().adminTab().isOpen());
55          assertFalse(auipage.roleTabs().userTab().isOpen());
56      }
57  
58      @Test
59      @IgnoreBrowser(value = Browser.IE, reason = "isVisible for inline dialog does not work in IE")
60      public void testsInlineDialog()
61      {
62          AuiPage auipage = product.visit(AuiPage.class);
63  
64          // verify dialog is not.
65          assertFalse(auipage.inlineDialog().getView().isPresent());
66  
67          // Invoke dialog and verify contents and is visible
68          assertEquals("AUI Inline Dialog", auipage.openInlineDialog().content());
69          assertTrue(auipage.inlineDialog().getView().isVisible());
70  
71          // click somewhere else and verify dialog is not visible.
72          auipage.roleTabs().openUserTab();
73          Poller.waitUntilFalse(auipage.inlineDialog().getView().timed().isVisible());
74  
75      }
76  
77      @Test
78      public void testJqueryMenu()
79      {
80          JQueryPage jquerypage = product.visit(JQueryPage.class);
81  
82          // verify admin menu is present
83          assertTrue(jquerypage.jqueryMenu().getTrigger().isPresent());
84  
85          // verify admin menu is not opened
86          assertFalse(jquerypage.jqueryMenu().isOpen());
87  
88          // open the admin menu, verify is open.
89          assertTrue(jquerypage.jqueryMenu().open().isOpen());
90  
91          // close the admin menu, verify not open
92          assertFalse(jquerypage.jqueryMenu().close().isOpen());
93  
94  
95          // verify follow link. Note: ElementsPage has a @WaitFor to verify that it reached the right page.
96          ElementsPage auiPage = jquerypage.jqueryMenu().open().gotoElementsPage();
97  
98          // verify high level interactions
99          jquerypage = product.visit(JQueryPage.class);
100         jquerypage.openJqueryMenu().gotoElementsPage();
101 
102     }
103 }