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.controls;
17  
18  import org.junit.Test;
19  
20  import org.kuali.rice.testtools.selenium.Failable;
21  import org.kuali.rice.testtools.selenium.ITUtil;
22  import org.kuali.rice.testtools.selenium.SmokeTestBase;
23  import org.kuali.rice.testtools.selenium.WebDriverLegacyITBase;
24  
25  /**
26   * @author Kuali Rice Team (rice.collab@kuali.org)
27   */
28  public class DemoLibraryControlRadioSmokeTest extends SmokeTestBase {
29  
30      /**
31       * /kr-krad/kradsampleapp?viewId=Demo-RadioControl-View&methodToCall=start
32       */
33      public static final String BOOKMARK_URL = "/kr-krad/kradsampleapp?viewId=Demo-RadioControl-View&methodToCall=start";
34  
35      @Override
36      protected String getBookmarkUrl() {
37          return BOOKMARK_URL;
38      }
39  
40      @Override
41      protected void navigate() throws Exception {
42          waitAndClickById("Demo-LibraryLink", "");
43          waitAndClickByLinkText("Controls");
44          waitAndClickByLinkText("Radio");
45      }
46  
47      protected void testLibraryControlRadioOptionsFinder() throws Exception {
48          waitAndClickByLinkText("OptionsFinder");
49          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example1']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='1']");
50          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example1']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='5']");
51      }
52      
53      protected void testLibraryControlRadioKeyValuePairs() throws Exception {
54          waitAndClickByLinkText("Key-value pr.");
55          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example2']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='1']");
56          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example2']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='2']");
57      }
58      
59      protected void testLibraryControlRadioDisabled() throws Exception {
60          waitAndClickByLinkText("Disabled");
61          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example3']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @disabled='disabled' and @value='1']");
62          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example3']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @disabled='disabled' and @value='2']");
63      }
64      
65      protected void testLibraryControlRadioDelimiter() throws Exception {
66          waitAndClickByLinkText("Delimiter");
67          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example4']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='1']");
68          assertTextPresent(";");
69          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example4']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='2']");
70      }
71      
72      protected void testLibraryControlRadioDisableOnKeyEvent() throws Exception {
73          waitAndClickByLinkText("Disable on Key event");
74          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example5']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @disabled='disabled' and @value='1']");
75          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example5']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @disabled='disabled' and @value='2']");
76          waitAndTypeByName("inputField1","a");
77          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example5']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='1']");
78          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example5']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='2']");
79      }
80      
81      protected void testLibraryControlRadioEnableWhenChanged() throws Exception {
82          waitAndClickByLinkText("Enable when changed");
83          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example6']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField4' and @disabled='disabled' and @value='1']");
84          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example6']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField4' and @disabled='disabled' and @value='2']");
85          waitAndTypeByName("inputField3","a");
86          waitAndClickByLinkText("Usage");
87          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example6']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField4' and @value='1']");
88          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example6']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField4' and @value='2']");
89      }
90      
91      protected void testLibraryControlRadioDisableWhenChanged() throws Exception {
92          waitAndClickByLinkText("Disable when changed");
93          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example7']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField6' and @value='1']");
94          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example7']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField6' and @value='2']");
95          waitAndTypeByName("inputField5","a");
96          waitAndClickByLinkText("Usage");
97          waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example7']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@disabled]");
98      }
99      
100     @Test
101     public void testControlRadioBookmark() throws Exception {
102         testLibraryControlRadioOptionsFinder();
103         testLibraryControlRadioKeyValuePairs();
104         testLibraryControlRadioDisabled();
105         testLibraryControlRadioDelimiter();
106         testLibraryControlRadioDisableOnKeyEvent();
107         testLibraryControlRadioEnableWhenChanged();
108         testLibraryControlRadioDisableWhenChanged();
109         passed();
110     }
111 
112     @Test
113     public void testControlRadioNav() throws Exception {
114         testLibraryControlRadioOptionsFinder();
115         testLibraryControlRadioKeyValuePairs();
116         testLibraryControlRadioDisabled();
117         testLibraryControlRadioDelimiter();
118         testLibraryControlRadioDisableOnKeyEvent();
119         testLibraryControlRadioEnableWhenChanged();
120         testLibraryControlRadioDisableWhenChanged();
121         passed();
122     }  
123 }