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
22
23
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 }