001 /**
002 * Copyright 2005-2014 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.sampleu.travel;
017
018 import org.junit.Test;
019 import org.kuali.rice.testtools.selenium.WebDriverLegacyITBase;
020
021 /**
022 * Tests the Component section in Rice.
023 *
024 * @author Kuali Rice Team (rice.collab@kuali.org)
025 */
026 public class CollectionTotallingAft extends WebDriverLegacyITBase {
027
028 /**
029 * "/kr-krad/uicomponents?viewId=UifCompView&methodToCall=start&readOnlyFields=field91";
030 */
031 public static final String BOOKMARK_URL = "/kr-krad/uicomponents?viewId=Demo-CollectionTotaling&methodToCall=start";
032
033 @Override
034 protected String getBookmarkUrl() {
035 return BOOKMARK_URL;
036 }
037
038 protected void navigate() throws InterruptedException {
039 waitAndClickKRAD();
040 waitAndClickByXpath(KUALI_COLLECTION_TOTALLING_XPATH);
041 switchToWindow(KUALI_COLLECTION_TOTALLING_WINDOW_XPATH);
042 }
043
044 //Code for KRAD Test Package.
045 protected void testCollectionTotalling() throws Exception {
046 //Scenario Asserts Changes in Total at client side
047 Integer preValue=Integer.parseInt(getTextByXpath("//div[@id='Demo-CollectionTotaling-Section1']/div[@role='grid']/table/tfoot/tr/th[2]/div/fieldset/div/div/span[@class='uif-message']"));
048 clearTextByXpath("//div[@id='Demo-CollectionTotaling-Section1']/div[@role='grid']/table/tbody/tr[2]/td[2]/div/input[@name='list1[0].field1']");
049 waitAndTypeByXpath("//div[@id='Demo-CollectionTotaling-Section1']/div[@role='grid']/table/tbody/tr[2]/td[2]/div/input[@name='list1[0].field1']","0");
050 waitAndClickByXpath("//div[@id='Demo-CollectionTotaling-Section1']/div[@role='grid']/table/tfoot/tr/th[2]/div/fieldset/div/div/span[@class='uif-message']");
051 Integer postValue=Integer.parseInt(getTextByXpath("//div[@id='Demo-CollectionTotaling-Section1']/div[@role='grid']/table/tfoot/tr/th[2]/div/fieldset/div/div/span[@class='uif-message']"));
052 Thread.sleep(2000);
053 if(postValue>preValue) {
054 jiraAwareFail("Totalling not working !");
055 }
056
057 //Scenario Asserts Changes in Total at client side on keyUp
058 Integer preValueClient=Integer.parseInt(getTextByXpath("//div[@id='Demo-CollectionTotaling-Section2']/div[@role='grid']/table/tfoot/tr/th[2]/div/fieldset/div/div/span[@class='uif-message']"));
059 clearTextByXpath("//div[@id='Demo-CollectionTotaling-Section2']/div[@role='grid']/table/tbody/tr[2]/td[2]/div/input[@name='list1[0].field1']");
060 waitAndTypeByXpath("//div[@id='Demo-CollectionTotaling-Section2']/div[@role='grid']/table/tbody/tr[2]/td[2]/div/input[@name='list1[0].field1']","0");
061 Integer postValueClient=Integer.parseInt(getTextByXpath("//div[@id='Demo-CollectionTotaling-Section2']/div[@role='grid']/table/tfoot/tr/th[2]/div/fieldset/div/div/span[@class='uif-message']"));
062 Thread.sleep(2000);
063 if(postValueClient>preValueClient) {
064 jiraAwareFail("Totalling not working !");
065 }
066
067 //Totalling Flexibility
068 assertElementPresentByXpath("//div[@id='Demo-CollectionTotaling-Section3']/div[@role='grid']/table/tfoot/tr/th[3]/div/fieldset/div/div/span[@class='uif-message']");
069
070 //Left Total Labels
071 assertElementPresentByXpath("//div[@id='Demo-CollectionTotaling-Section4']/div[@role='grid']/table/tfoot/tr/th/div/label");
072
073 //Multiple Calculations
074 assertEquals("Page Total:",getTextByXpath("//div[@id='Demo-CollectionTotaling-Section6']/div[@role='grid']/table/tfoot/tr/th[5]/div/div/fieldset/div/div/label"));
075 assertEquals("Page Average:",getTextByXpath("//div[@id='Demo-CollectionTotaling-Section6']/div[@role='grid']/table/tfoot/tr/th[5]/div/div[2]/fieldset/div/div/label"));
076 assertEquals("Page Min:",getTextByXpath("//div[@id='Demo-CollectionTotaling-Section6']/div[@role='grid']/table/tfoot/tr/th[5]/div/div[3]/fieldset/div/div/label"));
077 assertEquals("Page Max:",getTextByXpath("//div[@id='Demo-CollectionTotaling-Section6']/div[@role='grid']/table/tfoot/tr/th[5]/div/div[4]/fieldset/div/div/label"));
078
079 //Group Totaling
080 assertEquals("Group Total:",getTextByXpath("//div[@id='Demo-CollectionTotaling-Section7']/div[@role='grid']/table/tbody/tr[7]/td/div/label"));
081 }
082
083 @Test
084 public void testCollectionTotallingBookmark() throws Exception {
085 testCollectionTotalling();
086 passed();
087 }
088
089 @Test
090 public void testCollectionTotallingNav() throws Exception {
091 testCollectionTotalling();
092 passed();
093 }
094 }