DeathGun44 commented on code in PR #6050:
URL: https://github.com/apache/fineract/pull/6050#discussion_r3488194432


##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/helpers/FeignJournalEntryHelper.java:
##########
@@ -42,32 +47,62 @@ public GetJournalEntriesTransactionIdResponse 
getJournalEntriesForLoan(Long loan
     }
 
     public GetJournalEntriesTransactionIdResponse 
getJournalEntriesByTransactionId(String transactionId) {
-        return ok(() -> 
fineractClient.journalEntries().retrieveAllJournalEntries(Map.of("transactionId",
 transactionId)));
+        return ok(() -> fineractClient.journalEntries()
+                .retrieveAllJournalEntries(Map.of("transactionId", 
transactionId, "orderBy", "id", "sortOrder", "desc")));
+    }
+
+    public GetJournalEntriesTransactionIdResponse getJournalEntries(String 
transactionId) {
+        return getJournalEntriesByTransactionId(transactionId);
+    }
+
+    public void verifyTRJournalEntries(Long transactionId, 
LoanTestData.Journal... entries) {
+        assertNotNull(transactionId, "transactionId is null");
+        GetJournalEntriesTransactionIdResponse journalEntries = 
getJournalEntries("L" + transactionId);
+        assertEquals(entries.length, journalEntries.getPageItems().size());
+        verifyJournalEntriesMatch(new 
ArrayList<>(journalEntries.getPageItems()), entries);
     }
 
     public void verifyJournalEntries(Long loanId, LoanTestData.Journal... 
expectedEntries) {
         GetJournalEntriesTransactionIdResponse journalEntries = 
getJournalEntriesForLoan(loanId);
         assertNotNull(journalEntries);
         assertNotNull(journalEntries.getPageItems());
 
-        List<JournalEntryTransactionItem> actualEntries = 
journalEntries.getPageItems();
+        List<JournalEntryTransactionItem> actualEntries = new 
ArrayList<>(journalEntries.getPageItems());
         assertEquals(expectedEntries.length, actualEntries.size(),
                 "Expected " + expectedEntries.length + " journal entries but 
found " + actualEntries.size());
 
-        for (int i = 0; i < expectedEntries.length; i++) {
-            LoanTestData.Journal expected = expectedEntries[i];
-            JournalEntryTransactionItem actual = actualEntries.get(i);
-
-            Double expectedAmount = expected.amount;
-            Double actualAmount = actual.getAmount();
-            assertEquals(0, Double.compare(expectedAmount, actualAmount),
-                    "Journal entry " + i + " amount mismatch: expected " + 
expectedAmount + " but got " + actualAmount);
-            assertEquals(expected.account.getAccountID().longValue(), 
actual.getGlAccountId(), "Journal entry " + i + " account mismatch");
-            assertEquals(expected.type, actual.getEntryType().getValue(), 
"Journal entry " + i + " type mismatch");
-        }
+        verifyJournalEntriesMatch(actualEntries, expectedEntries);
+    }
+
+    private static void 
verifyJournalEntriesMatch(List<JournalEntryTransactionItem> actualEntries, 
LoanTestData.Journal[] expectedEntries) {

Review Comment:
   Good point and agreed. Updated verifyJournalEntriesMatch to remove each 
matched entry from a working copy and assert none remain.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to