From 82120a66e33eb4c1af390646aa420e45fd0eb578 Mon Sep 17 00:00:00 2001
From: Axely <axel.ytteraas@gmail.com>
Date: Fri, 21 Apr 2023 11:18:31 +0200
Subject: [PATCH 1/3] Added foodPreference API

---
 .../controller/FoodPreferencesController.java | 29 ++++++++
 .../matsvinnbackend/model/FoodPreference.java | 32 +++++++++
 .../repo/FoodPreferencesRepository.java       | 13 ++++
 .../service/FoodPreferencesService.java       | 22 ++++++
 .../FoodPreferencesControllerTest.java        | 71 +++++++++++++++++++
 .../service/FoodPreferencesServiceTest.java   | 44 ++++++++++++
 6 files changed, 211 insertions(+)
 create mode 100644 src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesController.java
 create mode 100644 src/main/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreference.java
 create mode 100644 src/main/java/edu/ntnu/idatt210602/matsvinnbackend/repo/FoodPreferencesRepository.java
 create mode 100644 src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesService.java
 create mode 100644 src/test/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesControllerTest.java
 create mode 100644 src/test/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesServiceTest.java

diff --git a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesController.java b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesController.java
new file mode 100644
index 0000000..1b1c680
--- /dev/null
+++ b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesController.java
@@ -0,0 +1,29 @@
+package edu.ntnu.idatt210602.matsvinnbackend.controller;
+
+import edu.ntnu.idatt210602.matsvinnbackend.model.FoodPreference;
+import edu.ntnu.idatt210602.matsvinnbackend.service.FoodPreferencesService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.server.ResponseStatusException;
+
+import java.util.List;
+
+/**
+ * Class FoodPreferenceController responsible for processing incoming REST API requests related to food preferences
+ */
+@RequestMapping("/foodpreferences")
+@RestController
+@CrossOrigin
+public class FoodPreferencesController {
+
+    @Autowired
+    FoodPreferencesService foodPreferencesService;
+
+    @GetMapping("")
+    @ResponseStatus(code = HttpStatus.OK)
+    public List<FoodPreference> getAllFoodPreferences() {
+        return foodPreferencesService.getAllFoodPreferences();
+    }
+}
diff --git a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreference.java b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreference.java
new file mode 100644
index 0000000..45804a8
--- /dev/null
+++ b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreference.java
@@ -0,0 +1,32 @@
+package edu.ntnu.idatt210602.matsvinnbackend.model;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * Class FoodPreferences to represent a food preference e.g. vegan.
+ */
+@Entity
+public class FoodPreference {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    @Getter
+    private Integer Id;
+
+    @Getter
+    @Setter
+    private String Type;
+
+    public FoodPreference() {
+
+    }
+
+    public FoodPreference(String type) {
+        Type = type;
+    }
+}
diff --git a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/repo/FoodPreferencesRepository.java b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/repo/FoodPreferencesRepository.java
new file mode 100644
index 0000000..fcb41e5
--- /dev/null
+++ b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/repo/FoodPreferencesRepository.java
@@ -0,0 +1,13 @@
+package edu.ntnu.idatt210602.matsvinnbackend.repo;
+
+import edu.ntnu.idatt210602.matsvinnbackend.model.FoodPreference;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+/**
+ * Interface FoodPreferencesRepository to provide mechanisms for several operations on the FoodPreferences class
+ */
+@Repository
+public interface FoodPreferencesRepository extends JpaRepository<FoodPreference, Integer> {
+
+}
diff --git a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesService.java b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesService.java
new file mode 100644
index 0000000..e62a1b4
--- /dev/null
+++ b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesService.java
@@ -0,0 +1,22 @@
+package edu.ntnu.idatt210602.matsvinnbackend.service;
+
+import edu.ntnu.idatt210602.matsvinnbackend.model.FoodPreference;
+import edu.ntnu.idatt210602.matsvinnbackend.repo.FoodPreferencesRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Class FoodPreferenceService to provide business functionalities related to foodPreferences
+ */
+@Service
+public class FoodPreferencesService {
+
+    @Autowired
+    FoodPreferencesRepository foodPreferencesRepository;
+
+    public List<FoodPreference> getAllFoodPreferences() {
+        return foodPreferencesRepository.findAll();
+    }
+}
diff --git a/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesControllerTest.java b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesControllerTest.java
new file mode 100644
index 0000000..c0a2133
--- /dev/null
+++ b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesControllerTest.java
@@ -0,0 +1,71 @@
+package edu.ntnu.idatt210602.matsvinnbackend.controller;
+
+import edu.ntnu.idatt210602.matsvinnbackend.model.FoodPreference;
+import edu.ntnu.idatt210602.matsvinnbackend.repo.FoodPreferencesRepository;
+import edu.ntnu.idatt210602.matsvinnbackend.service.FoodPreferencesService;
+import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.junit4.SpringRunner;
+import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
+import org.springframework.test.web.servlet.MockMvc;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.when;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+@RunWith(SpringRunner.class)
+@ExtendWith(MockitoExtension.class)
+@WebMvcTest(FoodPreferencesController.class)
+@AutoConfigureMockMvc(addFilters = false)
+public class FoodPreferencesControllerTest {
+
+    @Autowired
+    private MockMvc mvc;
+
+    @MockBean
+    private FoodPreferencesRepository foodPreferencesRepository;
+
+    @MockBean
+    private FoodPreferencesService foodPreferencesService;
+
+    @Autowired
+    FoodPreferencesController foodPreferencesController;
+
+    FoodPreference testPreference = new FoodPreference("Vegan");
+    FoodPreference testPreference2 = new FoodPreference("Vegetarian");
+
+    @BeforeEach
+    void setup() {
+        foodPreferencesRepository.deleteAll();
+    }
+
+    @Test
+    public void GetAllFoodPreferencesGivesOkStatusResponse() throws Exception {
+
+        this.mvc.perform(get("/foodpreferences")).andDo(print()).andExpect(status().isOk());
+        assertEquals(0, foodPreferencesController.getAllFoodPreferences().size());
+    }
+
+    @Test
+    public void getAllFoodPreferencesWhenSavedPreferencesReturnsAllSavedPreferences() {
+
+        List<FoodPreference> preferences = new ArrayList<>();
+        preferences.add(testPreference);
+        preferences.add(testPreference2);
+        foodPreferencesRepository.save(testPreference);
+        foodPreferencesRepository.save(testPreference2);
+        when(foodPreferencesController.getAllFoodPreferences()).thenReturn(preferences);
+        assertEquals(preferences, foodPreferencesController.getAllFoodPreferences());
+    }
+}
diff --git a/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesServiceTest.java b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesServiceTest.java
new file mode 100644
index 0000000..7529895
--- /dev/null
+++ b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesServiceTest.java
@@ -0,0 +1,44 @@
+package edu.ntnu.idatt210602.matsvinnbackend.service;
+
+import edu.ntnu.idatt210602.matsvinnbackend.model.FoodPreference;
+import edu.ntnu.idatt210602.matsvinnbackend.repo.FoodPreferencesRepository;
+import org.junit.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+import static org.junit.jupiter.api.Assertions.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.mockito.Mockito.*;
+
+@SpringBootTest
+@RunWith(SpringRunner.class)
+@ExtendWith(MockitoExtension.class)
+public class FoodPreferencesServiceTest {
+
+    @Mock
+    private FoodPreferencesRepository foodPreferencesRepository;
+
+    @InjectMocks
+    FoodPreferencesService foodPreferencesService;
+
+    FoodPreference testPreference = new FoodPreference("Vegan");
+    FoodPreference testPreference2 = new FoodPreference("Vegetarian");
+
+    @Test
+    public void getAllPreferencesReturnsAllSavedPreferences() {
+        List<FoodPreference> preferences = new ArrayList<>();
+        preferences.add(testPreference);
+        preferences.add(testPreference2);
+        foodPreferencesRepository.save(testPreference);
+        foodPreferencesRepository.save(testPreference2);
+        when(foodPreferencesService.getAllFoodPreferences()).thenReturn(preferences);
+        assertEquals(preferences, foodPreferencesService.getAllFoodPreferences());
+    }
+}
-- 
GitLab


