001 /** 002 * Copyright 2004-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 org.kuali.hr.lm.leave.web; 017 018 import com.gargoylesoftware.htmlunit.html.HtmlButton; 019 import com.gargoylesoftware.htmlunit.html.HtmlPage; 020 import junit.framework.Assert; 021 import org.junit.After; 022 import org.junit.Before; 023 import org.junit.Test; 024 import org.kuali.hr.lm.leavecalendar.LeaveCalendarDocument; 025 import org.kuali.hr.test.KPMETestCase; 026 import org.kuali.hr.time.calendar.CalendarEntries; 027 import org.kuali.hr.time.service.base.TkServiceLocator; 028 import org.kuali.hr.time.test.HtmlUnitUtil; 029 import org.kuali.hr.time.test.TkTestConstants; 030 031 032 public class LeaveCalendarWebTest extends KPMETestCase { 033 private String documentId; 034 035 @Before 036 public void setUp() throws Exception { 037 super.setUp(); 038 039 CalendarEntries firstCalendarEntry = TkServiceLocator.getCalendarEntriesService().getCalendarEntries("202"); 040 LeaveCalendarDocument firstLeaveCalendarDocument = TkServiceLocator.getLeaveCalendarService().openLeaveCalendarDocument("admin", firstCalendarEntry); 041 documentId = firstLeaveCalendarDocument.getDocumentId(); 042 043 CalendarEntries secondCalendarEntry = TkServiceLocator.getCalendarEntriesService().getCalendarEntries("203"); 044 TkServiceLocator.getLeaveCalendarService().openLeaveCalendarDocument("admin", secondCalendarEntry); 045 046 CalendarEntries thirdCalendarEntry = TkServiceLocator.getCalendarEntriesService().getCalendarEntries("204"); 047 TkServiceLocator.getLeaveCalendarService().openLeaveCalendarDocument("admin", thirdCalendarEntry); 048 } 049 050 @After 051 public void tearDown() throws Exception { 052 super.tearDown(); 053 } 054 055 @Test 056 public void testLeaveCalendarPage() throws Exception { 057 // get the page and Login 058 HtmlPage leaveCalendarPage = HtmlUnitUtil 059 .gotoPageAndLogin(getWebClient(), TkTestConstants.Urls.LEAVE_CALENDAR_URL+"?documentId=" + documentId, true); 060 Assert.assertNotNull("Leave Request page not found" ,leaveCalendarPage); 061 062 //this.setWebClient(leaveCalendarPage.getWebClient()); 063 064 Assert.assertTrue("Page does not have Current calendar ", leaveCalendarPage.asText().contains("March 2012")); 065 066 // Check for next document 067 HtmlButton nextButton = (HtmlButton) leaveCalendarPage 068 .getElementById("nav_next_lc"); 069 Assert.assertNotNull(nextButton); 070 //TODO: click not working. Not even getting to the 'execute' method in LeaveCalendarAction 071 HtmlPage page = nextButton.click(); 072 Assert.assertNotNull(page); 073 074 synchronized (page) { 075 page.wait(5000); 076 } 077 078 // Check for previous document 079 HtmlButton prevButton = (HtmlButton) page 080 .getElementById("nav_prev_lc"); 081 Assert.assertNotNull(prevButton); 082 page = prevButton.click(); 083 Assert.assertNotNull(page); 084 085 } 086 087 }