001 /**
002 * Copyright 2005-2011 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.admin.test;
017
018 import static org.junit.Assert.assertEquals;
019
020 import edu.samplu.common.AdminMenuLegacyITBase;
021 import edu.samplu.common.ITUtil;
022 import edu.samplu.common.WebDriverLegacyITBase;
023
024 import org.junit.Test;
025 import org.openqa.selenium.By;
026
027 /**
028 * tests the Parameter section in Rice.
029 *
030 * @author Kuali Rice Team (rice.collab@kuali.org)
031 */
032 public class ParameterLegacyIT extends AdminMenuLegacyITBase {
033 /**
034 * This overridden method ...
035 *
036 * @see edu.samplu.common.MenuLegacyITBase#getLinkLocator()
037 */
038 String docId;
039 String parameterName;
040 @Override
041 protected String getLinkLocator() {
042 return "Parameter";
043 }
044 @Test
045 public void testParameter() throws Exception {
046
047 super.gotoCreateNew();
048 waitForPageToLoad();
049 docId = getTextByXpath("//div[@id='headerarea']/div/table/tbody/tr[1]/td[1]");
050 //Enter details for Parameter.
051 waitAndTypeByName("document.documentHeader.documentDescription", "Adding Test Parameter");
052 selectOptionByName("document.newMaintainableObject.namespaceCode", "KR-WKFLW");
053 waitAndTypeByName("document.newMaintainableObject.componentCode", "ActionList");
054 waitAndTypeByName("document.newMaintainableObject.applicationId", "KUALI");
055 parameterName = "TestIndicator" + ITUtil.DTS_TWO;
056 waitAndTypeByName("document.newMaintainableObject.name", parameterName);
057 waitAndTypeByName("document.newMaintainableObject.value", "Y");
058 waitAndTypeByName("document.newMaintainableObject.description", "for testing");
059 selectOptionByName("document.newMaintainableObject.parameterTypeCode", "HELP");
060 waitAndClickByXpath("//input[@name='document.newMaintainableObject.evaluationOperatorCode' and @value='A']");
061
062 waitAndClickByXpath("//input[@name='methodToCall.save' and @alt='save']");
063 waitAndClickByXpath("//input[@name='methodToCall.route' and @alt='submit']");
064 waitForPageToLoad();
065 assertElementPresentByXpath("//div[contains(div,'Document was successfully submitted.')]", "Document is not submitted successfully");
066 selectTopFrame();
067 waitAndClickByXpath("//a[@title='Document Search']");
068 waitForPageToLoad();
069 selectFrame("iframeportlet");
070 waitAndClickByXpath("//input[@name='methodToCall.search' and @value='search']");
071 Thread.sleep(2000);
072 assertEquals(docId, getTextByXpath("//table[@id='row']/tbody/tr[1]/td[1]/a"));
073 assertEquals("FINAL", getTextByXpath("//table[@id='row']/tbody/tr[1]/td[4]"));
074 selectTopFrame();
075 System.out.println("--------------------------------New Parameter Created-------------------------");
076
077 //Lookup
078 super.gotoMenuLinkLocator();
079 waitAndTypeByName("name", parameterName);
080 waitAndClickByXpath("//input[@name='methodToCall.search' and @value='search']");
081 isElementPresentByLinkText(parameterName);
082 waitAndClickByLinkText(parameterName);
083 waitForPageToLoad();
084 Thread.sleep(2000);
085 switchToWindow("Kuali :: Inquiry");
086 Thread.sleep(2000);
087 assertEquals(parameterName, getTextByXpath("//div[@class='tab-container']/table//span[@id='name.div']").trim());
088 assertEquals("Y", getTextByXpath("//div[@class='tab-container']/table//span[@id='value.div']").trim());
089 waitAndClickByXpath("//*[@title='close this window']");
090 switchToWindow("null");
091 System.out.println("--------------------------------Lookup And View Successful-------------------------");
092
093 //edit
094 selectFrame("iframeportlet");
095 waitAndClickByLinkText("edit");
096 waitForPageToLoad();
097 docId = getTextByXpath("//div[@id='headerarea']/div/table/tbody/tr[1]/td[1]");
098 waitAndTypeByName("document.documentHeader.documentDescription", "Editing Test Parameter");
099 clearTextByName("document.newMaintainableObject.value");
100 waitAndTypeByName("document.newMaintainableObject.value", "N");
101 waitAndClickByXpath("//input[@name='methodToCall.save' and @alt='save']");
102 waitAndClickByXpath("//input[@name='methodToCall.route' and @alt='submit']");
103 waitForPageToLoad();
104 assertElementPresentByXpath("//div[contains(div,'Document was successfully submitted.')]", "Document is not submitted successfully");
105 selectTopFrame();
106 waitAndClickByXpath("//a[@title='Document Search']");
107 waitForPageToLoad();
108 selectFrame("iframeportlet");
109 waitAndClickByXpath("//input[@name='methodToCall.search' and @value='search']");
110 Thread.sleep(2000);
111 assertEquals(docId, getTextByXpath("//table[@id='row']/tbody/tr[1]/td[1]/a"));
112 assertEquals("FINAL", getTextByXpath("//table[@id='row']/tbody/tr[1]/td[4]"));
113 selectTopFrame();
114 System.out.println("-----------------------------------Parameter Edited-------------------------");
115
116 //Verify if its edited
117 super.gotoMenuLinkLocator();
118 waitAndTypeByName("name", parameterName);
119 waitAndClickByXpath("//input[@name='methodToCall.search' and @value='search']");
120 isElementPresentByLinkText(parameterName);
121 waitAndClickByLinkText(parameterName);
122 waitForPageToLoad();
123 Thread.sleep(2000);
124 switchToWindow("Kuali :: Inquiry");
125 Thread.sleep(2000);
126 assertEquals(parameterName, getTextByXpath("//div[@class='tab-container']/table//span[@id='name.div']").trim());
127 assertEquals("N", getTextByXpath("//div[@class='tab-container']/table//span[@id='value.div']").trim());
128 waitAndClickByXpath("//*[@title='close this window']");
129 switchToWindow("null");
130
131
132 //copy
133 selectFrame("iframeportlet");
134 waitAndClickByLinkText("copy");
135 waitForPageToLoad();
136 docId = getTextByXpath("//div[@id='headerarea']/div/table/tbody/tr[1]/td[1]");
137 waitAndTypeByName("document.documentHeader.documentDescription", "Copying Test Parameter");
138 selectOptionByName("document.newMaintainableObject.namespaceCode", "KR-WKFLW");
139 waitAndTypeByName("document.newMaintainableObject.componentCode", "ActionList");
140 waitAndTypeByName("document.newMaintainableObject.applicationId", "KUALI");
141 parameterName = "TestIndicator" + ITUtil.DTS_TWO;
142 waitAndTypeByName("document.newMaintainableObject.name", parameterName);
143 waitAndClickByXpath("//input[@name='methodToCall.save' and @alt='save']");
144 waitAndClickByXpath("//input[@name='methodToCall.route' and @alt='submit']");
145 waitForPageToLoad();
146 assertElementPresentByXpath("//div[contains(div,'Document was successfully submitted.')]", "Document is not submitted successfully");
147 selectTopFrame();
148 waitAndClickByXpath("//a[@title='Document Search']");
149 waitForPageToLoad();
150 selectFrame("iframeportlet");
151 waitAndClickByXpath("//input[@name='methodToCall.search' and @value='search']");
152 Thread.sleep(2000);
153 assertEquals(docId, getTextByXpath("//table[@id='row']/tbody/tr[1]/td[1]/a"));
154 assertEquals("FINAL", getTextByXpath("//table[@id='row']/tbody/tr[1]/td[4]"));
155 selectTopFrame();
156 System.out.println("-----------------------------------Parameter Edited-------------------------");
157
158 //Verify if its copied
159 super.gotoMenuLinkLocator();
160 waitAndTypeByName("name", parameterName);
161 waitAndClickByXpath("//input[@name='methodToCall.search' and @value='search']");
162 isElementPresentByLinkText(parameterName);
163 waitAndClickByLinkText(parameterName);
164 waitForPageToLoad();
165 Thread.sleep(2000);
166 switchToWindow("Kuali :: Inquiry");
167 Thread.sleep(2000);
168 assertEquals(parameterName, getTextByXpath("//div[@class='tab-container']/table//span[@id='name.div']").trim());
169 assertEquals("N", getTextByXpath("//div[@class='tab-container']/table//span[@id='value.div']").trim());
170 waitAndClickByXpath("//*[@title='close this window']");
171 switchToWindow("null");
172 }
173
174
175 }