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 DemoLibraryValidationIntegerConstraintsSmokeTest extends SmokeTestBase {
26  
27      /**
28       * /kr-krad/kradsampleapp?viewId=Demo-IntegerPatternConstraint-View&methodToCall=start
29       */
30      public static final String BOOKMARK_URL = "/kr-krad/kradsampleapp?viewId=Demo-IntegerPatternConstraint-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("Integer Constraint");
47      }
48  
49      protected void testValidationNumericConstraints() throws Exception {
50         //Scenario-1
51         waitAndTypeByName("inputField1","1.3");
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","1.2");
61          waitAndTypeByName("inputField3","-0");
62          waitAndTypeByName("inputField4","0");
63          assertElementPresentByXpath("//input[@name='inputField2' and @class='uif-textControl validChar-inputField20 dirty error']");
64          assertElementPresentByXpath("//input[@name='inputField3' and @class='uif-textControl validChar-inputField30 dirty error']");
65          waitAndTypeByName("inputField2","");
66          assertElementPresentByXpath("//input[@name='inputField4' and @class='uif-textControl validChar-inputField40 dirty error']");
67      }
68      
69      @Test
70      public void testValidationNumericConstraintsBookmark() throws Exception {
71          testValidationNumericConstraints();
72          testValidationNumericConstraintsFlags();
73          passed();
74      }
75  
76      @Test
77      public void testValidationNumericConstraintsNav() throws Exception {
78          testValidationNumericConstraints();
79          testValidationNumericConstraintsFlags();
80          passed();
81      }
82  }