in component-test/src/main/java/org/apache/fineract/cn/accounting/TestChartOfAccounts.java [36:85]
public void shouldShowChartOfAccounts() throws Exception {
final Ledger parentRevenueLedger = LedgerGenerator.createLedger("10000", AccountType.REVENUE);
this.testSubject.createLedger(parentRevenueLedger);
this.eventRecorder.wait(EventConstants.POST_LEDGER, parentRevenueLedger.getIdentifier());
final Ledger interestRevenueLedger = LedgerGenerator.createLedger("11000", AccountType.REVENUE);
this.testSubject.addSubLedger(parentRevenueLedger.getIdentifier(), interestRevenueLedger);
this.eventRecorder.wait(EventConstants.POST_LEDGER, interestRevenueLedger.getIdentifier());
final Account consumerInterestRevenueAccount =
AccountGenerator.createAccount(interestRevenueLedger.getIdentifier(), "11100", AccountType.REVENUE);
this.testSubject.createAccount(consumerInterestRevenueAccount);
this.eventRecorder.wait(EventConstants.POST_ACCOUNT, consumerInterestRevenueAccount.getIdentifier());
final Ledger feeRevenueLedger = LedgerGenerator.createLedger("12000", AccountType.REVENUE);
this.testSubject.addSubLedger(parentRevenueLedger.getIdentifier(), feeRevenueLedger);
this.eventRecorder.wait(EventConstants.POST_LEDGER, feeRevenueLedger.getIdentifier());
final Ledger specialFeeRevenueLedger = LedgerGenerator.createLedger("12100", AccountType.REVENUE);
this.testSubject.addSubLedger(feeRevenueLedger.getIdentifier(), specialFeeRevenueLedger);
this.eventRecorder.wait(EventConstants.POST_LEDGER, specialFeeRevenueLedger.getIdentifier());
final Ledger parentAssetLedger = LedgerGenerator.createLedger("70000", AccountType.ASSET);
this.testSubject.createLedger(parentAssetLedger);
this.eventRecorder.wait(EventConstants.POST_LEDGER, parentAssetLedger.getIdentifier());
final Ledger consumerLoanAssetLedger = LedgerGenerator.createLedger("73000", AccountType.ASSET);
consumerLoanAssetLedger.setShowAccountsInChart(Boolean.FALSE);
this.testSubject.addSubLedger(parentAssetLedger.getIdentifier(), consumerLoanAssetLedger);
this.eventRecorder.wait(EventConstants.POST_LEDGER, consumerLoanAssetLedger.getIdentifier());
for (int i = 1; i < 100; i++) {
final String identifier = Integer.valueOf(73000 + i).toString();
final Account consumerLoanAccount =
AccountGenerator.createAccount(consumerLoanAssetLedger.getIdentifier(), identifier, AccountType.ASSET);
this.testSubject.createAccount(consumerLoanAccount);
this.eventRecorder.wait(EventConstants.POST_ACCOUNT, identifier);
}
final List<ChartOfAccountEntry> chartOfAccounts = this.testSubject.getChartOfAccounts();
Assert.assertNotNull(chartOfAccounts);
Assert.assertEquals(7, chartOfAccounts.size());
Assert.assertEquals(Integer.valueOf(0), chartOfAccounts.get(0).getLevel());
Assert.assertEquals(Integer.valueOf(1), chartOfAccounts.get(1).getLevel());
Assert.assertEquals(Integer.valueOf(2), chartOfAccounts.get(2).getLevel());
Assert.assertEquals(Integer.valueOf(1), chartOfAccounts.get(3).getLevel());
Assert.assertEquals(Integer.valueOf(2), chartOfAccounts.get(4).getLevel());
Assert.assertEquals(Integer.valueOf(0), chartOfAccounts.get(5).getLevel());
Assert.assertEquals(Integer.valueOf(1), chartOfAccounts.get(6).getLevel());
}