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.time.position;
017
018 import org.junit.Assert;
019 import org.junit.Test;
020 import org.kuali.hr.test.KPMETestCase;
021 import org.kuali.hr.time.test.HtmlUnitUtil;
022 import org.kuali.hr.time.test.TkTestConstants;
023
024 import com.gargoylesoftware.htmlunit.html.HtmlInput;
025 import com.gargoylesoftware.htmlunit.html.HtmlPage;
026
027 public class PositionTest extends KPMETestCase {
028
029 public static final String TEST_USER = "admin";
030
031
032 @Test
033 public void testPositionMaintWorkAreaSave() throws Exception {
034
035 HtmlPage positionLookup = HtmlUnitUtil.gotoPageAndLogin(TkTestConstants.Urls.POSITION_MAINT_URL);
036 HtmlPage resultPage = HtmlUnitUtil.clickInputContainingText(positionLookup, "search");
037
038 //look up a work area
039 HtmlPage positionMaintPage = HtmlUnitUtil.clickAnchorContainingText(resultPage, "edit", "2085");
040 HtmlUnitUtil.createTempFile(positionMaintPage);
041 Assert.assertTrue("Maintenance page contains:\n" + "Work area for Position 2085 is 1003", positionMaintPage.asText().contains("1003"));
042
043 //submit a changed work area
044 setFieldValue(positionMaintPage, "document.documentHeader.documentDescription", "Position workArea - test");
045 HtmlInput workAreaText = HtmlUnitUtil.getInputContainingText(positionMaintPage, "id=\"document.newMaintainableObject.workArea\"");
046 workAreaText.setValueAttribute("30");
047 HtmlPage outputPage = HtmlUnitUtil.clickInputContainingText(positionMaintPage, "submit");
048 HtmlUnitUtil.createTempFile(outputPage);
049 Assert.assertTrue("Maintenance page text contains:\n" + "Document was successfully submitted", outputPage.asText().contains("Document was successfully submitted"));
050 Assert.assertTrue("Maintenance page contains:\n" + "Work area changed to 30", outputPage.asText().contains("30"));
051
052 //look up the changed work area
053 HtmlPage fetchedPositionMaintPage = HtmlUnitUtil.clickAnchorContainingText(resultPage, "edit", "2085");
054 HtmlUnitUtil.createTempFile(fetchedPositionMaintPage);
055 Assert.assertTrue("Fetched maintenance page now contains:\n" + "Work area for Position 2085 is 30", fetchedPositionMaintPage.asText().contains("30"));
056 }
057
058 @Test
059 public void testPositionMaintWorkAreaInquiry() throws Exception {
060
061 HtmlPage positionLookup = HtmlUnitUtil.gotoPageAndLogin(TkTestConstants.Urls.POSITION_MAINT_URL);
062 HtmlPage resultPage = HtmlUnitUtil.clickInputContainingText(positionLookup, "search");
063
064 //test the work area inquiry from the position page note that this returns the first work area in tk_work_area_t in all cases for now -- see KPME-1219
065 HtmlPage workAreaInquiryPage = HtmlUnitUtil.clickAnchorContainingText(resultPage, "workarea", "1000");
066 HtmlUnitUtil.createTempFile(workAreaInquiryPage);
067 Assert.assertTrue("Inquiry page text contains:\n" + "WorkArea Inquiry", workAreaInquiryPage.asText().contains("WorkArea Inquiry"));
068 //first work area in tk-test -- see comment above for this test
069 Assert.assertTrue("Inquiry page text contains:\n" + "First work area in tk-test", workAreaInquiryPage.asText().contains("1000"));
070
071 }
072
073 }