@ConfigureContext(session = appleton, shouldCommitTransactions = true) public void testGenerateSummaryAccounts_OnePREQAccountTwoItemsWithPositiveTotal() { PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.PREQ_PRORATION_ONE_ACCOUNT; PurchasingAccountsPayableDocument doc = fixture.generatePaymentRequestDocument_TwoItems(); makePerAccountComparisons(fixture, doc); }
/* * Tests of updateAccountAmounts(PurchasingAccountsPayableDocument document) */ @ConfigureContext(session = appleton) public void testUpdateAccountAmounts_BeforeFullEntry_PercentToAmount() { PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.PREQ_PRORATION_THIRDS; PurchasingAccountsPayableDocument preq = fixture.generatePaymentRequestDocument_OneItem(); purapAccountingService.updateAccountAmounts(preq); assertFalse(preq.getItems().get(0).getTotalAmount().isZero()); }
public void testGenerateSummary_TwoItems_OneAccount() { PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.REQ_SUMMARY_TWO_ITEMS_ONE_ACCOUNT; List<SourceAccountingLine> originalSourceAccounts = fixture.getSourceAccountingLineList(); List<PurApItem> items = fixture.getItems(); List<SourceAccountingLine> sourceLines = purapAccountingService.generateSummary(items); assertEquals(sourceLines.size(), originalSourceAccounts.size()); checkAccountConsolidation(sourceLines, originalSourceAccounts); }
@ConfigureContext(session = parke) public void testUpdateItemAccountAmounts_ThreeAccounts() { PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.REQ_PRORATION_THIRDS; RequisitionDocument req = fixture.generateRequisitionDocument_OneItem(); RequisitionItem item = (RequisitionItem) req.getItems().get(0); KualiDecimal total = item.getTotalAmount(); purapAccountingService.updateItemAccountAmounts(item); PurApAccountingLine line1 = item.getSourceAccountingLines().get(0); assertTrue(line1.getAmount().compareTo(total.divide(new KualiDecimal(3))) == 0); }
@ConfigureContext(session = appleton) public void testUpdateAccountAmounts_AfterFullEntry_PercentNotToAmount() { PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.PREQ_PRORATION_THIRDS; PurchasingAccountsPayableDocument preq = fixture.generatePaymentRequestDocument_OneItem(); preq.setApplicationDocumentStatus( PurapConstants.PaymentRequestStatuses.APPDOC_DEPARTMENT_APPROVED); preq.getItems().get(0).setExtendedPrice(KualiDecimal.ZERO); purapAccountingService.updateAccountAmounts(preq); assertTrue(preq.getItems().get(0).getTotalAmount().isZero()); }
public void testGenerateSummary_OneItem_OneAccount() { // TestUtils.setSystemParameter(Document.class,PurapParameterConstants.ENABLE_SALES_TAX_IND,"Y"); PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.REQ_SUMMARY_ONE_ITEM_ONE_ACCOUNT; List<SourceAccountingLine> originalSourceAccounts = fixture.getSourceAccountingLineList(); List<PurApItem> items = fixture.getItems(); List<SourceAccountingLine> sourceLines = purapAccountingService.generateSummary(items); assertEquals(sourceLines.size(), originalSourceAccounts.size()); checkAccountConsolidation(sourceLines, originalSourceAccounts); }
@ConfigureContext(session = appleton, shouldCommitTransactions = true) public void testDeleteSummaryAccounts_CreditMemo() { PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.CREDIT_MEMO_ONE_ACCOUNT; VendorCreditMemoDocument vcm = fixture.generateVendorCreditMemoDocument_OneItem(); List<SummaryAccount> summaryAccounts = purapAccountingService.generateSummaryAccounts(vcm); assertNotNull(summaryAccounts); purapAccountingService.deleteSummaryAccounts( vcm.getPurapDocumentIdentifier(), PurapDocTypeCodes.PAYMENT_REQUEST_DOCUMENT); assertNull( purapAccountingService.getAccountsPayableSummaryAccounts( vcm.getPurapDocumentIdentifier(), PurapDocTypeCodes.PAYMENT_REQUEST_DOCUMENT)); }
/* * Tests of deleteSummaryAccounts(Integer purapDocumentIdentifier) */ @ConfigureContext(session = appleton, shouldCommitTransactions = true) public void testDeleteSummaryAccounts_PaymentRequest() { PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.PREQ_PRORATION_ONE_ACCOUNT; PaymentRequestDocument preq = fixture.generatePaymentRequestDocument_OneItem(); List<SummaryAccount> summaryAccounts = purapAccountingService.generateSummaryAccounts(preq); assertNotNull(summaryAccounts); purapAccountingService.deleteSummaryAccounts( preq.getPurapDocumentIdentifier(), PurapDocTypeCodes.PAYMENT_REQUEST_DOCUMENT); assertNull( purapAccountingService.getAccountsPayableSummaryAccounts( preq.getPurapDocumentIdentifier(), PurapDocTypeCodes.PAYMENT_REQUEST_DOCUMENT)); }
@ConfigureContext(session = appleton) public void testUpdateAccountAmounts_AfterFullEntry_AmountToPercent() { PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.PREQ_PRORATION_THIRDS; PurchasingAccountsPayableDocument preq = fixture.generatePaymentRequestDocument_OneItem(); preq.setApplicationDocumentStatus( PurapConstants.PaymentRequestStatuses.APPDOC_DEPARTMENT_APPROVED); purapAccountingService.updateAccountAmounts(preq); PurApItem item = preq.getItems().get(0); int i = 0; for (PurApAccountingLine correctLine : fixture.getPurApAccountingLineList()) { PurApAccountingLine line = item.getSourceAccountingLines().get(i++); assertTrue(line.getAccountLinePercent().equals(correctLine.getAccountLinePercent())); } }
public void testGenerateAccountDistributionForProration_OneAcctGood() { PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.PREQ_PRORATION_ONE_ACCOUNT; List<PurApAccountingLine> distributedAccounts = purapAccountingService.generateAccountDistributionForProration( fixture.getSourceAccountingLineList(), fixture.getTotalAmount(), fixture.getPercentScale(), fixture.getAccountClass()); List<BigDecimal> correctPercents = new ArrayList<BigDecimal>(); correctPercents.add(0, new BigDecimal("100")); assertEquals(distributedAccounts.size(), correctPercents.size()); comparePercentages(distributedAccounts, correctPercents); }
@ConfigureContext(session = appleton) public void testUpdateAccountAmounts_BeforeFullEntry_AmountNotToPercent() { PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.PREQ_PRORATION_THIRDS; PurchasingAccountsPayableDocument preq = fixture.generatePaymentRequestDocument_OneItem(); purapAccountingService.updateAccountAmounts(preq); PurApItem item = preq.getItems().get(0); int i = 0; boolean orResult = false; for (PurApAccountingLine correctLine : fixture.getPurApAccountingLineList()) { PurApAccountingLine line = item.getSourceAccountingLines().get(i++); if (!line.getAccountLinePercent().equals(correctLine.getAccountLinePercent())) { orResult = true; break; } } assertFalse(orResult); }
public void testGenerateSummaryWithNoZeroTotalsUsingAlternateAmount_TwoItems_OneAccount() { PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.REQ_SUMMARY_TWO_ITEMS_ONE_ACCOUNT; List<SourceAccountingLine> originalSourceAccounts = fixture.getSourceAccountingLineList(); List<PurApItem> items = fixture.getItems(); GlobalVariables.getUserSession().setBackdoorUser("parke"); RequisitionDocumentFixture reqFixture = RequisitionDocumentFixture.REQ_ONLY_REQUIRED_FIELDS; RequisitionDocument req = reqFixture.createRequisitionDocument(); GlobalVariables.getUserSession().setBackdoorUser("kfs"); for (PurApItem item : items) { item.setPurapDocument(req); } List<SourceAccountingLine> sourceLines = purapAccountingService.generateSummaryWithNoZeroTotalsUsingAlternateAmount(items); assertEquals(sourceLines.size(), originalSourceAccounts.size()); checkAccountConsolidation(sourceLines, originalSourceAccounts); }
/* * Tests of generateAccountDistributionForProrationWithZeroTotal(PurchasingAccountsPayableDocument purapdoc) */ @ConfigureContext(session = appleton, shouldCommitTransactions = true) public void testGenerateAccountDistributionForProrationWithZeroTotal_OneAcct() { PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.PREQ_PRORATION_ONE_ACCOUNT_ZERO_TOTAL; PurchasingAccountsPayableDocument preq = fixture.generatePaymentRequestDocument_OneItem(); List<PurApAccountingLine> distributedAccounts = null; try { distributedAccounts = purapAccountingService.generateAccountDistributionForProrationWithZeroTotal(preq); } catch (RuntimeException re) { fail(re.toString()); } List<BigDecimal> correctPercents = new ArrayList<BigDecimal>(); correctPercents.add(0, new BigDecimal("100")); assertEquals(distributedAccounts.size(), correctPercents.size()); comparePercentages(distributedAccounts, correctPercents); }
/** * Used by tests of generateSummaryAccounts and related methods to marshall the comparisons of the * accounts and items of the generated summary accounts. * * @param fixture The PurapAccountingServiceFixture * @param document A PurchasingAccountsPayableDocument generated from the fixture. */ private void makePerAccountComparisons( PurapAccountingServiceFixture fixture, PurchasingAccountsPayableDocument doc) { int itemCount = doc.getItems().size(); List<SummaryAccount> accounts = purapAccountingService.generateSummaryAccounts(doc); List<SourceAccountingLine> originalSourceAccounts = fixture.getSourceAccountingLineList(); assertEquals(accounts.size(), originalSourceAccounts.size()); for (int i = 0; i < originalSourceAccounts.size(); i++) { SummaryAccount account = accounts.get(i); SourceAccountingLine sourceAccount = account.getAccount(); compareSourceAccounts(sourceAccount, originalSourceAccounts.get(i)); List<PurApSummaryItem> summaryItems = account.getItems(); assertTrue(summaryItems.size() <= itemCount); } }
@ConfigureContext(session = parke, shouldCommitTransactions = true) public void testGenerateSummaryAccounts_OneRequisitionAccountOneItemWithPositiveTotal() { PurapAccountingServiceFixture fixture = PurapAccountingServiceFixture.REQ_PRORATION_ONE_ACCOUNT; PurchasingAccountsPayableDocument doc = fixture.generateRequisitionDocument_OneItem(); makePerAccountComparisons(fixture, doc); }