From cf7db3574c67340fd6f7702fae91789f4f7ad7dd Mon Sep 17 00:00:00 2001
From: Hendrik Jungnitsch <hendrik.jungnitsch@gedoplan.de>
Date: Mi, 28 Sep 2022 18:08:34 +0200
Subject: [PATCH] exercise
---
src/main/java/de/gedoplan/seminar/sbt/di/exercise/domain/Beverage.java | 14 +++++++
src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise07Test.java | 51 +++++++++++++++++++++++++
2 files changed, 65 insertions(+), 0 deletions(-)
diff --git a/src/main/java/de/gedoplan/seminar/sbt/di/exercise/domain/Beverage.java b/src/main/java/de/gedoplan/seminar/sbt/di/exercise/domain/Beverage.java
index 02ff5f0..601489a 100644
--- a/src/main/java/de/gedoplan/seminar/sbt/di/exercise/domain/Beverage.java
+++ b/src/main/java/de/gedoplan/seminar/sbt/di/exercise/domain/Beverage.java
@@ -1,6 +1,7 @@
package de.gedoplan.seminar.sbt.di.exercise.domain;
import javax.persistence.*;
+import java.util.Objects;
@Entity
@Access(AccessType.FIELD)
@@ -33,6 +34,19 @@
}
@Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ Beverage beverage = (Beverage) o;
+ return id.equals(beverage.id);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id);
+ }
+
+ @Override
public String toString() {
return "Beverage{" +
"id='" + id + '\'' +
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
new file mode 100644
index 0000000..61e5bb0
--- /dev/null
+++ b/src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise07Test.java
@@ -0,0 +1,51 @@
+package de.gedoplan.seminar.sbt.di.exercise;
+
+import de.gedoplan.seminar.sbt.di.exercise.domain.Cocktail;
+import de.gedoplan.seminar.sbt.di.exercise.domain.CocktailSamples;
+import de.gedoplan.seminar.sbt.di.exercise.repository.CocktailRepository;
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.web.servlet.MockMvc;
+
+import java.util.List;
+import java.util.function.Predicate;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
+
+@AutoConfigureMockMvc
+@SpringBootTest
+public class Exercise07Test {
+
+ @Autowired
+ List<Cocktail> cocktails;
+
+ @Autowired
+ private List<Predicate<Cocktail>> filters;
+
+ @Autowired
+ MockMvc mockMvc;
+
+ @Test
+ public void testFiltersFound() throws Exception {
+ Assertions.assertThat(filters).hasSize(2);
+ }
+
+ @Test
+ public void testFiltersNonAlcEmpty() throws Exception {
+ mockMvc.perform(get("/bar/nonalc"))
+ .andExpect(content().string(""));
+ }
+
+ @Test
+ public void testFiltersAlc() throws Exception {
+ mockMvc.perform(get("/bar/alc"))
+ .andExpect(jsonPath("$.size()",is(9)));
+ }
+
+}
--
Gitblit v1.7.1