From b8b84b58331fbcb830ca6a37ea561b97a2339e89 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sat, 8 Jun 2019 18:02:11 +0200
Subject: [PATCH] Fixed #449 - transactions page for all accounts shows all
 transactions

---
 .../transactions/TransactionSpecifications.java   |  2 +-
 .../unit/TransactionSpecificationsTest.java       | 15 ++++++++++++++-
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionSpecifications.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionSpecifications.java
index 683e4e9c4..61ca84fc0 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionSpecifications.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionSpecifications.java
@@ -96,7 +96,7 @@ public class TransactionSpecifications
 
 			if(transferBackReference == null)
 			{
-				return builder.and(predicates.toArray(predicatesArray));
+				return builder.and(dateConstraint, builder.or(builder.and(predicates.toArray(predicatesArray))));
 			}
 
 			return builder.and(dateConstraint, builder.or(builder.and(predicates.toArray(predicatesArray)), transferBackReference));
diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionSpecificationsTest.java b/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionSpecificationsTest.java
index 364e102a6..f2ce3fade 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionSpecificationsTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/unit/TransactionSpecificationsTest.java
@@ -94,7 +94,7 @@ public class TransactionSpecificationsTest
 		transaction2 = new Transaction();
 		transaction2.setName("Test_2");
 		transaction2.setAmount(-525);
-		transaction2.setDate(new DateTime(2018, 10, 3, 12, 0, 0, 0));
+		transaction2.setDate(new DateTime(2018, 12, 3, 12, 0, 0, 0));
 		transaction2.setCategory(category2);
 		transaction2.setAccount(account);
 		transaction2 = transactionRepository.save(transaction2);
@@ -379,4 +379,17 @@ public class TransactionSpecificationsTest
 		assertTrue(results.contains(repeatingTransaction));
 		assertFalse(results.contains(transferTransaction));
 	}
+
+	@Test
+	public void getFromAllAccountsExceptTransfersWithSpecificEndDate()
+	{
+		DateTime endDate = new DateTime(2018, 11, 30, 12, 0, 0, 0);
+		Specification spec = TransactionSpecifications.withDynamicQuery(startDate, endDate, null, true, true, false, null, null, null, null);
+
+		List<Transaction> results = transactionRepository.findAll(spec);
+		assertTrue(results.contains(transaction1));
+		assertFalse(results.contains(transaction2));
+		assertTrue(results.contains(repeatingTransaction));
+		assertFalse(results.contains(transferTransaction));
+	}
 }
\ No newline at end of file
-- 
GitLab