diff --git a/src/test/java/hdm/mi/growbros/repositories/WishListRepositoryTest.java b/src/test/java/hdm/mi/growbros/repositories/WishListRepositoryTest.java
index 8926d4c08e70b48e63d1a96033582faaa84b5c80..cc99ef4f2b53dcb3befcd25c91d3935d98d5caea 100644
--- a/src/test/java/hdm/mi/growbros/repositories/WishListRepositoryTest.java
+++ b/src/test/java/hdm/mi/growbros/repositories/WishListRepositoryTest.java
@@ -9,7 +9,6 @@ import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
 import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
-import org.springframework.security.web.access.channel.RetryWithHttpEntryPoint;
 import org.springframework.test.context.ActiveProfiles;
 
 import java.util.List;
diff --git a/src/test/java/hdm/mi/growbros/service/WishListServiceTest.java b/src/test/java/hdm/mi/growbros/service/WishListServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..59cbe282317c9efc75bdedd74b1accecbad92557
--- /dev/null
+++ b/src/test/java/hdm/mi/growbros/service/WishListServiceTest.java
@@ -0,0 +1,106 @@
+package hdm.mi.growbros.service;
+
+import hdm.mi.growbros.config.UserTestData;
+import hdm.mi.growbros.exceptions.PlantNotFoundException;
+import hdm.mi.growbros.models.WishListEntry;
+import hdm.mi.growbros.models.plant.Plant;
+import hdm.mi.growbros.models.user.Role;
+import hdm.mi.growbros.models.user.User;
+import hdm.mi.growbros.repositories.PlantRepository;
+import hdm.mi.growbros.repositories.WishListRepository;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.data.domain.Sort;
+import org.springframework.test.context.ActiveProfiles;
+
+import java.util.List;
+import java.util.Optional;
+
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.when;
+
+@SpringBootTest
+@ActiveProfiles("test")
+public class WishListServiceTest {
+
+    @MockBean
+    private WishListRepository wishListRepository;
+    @MockBean
+    private PlantRepository plantRepository;
+
+    @Autowired
+    private WishListService wishListService;
+
+    @MockBean
+    private TestEntityManager entityManager;
+    private User user1;
+
+    @BeforeEach
+    void setupEach() {
+        user1 = User.builder()
+                .email("user1@gmail.com")
+                .role(Role.USER)
+                .password("safePassword123!")
+                .build();
+        entityManager.persist(user1);
+    }
+
+    @Test
+    void shouldThrow_whenAddingPlant_thatDoesNotExist() {
+        //setup
+        when(plantRepository.findById(100L)).thenReturn(Optional.empty());
+
+        assertThrows(PlantNotFoundException.class, () -> wishListService.addPlantToWishList(100L, UserTestData.getUser1()));
+    }
+
+    @Test
+    void shouldReturn_whenAddingExistingPlant() {
+        //setup
+        Plant plant = Plant.builder().name("Plant!").build();
+        when(plantRepository.findById(1L)).thenReturn(Optional.of(plant));
+        /*when(wishListRepository.save(
+                any(WishListEntry.class))
+        ).thenReturn(WishListEntry.builder().plant(plant).build());
+*/
+        //assert
+        wishListService.addPlantToWishList(1L, user1);
+        assertEquals(1, wishListService.countByUser(user1));
+    }
+
+    @Test
+    void shouldReturnEntries_inCorrectOrder() {
+        //setup
+        Plant p1 = Plant.builder().name("AAA").build();
+        Plant p2 = Plant.builder().name("BBB").build();
+        Plant p3 = Plant.builder().name("CCC").build();
+        var orderedByNameMock = List.of(p1, p2, p3);
+        var orderedByCreatedMock = List.of(p2, p1, p3);
+        var orderedByPlantDateMock = List.of(p3, p2, p1);
+        //var orderedByCurrentPlantDateMock = List.of();
+
+        User user = UserTestData.getUser1();
+
+        when(wishListRepository.findByUser(user, Sort.by("createdAt").descending())).thenReturn(mapPlantsToWishListEntries(orderedByCreatedMock, user));
+        when(wishListRepository.findByUser(user, Sort.by("plant.name"))).thenReturn(mapPlantsToWishListEntries(orderedByNameMock, user));
+        when(wishListRepository.findAllByNearestPlantingWeek(eq(user), any(int.class))).thenReturn(mapPlantsToWishListEntries(orderedByPlantDateMock, user));
+
+        assertAll(
+                () -> assertEquals(orderedByNameMock, wishListService.getWishedPlants(user, null)),
+                () -> assertEquals(orderedByNameMock, wishListService.getWishedPlants(user, "random stuff")),
+                () -> assertEquals(orderedByCreatedMock, wishListService.getWishedPlants(user, "createdAt")),
+                () -> assertEquals(orderedByPlantDateMock, wishListService.getWishedPlants(user, "plantDate"))
+        );
+    }
+
+    private List<WishListEntry> mapPlantsToWishListEntries(List<Plant> plants, User user) {
+        return plants.stream()
+                .map(plant -> WishListEntry.builder().plant(plant).id(0L).user(user).build())
+                .toList();
+    }
+}
\ No newline at end of file