/* * The Kuali Financial System, a comprehensive financial management system for higher education. * * Copyright 2005-2014 The Kuali Foundation * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.kuali.kfs.module.ar.document.validation.impl; import static org.kuali.kfs.sys.fixture.UserNameFixture.khuntley; import org.kuali.kfs.module.ar.businessobject.OrganizationAccountingDefault; import org.kuali.kfs.sys.ConfigureContext; import org.kuali.kfs.sys.context.TestUtils; import org.kuali.kfs.sys.document.validation.MaintenanceRuleTestBase; /** * This class tests the business rules for the OrganizationAccountingDefault Maint. Doc. */ @ConfigureContext(session = khuntley) public class OrganizationAccountingDefaultRuleTest extends MaintenanceRuleTestBase { OrganizationAccountingDefault organizationAccountingDefault; private static String EXPENSE_OBJECT_CODE = "3310"; private static String INCOME_OBJECT_CODE = "0776"; private static String CHART_CODE = "IU"; @Override protected void setUp() throws Exception { super.setUp(); organizationAccountingDefault = new OrganizationAccountingDefault(); organizationAccountingDefault.setUniversityFiscalYear(TestUtils.getFiscalYearForTesting()); organizationAccountingDefault.setChartOfAccountsCode(CHART_CODE); } /** * This method tests if the isWriteOffObjectValidExpense rule returns true when write off object is set to an expense object code */ /* public void testIsWriteOffObjectValidExpense_True(){ organizationAccountingDefault.setWriteoffFinancialObjectCode(EXPENSE_OBJECT_CODE); organizationAccountingDefault.refreshReferenceObject("writeoffObject"); OrganizationAccountingDefaultRule rule = (OrganizationAccountingDefaultRule) setupMaintDocRule(newMaintDoc(organizationAccountingDefault), OrganizationAccountingDefaultRule.class); boolean result = rule.isWriteOffObjectValidExpense(organizationAccountingDefault); assertEquals( "When write off object code is " + EXPENSE_OBJECT_CODE + ", isWriteOffObjectValidExpense should return true. ", true, result ); }*/ /** * This method tests if the isWriteOffObjectValidExpense rule returns false when write off object is set to an income object code */ /* public void testIsWriteOffObjectValidExpense_False(){ organizationAccountingDefault.setWriteoffFinancialObjectCode(INCOME_OBJECT_CODE); organizationAccountingDefault.refreshReferenceObject("writeoffObject"); OrganizationAccountingDefaultRule rule = (OrganizationAccountingDefaultRule) setupMaintDocRule(newMaintDoc(organizationAccountingDefault), OrganizationAccountingDefaultRule.class); boolean result = rule.isWriteOffObjectValidExpense(organizationAccountingDefault); assertEquals( "When write off object code is " + INCOME_OBJECT_CODE + ", isWriteOffObjectValidExpense should return false. ", false, result ); }*/ /** * This method tests if the isLateChargeObjectValidIncome rule returns true when late charge object is set to an income object code */ public void testIsLateChargeObjectValidIncome_True(){ organizationAccountingDefault.setOrganizationLateChargeObjectCode(INCOME_OBJECT_CODE); organizationAccountingDefault.refreshReferenceObject("organizationLateChargeObject"); OrganizationAccountingDefaultRule rule = (OrganizationAccountingDefaultRule) setupMaintDocRule(newMaintDoc(organizationAccountingDefault), OrganizationAccountingDefaultRule.class); boolean result = rule.isLateChargeObjectValidIncome(organizationAccountingDefault); assertEquals( "When late charge object code is " + INCOME_OBJECT_CODE + ", isLateChargeObjectValidIncome should return true. ", true, result ); } /** * This method tests if the isLateChargeObjectValidIncome rule returns false when late charge object is set to an expense object code */ public void testIsLateChargeObjectValidIncome_False(){ organizationAccountingDefault.setOrganizationLateChargeObjectCode(EXPENSE_OBJECT_CODE); organizationAccountingDefault.refreshReferenceObject("organizationLateChargeObject"); OrganizationAccountingDefaultRule rule = (OrganizationAccountingDefaultRule) setupMaintDocRule(newMaintDoc(organizationAccountingDefault), OrganizationAccountingDefaultRule.class); boolean result = rule.isLateChargeObjectValidIncome(organizationAccountingDefault); assertEquals( "When late charge object code is " + EXPENSE_OBJECT_CODE + ", isLateChargeObjectValidIncome should return false. ", false, result ); } /** * This method tests if the isDefaultInvoiceFinancialObjectValidIncome rule returns true when default invoice financial object is set to an income object code */ public void testIsDefaultInvoiceFinancialObjectValidIncome_True(){ organizationAccountingDefault.setDefaultInvoiceFinancialObjectCode(INCOME_OBJECT_CODE); organizationAccountingDefault.setDefaultInvoiceChartOfAccountsCode(CHART_CODE); organizationAccountingDefault.refreshReferenceObject("defaultInvoiceFinancialObject"); OrganizationAccountingDefaultRule rule = (OrganizationAccountingDefaultRule) setupMaintDocRule(newMaintDoc(organizationAccountingDefault), OrganizationAccountingDefaultRule.class); boolean result = rule.isDefaultInvoiceFinancialObjectValidIncome(organizationAccountingDefault); assertEquals( "When default invoice financial is " + INCOME_OBJECT_CODE + ", isDefaultInvoiceFinancialObjectValidIncome should return true. ", true, result ); } /** * This method tests if the isDefaultInvoiceFinancialObjectValidIncome rule returns false when default invoice financial object is set to an expense object code */ public void testIsDefaultInvoiceFinancialObjectValidIncome_False(){ organizationAccountingDefault.setDefaultInvoiceFinancialObjectCode(EXPENSE_OBJECT_CODE); organizationAccountingDefault.setDefaultInvoiceChartOfAccountsCode(CHART_CODE); organizationAccountingDefault.refreshReferenceObject("defaultInvoiceFinancialObject"); OrganizationAccountingDefaultRule rule = (OrganizationAccountingDefaultRule) setupMaintDocRule(newMaintDoc(organizationAccountingDefault), OrganizationAccountingDefaultRule.class); boolean result = rule.isDefaultInvoiceFinancialObjectValidIncome(organizationAccountingDefault); assertEquals( "When default invoice financial object code is " + EXPENSE_OBJECT_CODE + ", isDefaultInvoiceFinancialObjectValidIncome should return false. ", false, result ); } }