From f606ec0eb427c365c3cc173aacf819e6f471734a Mon Sep 17 00:00:00 2001
From: Andre Hartig <andre.hartig@student.reutlingen-university.de>
Date: Fri, 24 May 2024 12:19:13 +0200
Subject: [PATCH] Added filter test method for OperationService

---
 opp/jdbc-repo-impl/src/main/java/JDBCRepository.java |  7 ++++++-
 opp/jdbc-repo-impl/src/test/java/Tests.java          | 10 ++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
index 9c96037..7e3abea 100644
--- a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
+++ b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java
@@ -326,11 +326,16 @@ class JDBCRepository implements Repository
    * Adds each found Operation to the list.
    * @param filter the filter
    * @return the matching entries
+   * TODO Ask how to remove "Optional[]" from filter.date()
    */
   @Override
   public List<Operation> findOperations(Operation.Filter filter) {
 
-    var sql = "SELECT * FROM operations WHERE date = " + filter.date() + ";";
+    var sql = "SELECT * FROM operations WHERE date = " +
+            sqlValue(filter.date()).
+                    replace("Optional", "").
+                    replace("[", "").
+                    replace("]", "") + ";";
 
     try (
             var resultSet =
diff --git a/opp/jdbc-repo-impl/src/test/java/Tests.java b/opp/jdbc-repo-impl/src/test/java/Tests.java
index 3229c14..3a51047 100644
--- a/opp/jdbc-repo-impl/src/test/java/Tests.java
+++ b/opp/jdbc-repo-impl/src/test/java/Tests.java
@@ -106,4 +106,14 @@ public final class Tests
 
     System.out.println(operation);
   }
+
+  @Test
+  public void testGetOperations() {
+    Operation.Filter filter = new Operation.Filter(Optional.of(LocalDate.of(2024, 05, 24)));
+
+    List<Operation> operations = opService.getOperations(filter);
+
+    for (Operation operation : operations)
+      System.out.println(operation);
+  }
 }
-- 
GitLab