001 /**
002 * Copyright 2005-2013 The Kuali Foundation
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package edu.samplu.krad.library.controls;
017
018 import org.junit.Test;
019
020 import org.kuali.rice.testtools.selenium.Failable;
021 import org.kuali.rice.testtools.selenium.ITUtil;
022 import org.kuali.rice.testtools.selenium.SmokeTestBase;
023 import org.kuali.rice.testtools.selenium.WebDriverLegacyITBase;
024
025 /**
026 * @author Kuali Rice Team (rice.collab@kuali.org)
027 */
028 public class DemoLibraryControlRadioSmokeTest extends SmokeTestBase {
029
030 /**
031 * /kr-krad/kradsampleapp?viewId=Demo-RadioControl-View&methodToCall=start
032 */
033 public static final String BOOKMARK_URL = "/kr-krad/kradsampleapp?viewId=Demo-RadioControl-View&methodToCall=start";
034
035 @Override
036 protected String getBookmarkUrl() {
037 return BOOKMARK_URL;
038 }
039
040 @Override
041 protected void navigate() throws Exception {
042 waitAndClickById("Demo-LibraryLink", "");
043 waitAndClickByLinkText("Controls");
044 waitAndClickByLinkText("Radio");
045 }
046
047 protected void testLibraryControlRadioOptionsFinder() throws Exception {
048 waitAndClickByLinkText("OptionsFinder");
049 waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example1']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='1']");
050 waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example1']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='5']");
051 }
052
053 protected void testLibraryControlRadioKeyValuePairs() throws Exception {
054 waitAndClickByLinkText("Key-value pr.");
055 waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example2']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='1']");
056 waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example2']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='2']");
057 }
058
059 protected void testLibraryControlRadioDisabled() throws Exception {
060 waitAndClickByLinkText("Disabled");
061 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']");
062 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']");
063 }
064
065 protected void testLibraryControlRadioDelimiter() throws Exception {
066 waitAndClickByLinkText("Delimiter");
067 waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example4']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='1']");
068 assertTextPresent(";");
069 waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example4']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='2']");
070 }
071
072 protected void testLibraryControlRadioDisableOnKeyEvent() throws Exception {
073 waitAndClickByLinkText("Disable on Key event");
074 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']");
075 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']");
076 waitAndTypeByName("inputField1","a");
077 waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example5']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='1']");
078 waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example5']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField2' and @value='2']");
079 }
080
081 protected void testLibraryControlRadioEnableWhenChanged() throws Exception {
082 waitAndClickByLinkText("Enable when changed");
083 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']");
084 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']");
085 waitAndTypeByName("inputField3","a");
086 waitAndClickByLinkText("Usage");
087 waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example6']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField4' and @value='1']");
088 waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example6']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField4' and @value='2']");
089 }
090
091 protected void testLibraryControlRadioDisableWhenChanged() throws Exception {
092 waitAndClickByLinkText("Disable when changed");
093 waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example7']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField6' and @value='1']");
094 waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example7']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@type='radio' and @name='inputField6' and @value='2']");
095 waitAndTypeByName("inputField5","a");
096 waitAndClickByLinkText("Usage");
097 waitForElementPresentByXpath("//div[@id='Demo-RadioControl-Example7']/div[@class='uif-verticalBoxLayout clearfix']/div/fieldset/span/input[@disabled]");
098 }
099
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 }