1 /** 2 * Copyright 2004-2014 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.opensource.org/licenses/ecl2.php 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.kuali.kpme.tklm.leave.transfer; 17 18 import static org.junit.Assert.assertTrue; 19 20 import java.util.HashMap; 21 22 import org.junit.After; 23 import org.junit.Before; 24 import org.junit.Test; 25 import org.kuali.kpme.core.IntegrationTest; 26 import org.kuali.kpme.tklm.TKLMIntegrationTestCase; 27 import org.kuali.rice.krad.service.BusinessObjectService; 28 import org.kuali.rice.krad.service.KRADServiceLocator; 29 30 @IntegrationTest 31 public class BalanceTransferValidationTest extends TKLMIntegrationTestCase { 32 33 private BusinessObjectService boService; 34 35 @Before 36 public void setUp() throws Exception { 37 super.setUp(); 38 boService = KRADServiceLocator.getBusinessObjectService(); 39 clearBusinessObjects(BalanceTransfer.class); 40 } 41 42 @After 43 public void tearDown() throws Exception { 44 super.tearDown(); 45 } 46 47 @Test 48 public void testOverMaxCarryOver() throws Exception{ 49 assertTrue("Dummy assertion", true); 50 } 51 52 /* 53 @Test 54 public void testAtMaxCarryOver() throws Exception{ 55 assertTrue(true); 56 } 57 58 @Test 59 public void testUnderMaxBalanceBalanceTransfer() throws Exception{ 60 //ensure that balance transfer isn't triggered by accrual categories whose balance is 61 //less than the max balance. 62 //Exception could be balance transfers for termination/retirement where max balance 63 //is not yet reached. 64 assertTrue(true); 65 } 66 67 @Test 68 public void testOverMaxBalanceBalanceTransfer() throws Exception{ 69 assertTrue(true); 70 } 71 72 @Test 73 public void testAtMaxBalanceBalanceTransfer() throws Exception{ 74 assertTrue(true); 75 } 76 77 @Test 78 public void testBalanceTransferOfPartialFTE() throws Exception{ 79 //TODO: Balance transfer test of employee having more than one leave eligible job 80 // but whose FTE is less than one. 81 assertTrue(true); 82 } 83 84 @Test 85 public void testBalanceTransferOfPartialFTECase2() throws Exception{ 86 //TODO: Balance transfer test of employee having more than one leave eligible job 87 // and whose FTE is 1 88 assertTrue(true); 89 } 90 91 @Test 92 public void testBalanceTransferOfNonFTEEmployee() throws Exception{ 93 //TODO: Balance transfer should not be available for employee having no leave 94 // eligible job (FTE=0) 95 assertTrue(true); 96 } 97 */ 98 99 // /** 100 // * Following tests should be moved to leave calendar to test on-demand balance transfers and payouts. 101 // */ 102 // @Test 103 // public void testOnDemandBalanceTransfer() throws Exception{ 104 // //TODO: Check to make sure that the "Transfer" button appears when max balance 105 // // is reached for a transfer with action frequency "On-Demand" and action "Transfer" 106 // // is in effect for accrual category. 107 // assertTrue(true); 108 // } 109 // 110 // @Test 111 // public void testOnDemandBalancePayout() throws Exception{ 112 // //TODO: Check to make sure that the "Payout" button appears when max balance 113 // // is reached for a transfer with action frequency "On-Demand" and action "payout" 114 // // is in effect for accrual category. 115 // assertTrue(true); 116 // } 117 // 118 // @Test 119 // public void testOnDemandBalanceTransferForMultipleAccrualCategories() throws Exception{ 120 // //TODO: Test that the "Transfer" button correctly displays when more than one accrual 121 // // category reach max balance simultaneously. 122 // assertTrue(true); 123 // } 124 // 125 // @Test 126 // public void testOnDemandBalancePayoutForMultipleAccrualCategories() throws Exception{ 127 // //TODO: Test that the "Payout" button displays correctly when more than one accrual 128 // // category reach max balance simultaneously. 129 // assertTrue(true); 130 // } 131 // 132 // /** 133 // * The following tests require setting up scenarios that occur on the set 134 // * of possible max balance action frequencies. The result of each test should 135 // * be dependent upon a balance transfer document correctly being created for each 136 // * scenario. 137 // */ 138 // @Test 139 // public void testLeaveApproveBalanceTransferService() throws Exception{ 140 // /** 141 // * TODO: Create the scenario where a balance TRANSFER should occur 142 // * on max balance action frequency of "leave approval". 143 // * Upon submitting a leave calendar document for approval, 144 // * the user should be prompted for approval of balance TRANSFER 145 // * according to the accrual categories max balance rules. 146 // * A successful test would check that, upon affirmative action by the 147 // * user, a balance transfer document should be created, and the 148 // * balances of the respective accrual categories should reflect 149 // * values in-line with the transfer AND accrual category rules. 150 // * (i.e. the max balance conversion factor ). 151 // */ 152 // assertTrue(true); 153 // } 154 // 155 // @Test 156 // public void testLeaveApprovalBalancePayoutService() throws Exception{ 157 // /** 158 // * TODO: Create the scenario where a balance PAYOUT should occur 159 // * on max balance action frequency of "leave approval". 160 // * Upon submitting a leave calendar document for approval, 161 // * the user should be prompted for approval of balance PAYOUT 162 // * according to the accrual categories max balance rules. 163 // * A successful test would check that, upon affirmative action by the 164 // * user, a balance transfer document is created, and the 165 // * balances of the respective accrual categories should reflect 166 // * values in-line with the transfer AND accrual category rules. 167 // * (i.e. the max balance conversion factor ). 168 // */ 169 // assertTrue(true); 170 // } 171 // 172 // @Test 173 // public void testYearEndBalanceTransferService() throws Exception{ 174 // /** 175 // * TODO: Create the scenario where a balance transfer should occur 176 // * on max balance action frequency of "YEAR END". 177 // * Upon submitting the final leave calendar document for approval, 178 // * the user should be prompted for approval of balance transfer 179 // * according to the accrual categories max balance rules. 180 // * A successful test would check that, upon affirmative action by the 181 // * user, a balance transfer document should be created, and the 182 // * balances of the respective accrual categories should reflect 183 // * values in-line with the transfer AND accrual category rules. 184 // * (i.e. the max balance conversion factor ). 185 // */ 186 // assertTrue(true); 187 // } 188 // 189 // @Test 190 // public void testYearEndBalancePayoutService() throws Exception { 191 // /** 192 // * TODO: Create the scenario where a balance PAYOUT should occur 193 // * on max balance action frequency of "YEAR END". 194 // * Upon submitting a leave calendar document for approval, 195 // * the user should be prompted for approval of balance PAYOUT 196 // * according to the accrual categories max balance rules. 197 // * A successful test would check that, upon affirmative action by the 198 // * user, a balance transfer document should be created, and the 199 // * balances of the respective accrual categories should reflect 200 // * values in-line with the transfer AND accrual category rules. 201 // * (i.e. the max balance conversion factor ). 202 // * For successful payout, the test must check that a new, previously defined earn code 203 // * should exist for the user, and that this earn code is available for use. 204 // */ 205 // assertTrue(true); 206 // } 207 208 @SuppressWarnings("unchecked") 209 public void clearBusinessObjects(Class clazz) { 210 boService.deleteMatching(clazz, new HashMap()); 211 } 212 }