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