1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.krad.labs.kitchensink;
17
18 import org.junit.Test;
19 import org.openqa.selenium.By;
20
21
22
23
24
25
26 public abstract class LabsUifTooltipAft extends LabsKitchenSinkBase {
27
28
29
30
31 public static final String BOOKMARK_URL = "/kr-krad/uicomponents?viewId=UifCompView&methodToCall=start&pageId=UifCompView-Page10";
32
33 private static final String NAME_FIELD_1 = "field1";
34 private static final String NAME_FIELD_2 = "field2";
35
36 @Override
37 protected String getBookmarkUrl() {
38 return BOOKMARK_URL;
39 }
40
41 @Override
42 protected void navigate() throws Exception {
43 navigateToKitchenSink("Other Examples");
44 }
45
46 protected void testUifTooltipByName(String nameField1, String nameField2) throws Exception {
47 findElement(By.name(nameField2));
48
49
50 fireEvent(nameField1, "focus");
51 fireMouseOverEventByName(nameField1);
52
53 String tooltipContents = getText(By.cssSelector("[data-for='ucbjiy8_control']"));
54 assertEquals("This tooltip is triggered by focus or and mouse over.", tooltipContents);
55 fireEvent(nameField1, "blur");
56
57 fireEvent(nameField2, "focus");
58 Thread.sleep(5000);
59
60
61 fireMouseOverEventByName(nameField2);
62 assertFalse("unable to detect tooltip", isVisibleByXpath("//td[contains(.,\"This is a tool-tip with different position and tail options\")]"));
63
64
65 fireEvent(nameField2, "blur");
66 fireMouseOverEventByName(nameField1);
67 waitAndTypeByName(nameField1, "");
68 Thread.sleep(5000);
69 assertFalse("able to detect tooltip", isVisibleByXpath(
70 "//td[contains(.,\"This is a tool-tip with different position and tail options\")]"));
71
72
73 waitAndTypeByName(nameField1, "1");
74 fireEvent(nameField1, "blur");
75 fireMouseOverEventByName(nameField1);
76 Thread.sleep(10000);
77 }
78
79 @Test
80 public void testUifTooltipNav() throws Exception {
81 testUifTooltipByName(NAME_FIELD_1, NAME_FIELD_2);
82 passed();
83 }
84
85 @Test
86 public void testUifTooltipBookmark() throws Exception {
87 testUifTooltipByName(NAME_FIELD_1, NAME_FIELD_2);
88 passed();
89 }
90 }