1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package edu.samplu.krad.library.validation;
17
18 import org.junit.Test;
19
20 import edu.samplu.common.SmokeTestBase;
21
22
23
24
25 public class DemoLibraryValidationCaseConstraintsSmokeTest extends SmokeTestBase {
26
27
28
29
30 public static final String BOOKMARK_URL = "/kr-krad/kradsampleapp?viewId=Demo-CaseConstraint-View&methodToCall=start";
31
32 @Override
33 protected String getBookmarkUrl() {
34 return BOOKMARK_URL;
35 }
36
37 @Override
38 protected void navigate() throws Exception {
39 waitAndClickById("Demo-LibraryLink", "");
40 waitAndClickByLinkText("Validation");
41 waitAndClickByLinkText("Case Constraint");
42 }
43
44 protected void testValidationCaseConstraintsBasic() throws Exception {
45
46 waitAndClickByXpath("//input[@type='radio' and @value='case1']");
47 waitAndTypeByName("inputField1","");
48 waitAndTypeByName("inputField2","");
49 assertElementPresentByXpath("//input[@name='inputField1' and @class='uif-textControl dependsOn-inputField10 error']");
50
51
52 waitAndClickByXpath("//input[@type='radio' and @value='case2']");
53 waitAndTypeByName("inputField1","a_+");
54 waitAndTypeByName("inputField2","");
55 fireMouseOverEventByName("inputField1");
56 assertTextPresent(" Can only be alphanumeric characters ");
57
58
59 waitAndClickByXpath("//input[@type='radio' and @value='case3']");
60 waitAndTypeByName("inputField2","567823");
61 waitAndTypeByName("inputField1","");
62 fireMouseOverEventByName("inputField2");
63 assertTextPresent(" Must be at most 3 characters");
64
65
66 waitAndClickByXpath("//input[@type='radio' and @value='case4']");
67 waitAndTypeByName("inputField3","a");
68 waitAndTypeByName("inputField4","");
69 waitAndTypeByName("inputField3","");
70 fireMouseOverEventByName("inputField4");
71 assertTextPresent(" Required by Field 3");
72 }
73
74 protected void testValidationCaseConstraintsNested() throws Exception {
75 waitAndClickByLinkText("Nested Example");
76
77
78 waitAndTypeByName("inputField5","a");
79 waitAndTypeByName("inputField7","");
80 waitAndTypeByName("inputField6","");
81 assertElementPresentByXpath("//input[@name='inputField7' and @class='uif-textControl dependsOn-inputField5 dependsOn-inputField6 error']");
82 }
83
84 @Test
85 public void testValidationCaseConstraintsBookmark() throws Exception {
86 testValidationCaseConstraintsBasic();
87 testValidationCaseConstraintsNested();
88 passed();
89 }
90
91 @Test
92 public void testValidationCaseConstraintsNav() throws Exception {
93 testValidationCaseConstraintsBasic();
94 testValidationCaseConstraintsNested();
95 passed();
96 }
97 }