View Javadoc

1   /**
2    * Copyright 2005-2013 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package edu.samplu.krad.library.validation;
17  
18  import org.junit.Test;
19  
20  import edu.samplu.common.SmokeTestBase;
21  
22  /**
23   * @author Kuali Rice Team (rice.collab@kuali.org)
24   */
25  public class DemoLibraryValidationSimpleConstraintsSmokeTest extends SmokeTestBase {
26  
27      /**
28       * /kr-krad/kradsampleapp?viewId=Demo-SimpleConstraint-View&methodToCall=start
29       */
30      public static final String BOOKMARK_URL = "/kr-krad/kradsampleapp?viewId=Demo-SimpleConstraint-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("Simple Constraints");
42      }
43  
44      protected void testValidationSimpleConstraintsRequired() throws Exception {
45         waitAndTypeByName("inputField1","");
46         waitAndTypeByName("inputField2","");
47         waitAndTypeByName("inputField3","");
48         Thread.sleep(1000);
49         assertElementPresentByXpath("//input[@name='inputField1' and @class='uif-textControl required error']");
50         assertElementPresentByXpath("//input[@name='inputField2' and @class='uif-textControl required error']");
51         waitAndTypeByName("inputField1","");
52         assertElementPresentByXpath("//input[@name='inputField3' and @class='uif-textControl required error']");
53      }
54      
55      protected void testValidationSimpleConstraintsMinMaxLength() throws Exception {
56          waitAndClickByLinkText("Min/Max Length");
57          waitAndTypeByName("inputField4","deepmoteria");
58          waitAndTypeByName("inputField5","de");
59          waitAndTypeByName("inputField4","");
60          Thread.sleep(1000);
61          assertElementPresentByXpath("//input[@name='inputField5' and @class='uif-textControl dirty error']");
62      }
63  
64      protected void testValidationSimpleConstraintsMinMaxValue() throws Exception {
65          waitAndClickByLinkText("Min/Max Value");
66          waitAndTypeByName("inputField6","21");
67          waitAndTypeByName("inputField7","2");
68          waitAndTypeByName("inputField6","");
69          assertElementPresentByXpath("//input[@name='inputField6' and @class='uif-textControl dirty error']");
70          assertElementPresentByXpath("//input[@name='inputField7' and @class='uif-textControl dirty error']");
71      }
72      
73      @Test
74      public void testValidationSimpleConstraintsBookmark() throws Exception {
75          testValidationSimpleConstraintsRequired();
76          testValidationSimpleConstraintsMinMaxLength();
77          testValidationSimpleConstraintsMinMaxValue();
78          passed();
79      }
80  
81      @Test
82      public void testValidationSimpleConstraintsNav() throws Exception {
83          testValidationSimpleConstraintsRequired();
84          testValidationSimpleConstraintsMinMaxLength();
85          testValidationSimpleConstraintsMinMaxValue();
86          passed();
87      }
88  }