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