diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java index 39f255d57680b830175d5e791a1add1f782163c1..a9178c96bfe9b4d8a5105b543d86877bb6ebd8c1 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java @@ -119,7 +119,7 @@ public class ChartController extends BaseController throw new ResourceNotFoundException(); } - List<Transaction> transactions = transactionService.getTransactionsForAccount(helpers.getCurrentAccount(), chartSettings.getStartDate(), chartSettings.getEndDate(), chartSettings.getFilterConfiguration()); + List<Transaction> transactions = transactionService.getTransactionsForAccount(helpers.getCurrentAccount(), chartSettings.getStartDate(), chartSettings.getEndDate(), chartSettings.getFilterConfiguration(), false); List<Transaction> convertedTransactions = convertTransferAmounts(transactions); String transactionJson = GSON.toJson(convertedTransactions); @@ -298,7 +298,7 @@ public class ChartController extends BaseController } } - final List<Transaction> transactions = transactionService.getTransactionsForAccount(helpers.getCurrentAccount(), chartSettings.getStartDate(), chartSettings.getEndDate(), chartSettings.getFilterConfiguration()); + final List<Transaction> transactions = transactionService.getTransactionsForAccount(helpers.getCurrentAccount(), chartSettings.getStartDate(), chartSettings.getEndDate(), chartSettings.getFilterConfiguration(), false); final List<Transaction> convertedTransactions = convertTransferAmounts(transactions); model.addAttribute(ModelAttributes.MATCHING_TRANSACTIONS, convertedTransactions); model.addAttribute(ModelAttributes.MATCHING_TRANSACTIONS_TITLE, title); diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java index 8df0dacec58f587f3e64aa352e5e20c5cc93f3cd..2a6adf2b4c8c82612c83ba321c86f49ac04ec9c0 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java @@ -194,7 +194,7 @@ public class HelpersService private int getBudgetForAccount(Account account) { final LocalDate endDate = DateHelper.getCurrentDate(); - List<Transaction> transactions = transactionService.getTransactionsForAccountUntilDate(account, endDate, FilterConfiguration.DEFAULT); + List<Transaction> transactions = transactionService.getTransactionsForAccountUntilDate(account, endDate, FilterConfiguration.DEFAULT, account.getType().equals(AccountType.ALL)); int sum = 0; for(Transaction transaction : transactions) diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java index 70f4b06ffcc965e5a1f20d4b9264709108ddec77..21acf11a546863d60716ac851cbb19a375999a71 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java @@ -96,16 +96,16 @@ public class TransactionService implements Resettable final LocalDate startDate = LocalDate.of(year, month, 1); final LocalDate endDate = LocalDate.of(year, month, 1).with(lastDayOfMonth()); - return getTransactionsForAccount(account, startDate, endDate, filterConfiguration); + return getTransactionsForAccount(account, startDate, endDate, filterConfiguration, false); } - public List<Transaction> getTransactionsForAccountUntilDate(Account account, LocalDate date, FilterConfiguration filterConfiguration) + public List<Transaction> getTransactionsForAccountUntilDate(Account account, LocalDate date, FilterConfiguration filterConfiguration, boolean includeHidden) { LocalDate startDate = LocalDate.of(1900, 1, 1); - return getTransactionsForAccount(account, startDate, date, filterConfiguration); + return getTransactionsForAccount(account, startDate, date, filterConfiguration, includeHidden); } - public List<Transaction> getTransactionsForAccount(Account account, LocalDate startDate, LocalDate endDate, FilterConfiguration filterConfiguration) + public List<Transaction> getTransactionsForAccount(Account account, LocalDate startDate, LocalDate endDate, FilterConfiguration filterConfiguration, boolean includeHidden) { if(filterConfiguration == null) { @@ -114,11 +114,11 @@ public class TransactionService implements Resettable if(account.getType().equals(AccountType.ALL)) { - Specification<Transaction> spec = TransactionSpecifications.withDynamicQuery(startDate, endDate, null, filterConfiguration.isIncludeIncome(), filterConfiguration.isIncludeExpenditure(), false, filterConfiguration.isIncludeRepeatingAndNotRepeating(), filterConfiguration.getIncludedCategoryIDs(), filterConfiguration.getIncludedTagIDs(), filterConfiguration.getName()); + Specification<Transaction> spec = TransactionSpecifications.withDynamicQuery(startDate, endDate, null, filterConfiguration.isIncludeIncome(), filterConfiguration.isIncludeExpenditure(), false, filterConfiguration.isIncludeRepeatingAndNotRepeating(), filterConfiguration.getIncludedCategoryIDs(), filterConfiguration.getIncludedTagIDs(), filterConfiguration.getName(), includeHidden); return transactionRepository.findAll(spec); } - Specification<Transaction> spec = TransactionSpecifications.withDynamicQuery(startDate, endDate, account, filterConfiguration.isIncludeIncome(), filterConfiguration.isIncludeExpenditure(), filterConfiguration.isIncludeTransfer(), filterConfiguration.isIncludeRepeatingAndNotRepeating(), filterConfiguration.getIncludedCategoryIDs(), filterConfiguration.getIncludedTagIDs(), filterConfiguration.getName()); + Specification<Transaction> spec = TransactionSpecifications.withDynamicQuery(startDate, endDate, account, filterConfiguration.isIncludeIncome(), filterConfiguration.isIncludeExpenditure(), filterConfiguration.isIncludeTransfer(), filterConfiguration.isIncludeRepeatingAndNotRepeating(), filterConfiguration.getIncludedCategoryIDs(), filterConfiguration.getIncludedTagIDs(), filterConfiguration.getName(), includeHidden); return transactionRepository.findAll(spec); } diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionSpecifications.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionSpecifications.java index 6440e5ad7e5588bb57b05474b394ecd3ae615aea..809c73a9e29e3869a214ee1de1598c6b08674fbb 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionSpecifications.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionSpecifications.java @@ -27,7 +27,8 @@ public class TransactionSpecifications final Boolean isRepeating, final List<Integer> categoryIDs, final List<Integer> tagIDs, - final String name) + final String name, + final boolean isIncludeHidden) { return (transaction, query, builder) -> { List<Predicate> predicates = new ArrayList<>(); @@ -126,7 +127,12 @@ public class TransactionSpecifications Predicate generalPredicates = builder.and(dateConstraint, predicatesCombined); if(account == null) { - Predicate accountPredicate = transaction.get(Transaction_.account).get("accountState").in(List.of(AccountState.FULL_ACCESS, AccountState.READ_ONLY)); + final List<AccountState> accountStates = new ArrayList<>(List.of(AccountState.FULL_ACCESS, AccountState.READ_ONLY)); + if(isIncludeHidden) + { + accountStates.add(AccountState.HIDDEN); + } + Predicate accountPredicate = transaction.get(Transaction_.account).get("accountState").in(accountStates); generalPredicates = builder.and(generalPredicates, accountPredicate); } else diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceDatabaseTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceDatabaseTest.java index aa4430c074a32a386c775ae44007052f2ca1da83..71fdc76f0a64c688b26578c862037aaaac1cac9f 100644 --- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceDatabaseTest.java +++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionServiceDatabaseTest.java @@ -153,7 +153,7 @@ class TransactionServiceDatabaseTest LocalDate date1 = LocalDate.of(2020, 4, 30); FilterConfiguration filterConfiguration = new FilterConfiguration(true, true, true, true, true, null, null, ""); - List<Transaction> transactions = transactionService.getTransactionsForAccount(accountRepository.findByName("Second Account"), date1, LocalDate.now(), filterConfiguration); + List<Transaction> transactions = transactionService.getTransactionsForAccount(accountRepository.findByName("Second Account"), date1, LocalDate.now(), filterConfiguration, false); assertThat(transactions) .hasSize(2) .containsExactly(transactionTransfer, transactionForSecondAccount); @@ -165,7 +165,7 @@ class TransactionServiceDatabaseTest LocalDate date1 = LocalDate.of(2020, 4, 30); FilterConfiguration filterConfiguration = new FilterConfiguration(true, true, true, true, true, null, null, ""); - List<Transaction> transactions = transactionService.getTransactionsForAccount(accountRepository.findAllByType(AccountType.ALL).get(0), date1, LocalDate.now(), filterConfiguration); + List<Transaction> transactions = transactionService.getTransactionsForAccount(accountRepository.findAllByType(AccountType.ALL).get(0), date1, LocalDate.now(), filterConfiguration, false); assertThat(transactions).hasSize(8); } @@ -176,7 +176,7 @@ class TransactionServiceDatabaseTest LocalDate date2 = LocalDate.of(2020, 5, 20); FilterConfiguration filterConfiguration = new FilterConfiguration(true, true, true, true, true, null, null, ""); - List<Transaction> transactions = transactionService.getTransactionsForAccount(accountRepository.findByName("Default Account"), date1, date2, filterConfiguration); + List<Transaction> transactions = transactionService.getTransactionsForAccount(accountRepository.findByName("Default Account"), date1, date2, filterConfiguration, false); assertThat(transactions).hasSize(2); } diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionSpecificationsTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionSpecificationsTest.java index 7483942802ee3d5558ac0b2cc9ba17f7bf1f6887..d51ae4c8cb5038f58a04a559499cac7982489753 100644 --- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionSpecificationsTest.java +++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionSpecificationsTest.java @@ -183,7 +183,7 @@ class TransactionSpecificationsTest @Test void getIncomesAndExpendituresAndTransfers() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(5) @@ -197,7 +197,7 @@ class TransactionSpecificationsTest @Test void getIncomesAndExpenditures() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, false, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, false, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(4) @@ -210,7 +210,7 @@ class TransactionSpecificationsTest @Test void getIncomes() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, false, false, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, false, false, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(2) @@ -221,7 +221,7 @@ class TransactionSpecificationsTest @Test void getExpenditures() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, false, true, false, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, false, true, false, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(2) @@ -232,7 +232,7 @@ class TransactionSpecificationsTest @Test void getTransfers() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, false, false, true, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, false, false, true, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(1) @@ -242,7 +242,7 @@ class TransactionSpecificationsTest @Test void incomesAndExpendituresFalse() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, false, false, false, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, false, false, false, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(4) @@ -255,7 +255,7 @@ class TransactionSpecificationsTest @Test void getTransferBackReferences_NoReferences() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, false, true, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, false, true, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(2) @@ -266,7 +266,7 @@ class TransactionSpecificationsTest @Test void getTransferBackReferences() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account2, false, false, true, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account2, false, false, true, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(2) @@ -277,7 +277,7 @@ class TransactionSpecificationsTest @Test void getTransferBackReferences_excludeExpenditures() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account2, true, false, true, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account2, true, false, true, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(1) @@ -287,7 +287,7 @@ class TransactionSpecificationsTest @Test void getTransferBackReferences_excludeIncomes() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account2, false, true, true, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account2, false, true, true, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(1) @@ -298,7 +298,7 @@ class TransactionSpecificationsTest void getTransferBackReferences_WithStartDate() { LocalDate startDate2019 = LocalDate.of(2019, 1, 1); - Specification spec = TransactionSpecifications.withDynamicQuery(startDate2019, LocalDate.now(), account2, false, false, true, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate2019, LocalDate.now(), account2, false, false, true, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).isEmpty(); @@ -307,7 +307,7 @@ class TransactionSpecificationsTest @Test void getRepeating() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, false, true, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, false, true, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(1) @@ -317,7 +317,7 @@ class TransactionSpecificationsTest @Test void noRepeating() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, false, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, false, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(4) @@ -332,7 +332,7 @@ class TransactionSpecificationsTest { List<Integer> categoryIDs = new ArrayList<>(); categoryIDs.add(categoryUnused.getID()); - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, categoryIDs, List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, categoryIDs, List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).isEmpty(); @@ -343,7 +343,7 @@ class TransactionSpecificationsTest { List<Integer> categoryIDs = new ArrayList<>(); categoryIDs.add(category1.getID()); - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, categoryIDs, List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, categoryIDs, List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(2) @@ -354,7 +354,7 @@ class TransactionSpecificationsTest @Test void getByFullName() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), List.of(), "Repeating"); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), List.of(), "Repeating", false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(1) @@ -364,7 +364,7 @@ class TransactionSpecificationsTest @Test void getByPartialName() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), List.of(), "tin"); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), List.of(), "tin", false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(1) @@ -374,7 +374,7 @@ class TransactionSpecificationsTest @Test void getByPartialName_ExcludeTransfersWithWrongAccount() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account2, true, true, true, null, List.of(), List.of(), "tion"); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account2, true, true, true, null, List.of(), List.of(), "tion", false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(1) @@ -387,7 +387,7 @@ class TransactionSpecificationsTest List<Integer> tagIDs = new ArrayList<>(); tagIDs.add(tag1.getID()); - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), tagIDs, null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), tagIDs, null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(4) @@ -404,7 +404,7 @@ class TransactionSpecificationsTest tagIDs.add(tag1.getID()); tagIDs.add(tag2.getID()); - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), tagIDs, null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), tagIDs, null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(5) @@ -422,7 +422,7 @@ class TransactionSpecificationsTest List<Integer> tagIDs = new ArrayList<>(); tagIDs.add(tagUnused.getID()); - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), tagIDs, null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), tagIDs, null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(3) @@ -441,7 +441,7 @@ class TransactionSpecificationsTest tagIDs.add(tag1.getID()); tagIDs.add(tag2.getID()); - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, false, true, true, true, categoryIDs, tagIDs, "Repeating"); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, false, true, true, true, categoryIDs, tagIDs, "Repeating", false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(1) @@ -452,7 +452,7 @@ class TransactionSpecificationsTest void getFromAllAccountsExceptTransfersWithSpecificEndDate() { LocalDate endDate = LocalDate.of(2018, 11, 30); - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, endDate, null, true, true, false, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, endDate, null, true, true, false, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(2) @@ -463,7 +463,7 @@ class TransactionSpecificationsTest @Test void getFromAllAccountsExceptHidden() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), null, true, true, true, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), null, true, true, true, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(6) @@ -475,10 +475,27 @@ class TransactionSpecificationsTest .contains(transferTransactionWrongAccount); } + @Test + void getFromAllAccountsIncludeHidden() + { + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), null, true, true, true, null, List.of(), List.of(), null, true); + + List<Transaction> results = transactionRepository.findAll(spec); + assertThat(results).hasSize(7) + .contains(transaction1) + .contains(transaction2) + .contains(transaction3) + .contains(repeatingTransaction) + .contains(transferTransaction) + .contains(transferTransactionWrongAccount) + .contains(transactionInHiddenAccount); + + } + @Test void checkOrder() { - Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), List.of(), null); + Specification spec = TransactionSpecifications.withDynamicQuery(startDate, LocalDate.now(), account, true, true, true, null, List.of(), List.of(), null, false); List<Transaction> results = transactionRepository.findAll(spec); assertThat(results).hasSize(5)