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 DemoLibraryValidationNumericConstraintsSmokeTest extends SmokeTestBase {
26  
27      /**
28       * /kr-krad/kradsampleapp?viewId=Demo-NumericPatternConstraint-View&methodToCall=start
29       */
30      public static final String BOOKMARK_URL = "/kr-krad/kradsampleapp?viewId=Demo-NumericPatternConstraint-View&methodToCall=start";
31     
32      /**
33       *  Can only be alpha characters, whitespace, newlines, periods, parentheses, forward slashes, double quotes, apostrophes, colons, semi-colons, question marks, exclaimation marks, dashes
34       */
35      private static final String ERROR_MSG= "  Can only be numeric characters, whitespace, newlines, periods, parentheses, forward slashes, dashes, plus signs, equals signs, *";
36      
37      @Override
38      protected String getBookmarkUrl() {
39          return BOOKMARK_URL;
40      }
41  
42      @Override
43      protected void navigate() throws Exception {
44          waitAndClickById("Demo-LibraryLink", "");
45          waitAndClickByLinkText("Validation");
46          waitAndClickByLinkText("Numeric Constraint");
47      }
48  
49      protected void testValidationNumericConstraints() throws Exception {
50         //Scenario-1
51         waitAndTypeByName("inputField1","a");
52         waitAndClickByLinkText("Usage");
53         assertElementPresentByXpath("//input[@name='inputField1' and @class='uif-textControl validChar-inputField10 dirty error']");
54      }
55      
56      protected void testValidationNumericConstraintsFlags() throws Exception {
57          waitAndClickByLinkText("Flags");
58          
59          //Scenario-1
60          waitAndTypeByName("inputField2","a s");
61          waitAndTypeByName("inputField3","a#s");
62          assertElementPresentByXpath("//input[@name='inputField2' and @class='uif-textControl validChar-inputField20 dirty error']");
63          waitAndTypeByName("inputField2","");
64          assertElementPresentByXpath("//input[@name='inputField3' and @class='uif-textControl validChar-inputField30 dirty error']");
65      }
66      
67      protected void testValidationNumericConstraintsPreconfiguredBeans() throws Exception {
68          waitAndClickByLinkText("Preconfigured Bean(s)");
69          
70          //Scenario-1
71          waitAndTypeByName("inputField4","1@2");
72          waitAndClickByLinkText("Usage");
73          fireMouseOverEventByName("inputField4");
74          assertTextPresent(ERROR_MSG);
75       }
76      
77      @Test
78      public void testValidationNumericConstraintsBookmark() throws Exception {
79          testValidationNumericConstraints();
80          testValidationNumericConstraintsFlags();
81          testValidationNumericConstraintsPreconfiguredBeans();
82          passed();
83      }
84  
85      @Test
86      public void testValidationNumericConstraintsNav() throws Exception {
87          testValidationNumericConstraints();
88          testValidationNumericConstraintsFlags();
89          testValidationNumericConstraintsPreconfiguredBeans();
90          passed();
91      }  
92  }