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.labs.clientside.stateview; 017 018 import org.junit.Test; 019 import org.junit.Assert; 020 import edu.samplu.common.SmokeTestBase; 021 022 /** 023 * @author Kuali Rice Team (rice.collab@kuali.org) 024 */ 025 public class ClientSideStateViewSmokeTest extends SmokeTestBase { 026 027 /** 028 * /kr-krad/labs?viewId=Lab-ClientSideState&formKey=ff000d97-13e9-4130-81a3-bc0217e8e0eb& 029 * cacheKey=otutyty24mo0f76n59ebqxvtpg&pageId=Lab-ClientSideState-Page1 030 */ 031 public static final String BOOKMARK_URL = "/kr-krad/labs?viewId=Lab-ClientSideState&formKey=ff000d97-13e9-4130-81a3-bc0217e8e0eb&cacheKey=otutyty24mo0f76n59ebqxvtpg&pageId=Lab-ClientSideState-Page1"; 032 033 /** 034 * inactivatableCollection[0].active 035 */ 036 private static final String ACTIVE_COMPONENT_NAME = "inactivatableCollection[0].active"; 037 038 /** 039 * inactivatableCollection[0].active 040 */ 041 private static final String ACTIVE_COMPONENT2_NAME = "inactivatableCollection2[0].active"; 042 043 /** 044 * //div[4]/div[2]/button 045 */ 046 private static final String AJAX_BUTTON_XPATH = "//div[4]/div[2]/button"; 047 048 /** 049 * //div[4]/div[2]/button[2] 050 */ 051 private static final String SUBMIT_BUTTON_XPATH = "//div[4]/div[2]/button[2]"; 052 053 /** 054 * This overridden method ... 055 * 056 * @see edu.samplu.common.SmokeTestBase#navigate() 057 */ 058 @Override 059 protected void navigate() throws Exception { 060 // TODO deep - THIS METHOD NEEDS JAVADOCS 061 //Navigation is not defined for this functionality so we only do have URL in this Smoke Test. 062 } 063 064 @Override 065 protected String getBookmarkUrl() { 066 return BOOKMARK_URL; 067 } 068 069 @Test 070 public void testClientSideStateViewBookmark() throws Exception { 071 testClientSideStateView(); 072 } 073 074 public void testClientSideStateView() throws Exception 075 { 076 selectFrameIframePortlet(); 077 waitAndClickByName(ACTIVE_COMPONENT_NAME); 078 waitAndClickByName(ACTIVE_COMPONENT2_NAME); 079 waitAndClickByXpath(AJAX_BUTTON_XPATH); 080 Thread.sleep(5000); 081 Assert.assertFalse(isElementPresentByName(ACTIVE_COMPONENT_NAME)); 082 Assert.assertFalse(isElementPresentByName(ACTIVE_COMPONENT2_NAME)); 083 waitAndClickByXpath(SUBMIT_BUTTON_XPATH); 084 Thread.sleep(5000); 085 Assert.assertFalse(isElementPresentByName(ACTIVE_COMPONENT_NAME)); 086 Assert.assertFalse(isElementPresentByName(ACTIVE_COMPONENT2_NAME)); 087 } 088 }