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.document.header;
017
018 import org.apache.commons.lang.StringUtils;
019 import org.joda.time.DateTime;
020 import org.junit.Assert;
021 import org.junit.Test;
022 import org.kuali.hr.test.KPMETestCase;
023 import org.kuali.hr.time.service.base.TkServiceLocator;
024 import org.kuali.hr.time.test.HtmlUnitUtil;
025 import org.kuali.hr.time.test.TkTestConstants;
026 import org.kuali.hr.time.test.TkTestUtils;
027 import org.kuali.hr.time.util.TKUtils;
028 import org.kuali.hr.time.workflow.TimesheetDocumentHeader;
029 import org.kuali.rice.krad.service.KRADServiceLocator;
030
031 import com.gargoylesoftware.htmlunit.html.HtmlPage;
032
033 public class DocumentHeaderTest extends KPMETestCase {
034
035
036
037 private static Long documentId = 1L;//id entered in the bootstrap SQL
038
039 // this test will pass once the data is correct
040 //INSERT INTO `tk_document_header_t` (`DOCUMENT_ID`,`PRINCIPAL_ID`,`DOCUMENT_STATUS`,`PAY_BEGIN_DT`,`PAY_END_DT`) VALUES
041 //('1001','admin','I','2011-01-01 00:00:00','2011-01-15 00:00:00'),
042 //('1002','admin','I','2011-01-15 00:00:00','2011-02-01 00:00:00');
043 @Test
044 public void testDocumentHeaderPrevFetch() throws Exception{
045 TimesheetDocumentHeader timeHeader = new TimesheetDocumentHeader();
046 timeHeader.setDocumentId("1");
047 timeHeader.setPrincipalId("admin");
048 timeHeader.setDocumentStatus("F");
049 timeHeader.setBeginDate(TkTestUtils.createDate(1, 1, 2011, 0, 0, 0));
050 timeHeader.setEndDate(TkTestUtils.createDate(1, 15, 2011, 0, 0, 0));
051 KRADServiceLocator.getBusinessObjectService().save(timeHeader);
052 DateTime dateTime = new DateTime(2011,1,15,0,0,0,0);
053 TimesheetDocumentHeader tdh = TkServiceLocator.getTimesheetDocumentHeaderService().getPreviousDocumentHeader("admin", new java.util.Date(dateTime.getMillis()));
054 Assert.assertTrue(tdh!=null && StringUtils.equals(tdh.getDocumentId(),"1"));
055 }
056
057 @Test
058 public void testDocumentHeaderMaint() throws Exception {
059 HtmlPage docHeaderLookUp = HtmlUnitUtil.gotoPageAndLogin(getWebClient(), TkTestConstants.Urls.DOC_HEADER_MAINT_URL);
060 docHeaderLookUp = HtmlUnitUtil.clickInputContainingText(docHeaderLookUp, "search");
061 Assert.assertTrue("Page contains admin entry", docHeaderLookUp.asText().contains("admin"));
062 HtmlPage maintPage = HtmlUnitUtil.clickAnchorContainingText(docHeaderLookUp, "edit",documentId.toString());
063 Assert.assertTrue("Maintenance Page contains admin entry",maintPage.asText().contains("admin"));
064 }
065
066 @Override
067 public void setUp() throws Exception {
068 super.setUp();
069 TimesheetDocumentHeader tdh = new TimesheetDocumentHeader();
070 tdh.setDocumentId("1234");
071 tdh.setPrincipalId("admin");
072 tdh.setBeginDate(TKUtils.getCurrentDate());
073 tdh.setEndDate(TKUtils.getCurrentDate());
074
075 KRADServiceLocator.getBusinessObjectService().save(tdh);
076
077 tdh = new TimesheetDocumentHeader();
078 tdh.setDocumentId("1000");
079 tdh.setPrincipalId("admin");
080 tdh.setBeginDate(TKUtils.getCurrentDate());
081 tdh.setEndDate(TKUtils.getCurrentDate());
082
083 KRADServiceLocator.getBusinessObjectService().save(tdh);
084
085 tdh = new TimesheetDocumentHeader();
086 tdh.setDocumentId("2345");
087 tdh.setPrincipalId("admin");
088 tdh.setBeginDate(TKUtils.getCurrentDate());
089 tdh.setEndDate(TKUtils.getCurrentDate());
090
091 KRADServiceLocator.getBusinessObjectService().save(tdh);
092 }
093 }