/* * 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.purap.fixture; import org.apache.commons.lang.builder.ToStringBuilder; import org.kuali.kfs.module.purap.PurapParameterConstants; import org.kuali.kfs.module.purap.PurapParameterConstants.TaxParameters; import org.kuali.kfs.module.purap.businessobject.RequisitionItem; import org.kuali.kfs.module.purap.document.RequisitionDocument; import org.kuali.kfs.module.purap.fixture.TaxFixture.TaxTestCaseFixture; import org.kuali.kfs.sys.context.TestUtils; import org.kuali.kfs.sys.service.impl.KfsParameterConstants; import org.kuali.kfs.vnd.fixture.CommodityCodeFixture; import org.kuali.rice.core.api.util.type.KualiDecimal; public enum RequisitionDocumentFixture { REQ_ONLY_REQUIRED_FIELDS(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_UNRESTRICTED_ITEM_1 } // requisitionItemMultiFixtures ), REQ_TWO_ITEMS(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_UNRESTRICTED_ITEM_1, RequisitionItemFixture.REQ_QTY_UNRESTRICTED_ITEM_2 } // requisitionItemMultiFixtures ), REQ_ONLY_REQUIRED_FIELDS_MULTIPLE_ACCOUNTS(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_UNRESTRICTED_ITEM_3 } // requisitionItemMultiFixtures ), REQ_WITH_NEGATIVE_AMOUNT(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_ITEM_NEGATIVE_AMOUNT } // requisitionItemMultiFixtures ), REQ_VALID_NO_APO_OVER_LIMIT(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] {RequisitionItemFixture.REQ_ITEM_NO_APO} // requisitionItemMultiFixtures ), REQ_VALID_NO_APO_RESTRICTED_ITEM(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] {RequisitionItemFixture.REQ_ITEM_NO_APO_RESTRICTED_ITEM} // requisitionItemMultiFixtures ), REQ_NO_APO_VALID(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_ITEM_NO_APO } // requisitionItemMultiFixtures ), REQ_NO_APO_VALID_2(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_ITEM_NO_APO } // requisitionItemMultiFixtures ), REQ_APO_VALID(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_UNRESTRICTED_ITEM_1 } // requisitionItemMultiFixtures ), REQ_MULTI_QUANTITY(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_MULTI_QUANTITY, // purapDocumentFixture PurchasingDocumentFixture.REQ_MULTI, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_MULTI_ITEM_QUANTITY } // requisitionItemMultiFixtures ), REQ_MULTI_NON_QUANTITY(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_MULTI_NON_QUANTITY, // purapDocumentFixture PurchasingDocumentFixture.REQ_MULTI, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_MULTI_ITEM_NON_QUANTITY } // requisitionItemMultiFixtures ), REQ_ALTERNATE_APO(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ALTERNATE_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1, RequisitionItemFixture.REQ_SERVICE_APO_ITEM_1, RequisitionItemFixture.REQ_FREIGHT_ITEM_1 } // requisitionItemMultiFixtures ), REQ_APO_INVALID_ALTERNATE_VENDOR_NAMES(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text "NFL Shop", // alternate1VendorName "Dicks Sporting Goods", // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_UNRESTRICTED_ITEM_1 } // requisitionItemMultiFixtures ), REQ_APO_INVALID_TOTAL_NOT_GREATER_THAN_ZERO(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_ITEM_NO_APO_TOTAL_NOT_GREATER_THAN_ZERO } // requisitionItemMultiFixtures ), REQ_APO_INVALID_CONTAINS_RESTRICTED_ITEM (null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_ITEM_NO_APO_CONTAIN_RESTRICTED_ITEM } // requisitionItemMultiFixtures ), REQ_APO_INVALID_ERROR_RETRIEVING_VENDOR_FROM_DATABASE (null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_WITH_VENDOR_NOT_IN_DATABASE, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_APO_INVALID_WITH_RESTRICTED_VENDOR (null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_WITH_RESTRICTED_VENDOR, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_UNRESTRICTED_ITEM_1 } // requisitionItemMultiFixtures ), REQ_APO_INVALID_PAYMENT_TYPE_RECURRING(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_WITH_RECURRING_PAYMENT_TYPE, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_APO_INVALID_PO_TOTAL_LIMIT_NON_ZERO(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_WITH_PO_TOTAL_LIMIT_NON_ZERO, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_APO_INVALID_FAILS_CAPITAL_ASSET_RULE(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_ITEM_INVALID_CAPITAL_ASSET } // requisitionItemMultiFixtures ), REQ_APO_INVALID_APPROVAL_OUTSIDE_ALLOWED_DATE_RANGE(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_VALID_VENDOR_FAX_NUMBER(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_VALID_VENDOR_FAX_NUMBER, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_B2B_WITH_DEBARRED_VENDOR(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_WITH_DEBARRED_VENDOR, // purapDocumentFixture PurchasingDocumentFixture.REQ_B2B_VENDOR, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_B2B_WITH_INACTIVE_VENDOR(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_WITH_INACTIVE_VENDOR, // purapDocumentFixture PurchasingDocumentFixture.REQ_B2B_VENDOR, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_B2B_WITH_DV_VENDOR(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_WITH_DV_VENDOR, // purapDocumentFixture PurchasingDocumentFixture.REQ_B2B_VENDOR, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_B2B_WITH_INVALID_US_VENDOR_ZIP_CODE_CONTAINS_LETTER(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_WITH_INVALID_US_VENDOR_ZIP_CODE_CONTAINS_LETTERS, // purapDocumentFixture PurchasingDocumentFixture.REQ_B2B_VENDOR, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_B2B_WITH_PO_VENDOR(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_B2B_VENDOR_NO_TOTAL_LIMIT, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_B2B_ITEM_1 } // requisitionItemMultiFixtures ), REQ_INVALID_VENDOR_FAX_NUMBER_CONTAINS_LETTER(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_INVALID_VENDOR_FAX_NUMBER_CONTAINS_LETTER, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_INVALID_VENDOR_FAX_NUMBER_BAD_FORMAT(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_INVALID_VENDOR_FAX_NUMBER_BAD_FORMAT, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_WITH_INVALID_US_VENDOR_ZIP_CODE_CONTAINS_LETTER(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_WITH_INVALID_US_VENDOR_ZIP_CODE_CONTAINS_LETTERS, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_WITH_INVALID_US_VENDOR_ZIP_CODE_BAD_FORMAT(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_WITH_INVALID_US_VENDOR_ZIP_CODE_BAD_FORMAT, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_WITH_INVALID_NON_US_VENDOR_ZIP_CODE_CONTAINS_LETTER(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_WITH_INVALID_NON_US_VENDOR_ZIP_CODE_CONTAINS_LETTERS, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_WITH_VALID_US_VENDOR_ZIP_CODE_WITH_4_TRAILING_NUMBERS(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_WITH_VALID_US_VENDOR_ZIP_CODE_WITH_4_TRAILING_NUMBERS, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_PO_BEGIN_DATE_AFTER_END_DATE(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purapDocumentFixture PurchasingDocumentFixture.REQ_PO_BEGIN_DATE_AFTER_END_DATE, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_PO_BEGIN_DATE_NO_END_DATE(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purapDocumentFixture PurchasingDocumentFixture.REQ_PO_BEGIN_DATE_NO_END_DATE, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_PO_END_DATE_NO_BEGIN_DATE(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purapDocumentFixture PurchasingDocumentFixture.REQ_PO_END_DATE_NO_BEGIN_DATE, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_PO_BEGIN_DATE_AND_END_DATE_NO_RECURRING_PAYMENT_TYPE(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purapDocumentFixture PurchasingDocumentFixture.REQ_WITH_BEGIN_AND_END_DATE_WITHOUT_RECURRING_PAYMENT_TYPE, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_WITH_RECURRING_PAYMENT_TYPE_WITHOUT_BEGIN_NOR_END_DATE(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purapDocumentFixture PurchasingDocumentFixture.REQ_WITH_RECURRING_PAYMENT_TYPE, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_WITH_RECURRING_PAYMENT_TYPE_BEGIN_AND_END_DATE(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purapDocumentFixture PurchasingDocumentFixture.REQ_WITH_RECURRING_PAYMENT_TYPE_BEGIN_AND_END_DATE, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_APO_ITEM_1 } // requisitionItemMultiFixtures ), REQ_NO_APO_VALID_WITH_BASIC_ACTIVE_COMMODITY_CODE(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_VALID_APO, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_ITEM_NO_APO_BASIC_ACTIVE_COMMODITY_CODE } // requisitionItemMultiFixtures ), REQ_INVALID_ITEM_QUANTITY_BASED_NO_QUANTITY(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_ITEM_INVALID_QUANTITY_BASED_NO_QUANTITY } // requisitionItemMultiFixtures ), REQ_TAX(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_TAX, // purapDocumentFixture PurchasingDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_QTY_UNRESTRICTED_ITEM_1 } // requisitionItemMultiFixtures ), REQ_PERFORMANCE(null, // requisitionOrganizationReference1Text null, // requisitionOrganizationReference2Text null, // requisitionOrganizationReference3Text null, // alternate1VendorName null, // alternate2VendorName null, // alternate3VendorName null, // alternate4VendorName null, // alternate5VendorName null, // organizationAutomaticPurchaseOrderLimit PurchasingAccountsPayableDocumentFixture.REQ_ONLY_REQUIRED_FIELDS, // purapDocumentFixture PurchasingDocumentFixture.REQ_PERFORMANCE, // purchasingDocumentFixture new RequisitionItemFixture[] { RequisitionItemFixture.REQ_ITEM_PERFORMANCE, RequisitionItemFixture.REQ_ITEM_PERFORMANCE, RequisitionItemFixture.REQ_ITEM_PERFORMANCE, RequisitionItemFixture.REQ_ITEM_PERFORMANCE, RequisitionItemFixture.REQ_ITEM_PERFORMANCE, RequisitionItemFixture.REQ_ITEM_PERFORMANCE, RequisitionItemFixture.REQ_ITEM_PERFORMANCE, RequisitionItemFixture.REQ_ITEM_PERFORMANCE, RequisitionItemFixture.REQ_ITEM_PERFORMANCE, RequisitionItemFixture.REQ_ITEM_PERFORMANCE, } // requisitionItemMultiFixtures ), ; public final String requisitionOrganizationReference1Text; public final String requisitionOrganizationReference2Text; public final String requisitionOrganizationReference3Text; public final String alternate1VendorName; public final String alternate2VendorName; public final String alternate3VendorName; public final String alternate4VendorName; public final String alternate5VendorName; public final KualiDecimal organizationAutomaticPurchaseOrderLimit; private PurchasingAccountsPayableDocumentFixture purapDocumentFixture; private PurchasingDocumentFixture purchasingDocumentFixture; private RequisitionItemFixture[] requisitionItemFixtures; private RequisitionDocumentFixture(String requisitionOrganizationReference1Text, String requisitionOrganizationReference2Text, String requisitionOrganizationReference3Text, String alternate1VendorName, String alternate2VendorName, String alternate3VendorName, String alternate4VendorName, String alternate5VendorName, KualiDecimal organizationAutomaticPurchaseOrderLimit, PurchasingAccountsPayableDocumentFixture purapDocumentFixture, PurchasingDocumentFixture purchasingDocumentFixture, RequisitionItemFixture[] requisitionItemFixtures) { this.requisitionOrganizationReference1Text = requisitionOrganizationReference1Text; this.requisitionOrganizationReference2Text = requisitionOrganizationReference2Text; this.requisitionOrganizationReference3Text = requisitionOrganizationReference3Text; this.alternate1VendorName = alternate1VendorName; this.alternate2VendorName = alternate2VendorName; this.alternate3VendorName = alternate3VendorName; this.alternate4VendorName = alternate4VendorName; this.alternate5VendorName = alternate5VendorName; this.organizationAutomaticPurchaseOrderLimit = organizationAutomaticPurchaseOrderLimit; this.purapDocumentFixture = purapDocumentFixture; this.purchasingDocumentFixture = purchasingDocumentFixture; this.requisitionItemFixtures = requisitionItemFixtures; } public RequisitionDocument createRequisitionDocument() { RequisitionDocument doc = purchasingDocumentFixture.createRequisitionDocument(purapDocumentFixture); doc.setRequisitionOrganizationReference1Text(this.requisitionOrganizationReference1Text); doc.setRequisitionOrganizationReference2Text(this.requisitionOrganizationReference2Text); doc.setRequisitionOrganizationReference3Text(this.requisitionOrganizationReference3Text); doc.setAlternate1VendorName(this.alternate1VendorName); doc.setAlternate2VendorName(this.alternate2VendorName); doc.setAlternate3VendorName(this.alternate3VendorName); doc.setAlternate4VendorName(this.alternate4VendorName); doc.setAlternate5VendorName(this.alternate5VendorName); doc.setOrganizationAutomaticPurchaseOrderLimit(this.organizationAutomaticPurchaseOrderLimit); for (RequisitionItemFixture requisitionItemFixture : requisitionItemFixtures) { requisitionItemFixture.addTo(doc); } doc.fixItemReferences(); doc.setAccountDistributionMethod("S"); doc.refreshNonUpdateableReferences(); return doc; } public RequisitionDocument createRequisitionDocumentForTax(TaxTestCaseFixture taxTestCaseFixture) { RequisitionDocument doc = createRequisitionDocument(); doc.getItem(0).getItemType().setTaxableIndicator(taxTestCaseFixture.isItemTypeTaxable()); doc.setDeliveryStateCode("IN"); if (taxTestCaseFixture.isItemTaxAmountNull()){ doc.getItem(0).setItemTaxAmount(null); }else{ doc.getItem(0).setItemTaxAmount(new KualiDecimal(100)); } doc.setUseTaxIndicator(taxTestCaseFixture.isUseTax()); if (taxTestCaseFixture.iscommodityCodeNull()){ ((RequisitionItem)doc.getItem(0)).setPurchasingCommodityCode(null); ((RequisitionItem)doc.getItem(0)).setCommodityCode(null); }else{ ((RequisitionItem)doc.getItem(0)).setCommodityCode(CommodityCodeFixture.COMMODITY_CODE_BASIC_ACTIVE.createCommodityCode()); } String INVALID_VALUE = "XX"; String fundGroupCode = doc.getItem(0).getSourceAccountingLines().get(0).getAccount().getSubFundGroup().getFundGroupCode(); String subFundGroupCode = doc.getItem(0).getSourceAccountingLines().get(0).getAccount().getSubFundGroup().getSubFundGroupCode(); String objectLevelCode = doc.getItem(0).getSourceAccountingLines().get(0).getObjectCode().getFinancialObjectLevelCode(); String consolidationObjectCode = doc.getItem(0).getSourceAccountingLines().get(0).getObjectCode().getFinancialObjectLevel().getFinancialConsolidationObjectCode(); String parameterSuffix; if (taxTestCaseFixture.isDeliveryStateTaxable()){ TestUtils.setSystemParameter(KfsParameterConstants.PURCHASING_DOCUMENT.class, TaxParameters.TAXABLE_DELIVERY_STATES, doc.getDeliveryStateCode()); parameterSuffix = "FOR_TAXABLE_STATES"; } else { TestUtils.setSystemParameter(KfsParameterConstants.PURCHASING_DOCUMENT.class, TaxParameters.TAXABLE_DELIVERY_STATES, INVALID_VALUE); parameterSuffix = "FOR_NON_TAXABLE_STATES"; } if (taxTestCaseFixture.isFundGroupCodeTaxable()){ TestUtils.setSystemParameter(KfsParameterConstants.PURCHASING_DOCUMENT.class, "TAXABLE_FUND_GROUPS_" + parameterSuffix, fundGroupCode); TestUtils.setSystemParameter(KfsParameterConstants.PURCHASING_DOCUMENT.class, "TAXABLE_SUB_FUND_GROUPS_" + parameterSuffix, subFundGroupCode); }else{ //Just put some invalid value TestUtils.setSystemParameter(KfsParameterConstants.PURCHASING_DOCUMENT.class, "TAXABLE_FUND_GROUPS_" + parameterSuffix, INVALID_VALUE); TestUtils.setSystemParameter(KfsParameterConstants.PURCHASING_DOCUMENT.class, "TAXABLE_SUB_FUND_GROUPS_" + parameterSuffix, INVALID_VALUE); } if (taxTestCaseFixture.isObjectCodeTaxable()){ TestUtils.setSystemParameter(KfsParameterConstants.PURCHASING_DOCUMENT.class, "TAXABLE_OBJECT_LEVELS_" + parameterSuffix, objectLevelCode); TestUtils.setSystemParameter(KfsParameterConstants.PURCHASING_DOCUMENT.class, "TAXABLE_OBJECT_CONSOLIDATIONS_" + parameterSuffix, consolidationObjectCode); }else{ TestUtils.setSystemParameter(KfsParameterConstants.PURCHASING_DOCUMENT.class, "TAXABLE_OBJECT_LEVELS_" + parameterSuffix, INVALID_VALUE); TestUtils.setSystemParameter(KfsParameterConstants.PURCHASING_DOCUMENT.class, "TAXABLE_OBJECT_CONSOLIDATIONS_" + parameterSuffix, INVALID_VALUE); } if (taxTestCaseFixture.isSalesTaxEnabled()){ TestUtils.setSystemParameter(KfsParameterConstants.PURCHASING_DOCUMENT.class, PurapParameterConstants.ENABLE_SALES_TAX_IND,"Y"); }else{ TestUtils.setSystemParameter(KfsParameterConstants.PURCHASING_DOCUMENT.class, PurapParameterConstants.ENABLE_SALES_TAX_IND,"N"); } return doc; } public String toString() { return new ToStringBuilder(this).append("requisitionOrganizationReference1Text", requisitionOrganizationReference1Text).append("requisitionOrganizationReference2Text", requisitionOrganizationReference2Text).append("requisitionOrganizationReference3Text", requisitionOrganizationReference3Text).append("alternate1VendorName", alternate1VendorName).append("alternate2VendorName", alternate2VendorName).append("alternate3VendorName", alternate3VendorName) .append("alternate4VendorName", alternate4VendorName).append("alternate5VendorName", alternate5VendorName).append("organizationAutomaticPurchaseOrderLimit", organizationAutomaticPurchaseOrderLimit).append("purapDocumentFixture", purapDocumentFixture).append("purchasingDocumentFixture", purchasingDocumentFixture).append("requisitionItemFixtures", requisitionItemFixtures).toString(); } }