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