From aae5ee9d2fcbec8ebb30accebb1ac31621c639a2 Mon Sep 17 00:00:00 2001
From: Axely <axel.ytteraas@gmail.com>
Date: Fri, 21 Apr 2023 13:15:00 +0200
Subject: [PATCH 2/3] Made changes to make tests

---
 pom.xml                                       | 12 +++++++
 ...ler.java => FoodPreferenceController.java} |  8 ++---
 .../matsvinnbackend/model/FoodPreference.java | 12 +++----
 ...ervice.java => FoodPreferenceService.java} |  2 +-
 .../FoodPreferencesControllerTest.java        | 20 +++++------
 .../model/FoodPreferenceTest.java             | 34 +++++++++++++++++++
 .../service/FoodPreferencesServiceTest.java   | 10 +++---
 7 files changed, 70 insertions(+), 28 deletions(-)
 rename src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/{FoodPreferencesController.java => FoodPreferenceController.java} (82%)
 rename src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/{FoodPreferencesService.java => FoodPreferenceService.java} (94%)
 create mode 100644 src/test/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreferenceTest.java

diff --git a/pom.xml b/pom.xml
index 077c654..6988084 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,6 +52,11 @@
 			<artifactId>spring-security-test</artifactId>
 			<scope>test</scope>
 		</dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<scope>test</scope>
