From 408f8a5b5ed17bff02b4bc2783dc47cb170ace46 Mon Sep 17 00:00:00 2001
From: Hendrik Jungnitsch <hendrik.jungnitsch@gedoplan.de>
Date: Mo, 14 Nov 2022 11:31:51 +0100
Subject: [PATCH] exercise

---
 src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/IngredientService.java |   19 +++++++++++++++++--
 src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise07Test.java            |    2 +-
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/IngredientService.java b/src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/IngredientService.java
index 7163535..6b343c7 100644
--- a/src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/IngredientService.java
+++ b/src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/IngredientService.java
@@ -1,12 +1,27 @@
 package de.gedoplan.seminar.sbt.di.exercise.service;
 
+import de.gedoplan.seminar.sbt.di.exercise.domain.Beverage;
+import de.gedoplan.seminar.sbt.di.exercise.domain.Cocktail;
+import de.gedoplan.seminar.sbt.di.exercise.exception.OutOfStockException;
 import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+import static java.util.function.Predicate.not;
 
 @Component
 public class IngredientService {
 
-  public boolean isAvailable(String id, double amount) {
+  private List<Beverage> beveragesNotAvailable(Cocktail cocktail) {
+    return cocktail.getIngredients().entrySet().stream()
+            .filter(not(e -> isAvailable(e.getKey(), e.getValue())))
+            .map(Map.Entry::getKey)
+            .toList();
+  }
+
+  public boolean isAvailable(Beverage beverage, double amount) {
     // Dummy check: Anything but rum is available
-    return !"RUM".equals(id);
+    return !"RUM".equals(beverage.getId());
   }
 }
diff --git a/src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise07Test.java b/src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise07Test.java
index 89f9d31..51b9f87 100644
--- a/src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise07Test.java
+++ b/src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise07Test.java
@@ -39,7 +39,7 @@
     @Test
     public void testFiltersNonAlcEmpty() throws Exception {
         mockMvc.perform(get("/api/bar/nonalc"))
-                .andExpect(content().string(""));
+                .andExpect(jsonPath("$.size()",is(0)));
     }
 
     @Test

--
Gitblit v1.7.1