View Javadoc

1   package com.atlassian.pageobjects.elements.test.query;
2   
3   import com.atlassian.pageobjects.PageBinder;
4   import com.atlassian.pageobjects.ProductInstance;
5   import com.atlassian.pageobjects.Tester;
6   import com.atlassian.pageobjects.binder.InjectPageBinder;
7   import com.atlassian.pageobjects.elements.WebDriverElement;
8   import com.atlassian.pageobjects.elements.timeout.Timeouts;
9   import com.google.inject.Binder;
10  import com.google.inject.Module;
11  import org.junit.Before;
12  import org.junit.Test;
13  import org.mockito.Mock;
14  import org.mockito.MockitoAnnotations;
15  import org.openqa.selenium.By;
16  import org.openqa.selenium.WebDriver;
17  
18  import static org.mockito.Mockito.when;
19  
20  /**
21   * Test case for {@link WebDriverElement}.
22   *
23   * @since 2.0.0
24   */
25  public class TestWebDriverElement
26  {
27      @Mock
28      private ProductInstance mockProductInstance;
29  
30      @Mock
31      private Tester mockTester;
32  
33      @Mock
34      private WebDriver mockDriver;
35  
36      @Mock
37      private Timeouts mockTimeouts;
38  
39      private PageBinder pageBinder;
40  
41      @Before
42      public void initMocks()
43      {
44          MockitoAnnotations.initMocks(this);
45          when(mockProductInstance.getBaseUrl()).thenReturn("http://test.atlassian.com:8080/test");
46          pageBinder = new InjectPageBinder(mockProductInstance, mockTester, new Module() {
47              public void configure(Binder binder) {
48                  binder.bind(WebDriver.class).toInstance(mockDriver);
49                  binder.bind(Timeouts.class).toInstance(mockTimeouts);
50              }
51          });
52      }
53  
54      @Test
55      public void shouldFindSinglePageElement()
56      {
57          final WebDriverElement tested = pageBinder.bind(WebDriverElement.class, By.id("test-id"));
58  
59          tested.find(By.className("inside"));
60      }
61  }