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 group section in Rice.
029     * 
030     * @author Kuali Rice Team (rice.collab@kuali.org)
031     */
032    public class GroupLegacyIT extends AdminMenuLegacyITBase {
033        /**
034         * This overridden method ...
035         * 
036         * @see edu.samplu.common.MenuLegacyITBase#getLinkLocator()
037         */
038        @Override
039        protected String getLinkLocator() {
040            return "Group";
041        }
042        @Test
043        public void testAddingBrownGroup() throws Exception {
044            
045            super.gotoCreateNew();
046            waitForPageToLoad();
047            String docId = driver.findElement(By.xpath("//div[@id='headerarea']/div/table/tbody/tr[1]/td[1]")).getText();
048            //Enter details for BrownGroup.
049            waitAndTypeByName("document.documentHeader.documentDescription", "Adding Brown Group");
050            waitAndTypeByName("document.documentHeader.explanation", "I want to add Brown Group to test KIM");
051            selectOptionByName("document.groupNamespace", "KR-IDM");
052            waitForPageToLoad();
053            String groupName = "BrownGroup "+ITUtil.DTS_TWO;
054            waitAndTypeByName("document.groupName", groupName);
055            checkByName("document.active");
056            waitAndClickByXpath("//*[@name='methodToCall.save' and @alt='save']");
057            waitForPageToLoad();
058            assertElementPresentByXpath("//div[contains(div,'Document was successfully saved.')]", "Document is not saved successfully");
059            checkForIncidentReport();
060            //checks it is saved and initiator is admin.
061            assertEquals("SAVED", driver.findElement(By.xpath("//table[@class='headerinfo']/tbody/tr[1]/td[2]")).getText());
062            assertEquals("admin", driver.findElement(By.xpath("//table[@class='headerinfo']/tbody/tr[2]/td[1]/a")).getText());
063            waitAndClickByName("methodToCall.performLookup.(!!org.kuali.rice.kim.impl.identity.PersonImpl!!).(((principalId:member.memberId,principalName:member.memberName))).((``)).((<>)).(([])).((**)).((^^)).((&&)).((//)).((~~)).(::::;;::::).anchorAssignees");
064            waitForPageToLoad();
065            waitAndClickByXpath("//input[@name='methodToCall.search' and @value='search']");
066            waitForPageToLoad();
067            waitAndClickByLinkText("return value");
068            waitForPageToLoad();
069            waitAndClickByName("methodToCall.addMember.anchorAssignees");
070            waitForPageToLoad();
071            waitAndClickByXpath("//input[@name='methodToCall.save' and @alt='save']");
072            waitAndClickByXpath("//input[@name='methodToCall.route' and @alt='submit']");
073            waitForPageToLoad();
074            assertElementPresentByXpath("//div[contains(div,'Document was successfully submitted.')]", "Document is not submitted successfully");
075            selectTopFrame();
076            waitAndClickByLinkText("Administration");
077            waitForPageToLoad();
078            waitAndClickByLinkText("Group");
079            waitForPageToLoad();
080            selectFrame("iframeportlet");
081            waitAndTypeByName("name", groupName);
082            waitAndClickByXpath("//input[@name='methodToCall.search' and @value='search']");
083            isElementPresentByLinkText(groupName);
084        }
085    
086        
087    }