+		</dependency>
 	</dependencies>
 
 	<build>
@@ -73,6 +78,13 @@
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-surefire-plugin</artifactId>
 				<version>3.0.0</version>
+				<dependencies>
+					<dependency>
+						<groupId>org.apache.maven.surefire</groupId>
+						<artifactId>surefire-junit4</artifactId>
+						<version>3.0.0</version>
+					</dependency>
+				</dependencies>
 			</plugin>
 
 			<plugin>
diff --git a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesController.java b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferenceController.java
similarity index 82%
rename from src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesController.java
rename to src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferenceController.java
index 1b1c680..9791ce9 100644
--- a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesController.java
+++ b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferenceController.java
@@ -1,7 +1,7 @@
 package edu.ntnu.idatt210602.matsvinnbackend.controller;
 
 import edu.ntnu.idatt210602.matsvinnbackend.model.FoodPreference;
-import edu.ntnu.idatt210602.matsvinnbackend.service.FoodPreferencesService;
+import edu.ntnu.idatt210602.matsvinnbackend.service.FoodPreferenceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -16,14 +16,14 @@ import java.util.List;
 @RequestMapping("/foodpreferences")
 @RestController
 @CrossOrigin
-public class FoodPreferencesController {
+public class FoodPreferenceController {
 
     @Autowired
-    FoodPreferencesService foodPreferencesService;
+    FoodPreferenceService foodPreferenceService;
 
     @GetMapping("")
     @ResponseStatus(code = HttpStatus.OK)
     public List<FoodPreference> getAllFoodPreferences() {
-        return foodPreferencesService.getAllFoodPreferences();
+        return foodPreferenceService.getAllFoodPreferences();
     }
 }
diff --git a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreference.java b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreference.java
index 45804a8..2d7331d 100644
--- a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreference.java
+++ b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreference.java
@@ -4,12 +4,16 @@ import jakarta.persistence.Entity;
 import jakarta.persistence.GeneratedValue;
 import jakarta.persistence.GenerationType;
 import jakarta.persistence.Id;
+import lombok.AllArgsConstructor;
 import lombok.Getter;
+import lombok.NoArgsConstructor;
 import lombok.Setter;
 
 /**
  * Class FoodPreferences to represent a food preference e.g. vegan.
  */
+@NoArgsConstructor
+@AllArgsConstructor
 @Entity
 public class FoodPreference {
 
@@ -21,12 +25,4 @@ public class FoodPreference {
     @Getter
     @Setter
     private String Type;
-
-    public FoodPreference() {
-
-    }
-
-    public FoodPreference(String type) {
-        Type = type;
-    }
 }
diff --git a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesService.java b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferenceService.java
similarity index 94%
rename from src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesService.java
rename to src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferenceService.java
index e62a1b4..1301243 100644
--- a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesService.java
+++ b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferenceService.java
@@ -11,7 +11,7 @@ import java.util.List;
  * Class FoodPreferenceService to provide business functionalities related to foodPreferences
  */
 @Service
-public class FoodPreferencesService {
+public class FoodPreferenceService {
 
     @Autowired
     FoodPreferencesRepository foodPreferencesRepository;
diff --git a/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesControllerTest.java b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesControllerTest.java
index c0a2133..5896691 100644
--- a/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesControllerTest.java
+++ b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesControllerTest.java
@@ -1,13 +1,13 @@
 package edu.ntnu.idatt210602.matsvinnbackend.controller;
 
+import edu.ntnu.idatt210602.matsvinnbackend.controller.FoodPreferenceController;
 import edu.ntnu.idatt210602.matsvinnbackend.model.FoodPreference;
 import edu.ntnu.idatt210602.matsvinnbackend.repo.FoodPreferencesRepository;
-import edu.ntnu.idatt210602.matsvinnbackend.service.FoodPreferencesService;
+import edu.ntnu.idatt210602.matsvinnbackend.service.FoodPreferenceService;
 import org.junit.Test;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.junit.runner.RunWith;
-import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
@@ -26,7 +26,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 
 @RunWith(SpringRunner.class)
 @ExtendWith(MockitoExtension.class)
-@WebMvcTest(FoodPreferencesController.class)
+@WebMvcTest(FoodPreferenceController.class)
 @AutoConfigureMockMvc(addFilters = false)
 public class FoodPreferencesControllerTest {
 
@@ -37,13 +37,13 @@ public class FoodPreferencesControllerTest {
     private FoodPreferencesRepository foodPreferencesRepository;
 
     @MockBean
-    private FoodPreferencesService foodPreferencesService;
+    private FoodPreferenceService foodPreferencesService;
 
     @Autowired
-    FoodPreferencesController foodPreferencesController;
+    FoodPreferenceController foodPreferenceController;
 
-    FoodPreference testPreference = new FoodPreference("Vegan");
-    FoodPreference testPreference2 = new FoodPreference("Vegetarian");
+    FoodPreference testPreference = new FoodPreference(null,"Vegan");
+    FoodPreference testPreference2 = new FoodPreference(null,"Vegetarian");
 
     @BeforeEach
     void setup() {
@@ -54,7 +54,7 @@ public class FoodPreferencesControllerTest {
     public void GetAllFoodPreferencesGivesOkStatusResponse() throws Exception {
 
         this.mvc.perform(get("/foodpreferences")).andDo(print()).andExpect(status().isOk());
-        assertEquals(0, foodPreferencesController.getAllFoodPreferences().size());
+        assertEquals(0, foodPreferenceController.getAllFoodPreferences().size());
     }
 
     @Test
@@ -65,7 +65,7 @@ public class FoodPreferencesControllerTest {
         preferences.add(testPreference2);
         foodPreferencesRepository.save(testPreference);
         foodPreferencesRepository.save(testPreference2);
-        when(foodPreferencesController.getAllFoodPreferences()).thenReturn(preferences);
-        assertEquals(preferences, foodPreferencesController.getAllFoodPreferences());
+        when(foodPreferenceController.getAllFoodPreferences()).thenReturn(preferences);
+        assertEquals(preferences, foodPreferenceController.getAllFoodPreferences());
     }
 }
diff --git a/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreferenceTest.java b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreferenceTest.java
new file mode 100644
index 0000000..5fc92e8
--- /dev/null
+++ b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreferenceTest.java
@@ -0,0 +1,34 @@
+package edu.ntnu.idatt210602.matsvinnbackend.model;
+
+
+import org.junit.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.runner.RunWith;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
+@SpringBootTest
+@RunWith(SpringRunner.class)
+@ExtendWith(MockitoExtension.class)
+public class FoodPreferenceTest {
+
+    @Test
+    public void WhenConstructingAnObjectItIsConstructed() {
+        FoodPreference foodPreference = new FoodPreference(null,"vegan");
+        assertEquals("vegan", foodPreference.getType());
+        assertNull(foodPreference.getId());
+
+        foodPreference.setType("vegetarian");
+        assertEquals("vegetarian", foodPreference.getType());
+    }
+
+    @Test
+    public void WhenUsingEmptyConstructorFieldsAreNull() {
+        FoodPreference foodPreference = new FoodPreference();
+        assertNull(foodPreference.getType());
+        assertNull(foodPreference.getId());
+    }
+}
diff --git a/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesServiceTest.java b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesServiceTest.java
index 7529895..ec0d6b1 100644
--- a/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesServiceTest.java
+++ b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesServiceTest.java
@@ -26,10 +26,10 @@ public class FoodPreferencesServiceTest {
     private FoodPreferencesRepository foodPreferencesRepository;
 
     @InjectMocks
-    FoodPreferencesService foodPreferencesService;
+    FoodPreferenceService foodPreferenceService;
 
-    FoodPreference testPreference = new FoodPreference("Vegan");
-    FoodPreference testPreference2 = new FoodPreference("Vegetarian");
+    FoodPreference testPreference = new FoodPreference(null,"Vegan");
+    FoodPreference testPreference2 = new FoodPreference(null,"Vegetarian");
 
     @Test
     public void getAllPreferencesReturnsAllSavedPreferences() {
@@ -38,7 +38,7 @@ public class FoodPreferencesServiceTest {
         preferences.add(testPreference2);
         foodPreferencesRepository.save(testPreference);
         foodPreferencesRepository.save(testPreference2);
-        when(foodPreferencesService.getAllFoodPreferences()).thenReturn(preferences);
-        assertEquals(preferences, foodPreferencesService.getAllFoodPreferences());
+        when(foodPreferenceService.getAllFoodPreferences()).thenReturn(preferences);
+        assertEquals(preferences, foodPreferenceService.getAllFoodPreferences());
     }
 }
-- 
GitLab


From 8293df6c2b4175ac1806f3c5f4555b2641c65982 Mon Sep 17 00:00:00 2001
From: Axely <axel.ytteraas@gmail.com>
Date: Fri, 21 Apr 2023 14:41:05 +0200
Subject: [PATCH 3/3] Excluded main class from jacoco coverage reports in pom

---
 pom.xml | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/pom.xml b/pom.xml
index 4a38713..bd71f56 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,6 +18,11 @@
 		<java.version>17</java.version>
 	</properties>
 	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven.plugins</groupId>
+			<artifactId>maven-surefire-plugin</artifactId>
+			<version>3.0.0</version>
+		</dependency>
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-data-jpa</artifactId>
@@ -97,6 +102,12 @@
 				<groupId>org.jacoco</groupId>
 				<artifactId>jacoco-maven-plugin</artifactId>
 				<version>0.8.9</version>
+				<configuration>
+					<excludes>
+						<exclude>**/model/**</exclude>
+						<exclude>**/MatsvinnBackendApplication.class</exclude>
+					</excludes>
+				</configuration>
 				<executions>
 					<execution>
 						<goals>
-- 
GitLab