View Javadoc

1   package com.atlassian.pageobjects.elements.test;
2   
3   import com.atlassian.pageobjects.browser.Browser;
4   import com.atlassian.pageobjects.elements.query.Poller;
5   import com.atlassian.pageobjects.elements.test.pageobjects.page.AuiPage;
6   import com.atlassian.pageobjects.elements.test.pageobjects.page.ElementsPage;
7   import com.atlassian.pageobjects.elements.test.pageobjects.page.JQueryPage;
8   import com.atlassian.webdriver.testing.annotation.IgnoreBrowser;
9   import org.junit.Test;
10  
11  import java.util.List;
12  
13  import static junit.framework.Assert.assertEquals;
14  import static junit.framework.Assert.assertFalse;
15  import static junit.framework.Assert.assertTrue;
16  
17  @IgnoreBrowser(Browser.HTMLUNIT_NOJS)
18  public class TestComponents extends AbstractFileBasedServerTest
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      public void testsInlineDialog()
60      {
61          AuiPage auipage = product.visit(AuiPage.class);
62  
63          // verify dialog is not.
64          assertFalse(auipage.inlineDialog().getView().isPresent());
65  
66          // Invoke dialog and verify contents and is visible
67          assertEquals("AUI Inline Dialog", auipage.openInlineDialog().content());
68          assertTrue(auipage.inlineDialog().getView().isVisible());
69  
70          // click somewhere else and verify dialog is not visible.
71          auipage.roleTabs().openUserTab();
72          Poller.waitUntilFalse(auipage.inlineDialog().getView().timed().isVisible());
73  
74      }
75  
76      @Test
77      public void testJqueryMenu()
78      {
79          JQueryPage jquerypage = product.visit(JQueryPage.class);
80  
81          // verify admin menu is present
82          assertTrue(jquerypage.jqueryMenu().getTrigger().isPresent());
83  
84          // verify admin menu is not opened
85          assertFalse(jquerypage.jqueryMenu().isOpen());
86  
87          // open the admin menu, verify is open.
88          assertTrue(jquerypage.jqueryMenu().open().isOpen());
89  
90          // close the admin menu, verify not open
91          assertFalse(jquerypage.jqueryMenu().close().isOpen());
92  
93  
94          // verify follow link. Note: ElementsPage has a @WaitFor to verify that it reached the right page.
95          ElementsPage auiPage = jquerypage.jqueryMenu().open().gotoElementsPage();
96  
97          // verify high level interactions
98          jquerypage = product.visit(JQueryPage.class);
99          jquerypage.openJqueryMenu().gotoElementsPage();
100 
101     }
102 }