From a5c3ca250e5c70726e9912795847884178da3f19 Mon Sep 17 00:00:00 2001
From: birkon <birkon@stud.ntnu.no>
Date: Thu, 4 May 2023 10:45:54 +0200
Subject: [PATCH] fixed the test for repository, and the jpa command

---
 .../repository/ShoppingListRepository.java    |  2 +-
 .../SmartMat/service/ShoppingListService.java |  2 +-
 .../ShoppingListRepositoryTest.java           | 53 +++++++++++++++++++
 .../service/ShoppingListServiceTest.java      |  4 +-
 4 files changed, 57 insertions(+), 4 deletions(-)

diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/ShoppingListRepository.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/ShoppingListRepository.java
index dcc5f416..b4dfbe25 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/ShoppingListRepository.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/ShoppingListRepository.java
@@ -30,7 +30,7 @@ public interface ShoppingListRepository extends JpaRepository<ShoppingList, Long
      * @param username the username of the user
      * @return a list of shopping lists
      */
-    List<ShoppingList> findAllByGroupUsersUsername(String username);
+    List<ShoppingList> findAllByGroupUserUserUsername(String username);
 
 
 }
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/ShoppingListService.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/ShoppingListService.java
index 6f1f69f3..d77c53a8 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/ShoppingListService.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/ShoppingListService.java
@@ -113,7 +113,7 @@ public class ShoppingListService {
      * @return true if user is in shoppinglist, false if not
      */
     public boolean isUserInShoppinglist(long id, String name) {
-        return shoppingListRepository.findAllByGroupUsersUsername(name).stream()
+        return shoppingListRepository.findAllByGroupUserUserUsername(name).stream()
                 .anyMatch(shoppingList -> shoppingList.getShoppingListID() == id);
 
     }
diff --git a/src/test/java/ntnu/idatt2016/v233/SmartMat/repository/ShoppingListRepositoryTest.java b/src/test/java/ntnu/idatt2016/v233/SmartMat/repository/ShoppingListRepositoryTest.java
index 0a9c74ca..a379523d 100644
--- a/src/test/java/ntnu/idatt2016/v233/SmartMat/repository/ShoppingListRepositoryTest.java
+++ b/src/test/java/ntnu/idatt2016/v233/SmartMat/repository/ShoppingListRepositoryTest.java
@@ -6,6 +6,9 @@ import java.util.List;
 import java.util.Optional;
 
 import ntnu.idatt2016.v233.SmartMat.entity.group.Group;
+import ntnu.idatt2016.v233.SmartMat.entity.group.UserGroupAsso;
+import ntnu.idatt2016.v233.SmartMat.entity.group.UserGroupId;
+import ntnu.idatt2016.v233.SmartMat.entity.user.User;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
@@ -96,4 +99,54 @@ public class ShoppingListRepositoryTest {
         List<ShoppingList> shoppingLists = shoppingListRepository.findAll();
         assertEquals(2, shoppingLists.size());
     }
+
+    @Test
+    void getbyusername(){
+        Group group = Group.builder()
+                .build();
+        ShoppingList shoppingList1 = ShoppingList.builder()
+                .group(group)
+                .build();
+
+        Group group2 = Group.builder()
+                .build();
+        ShoppingList shoppingList2 = ShoppingList.builder()
+                .group(group2)
+                .build();
+
+        User user = User.builder()
+                .username("username")
+                .password("password")
+                .build();
+
+        entityManager.persist(user);
+        entityManager.persist(group);
+
+        group.addUser(UserGroupAsso.builder()
+                        .id(new UserGroupId(user.getUsername(), group.getGroupId()))
+                        .group(group)
+                        .user(user)
+                .build());
+
+
+
+        shoppingListRepository.save(shoppingList1);
+        shoppingListRepository.save(shoppingList2);
+
+        List<ShoppingList> shoppingLists = shoppingListRepository.findAll();
+
+        assertEquals(2, shoppingLists.size());
+
+        List<ShoppingList> shoppingListsByUsername = shoppingListRepository
+                .findAllByGroupUserUserUsername(user.getUsername());
+
+        assertEquals(1, shoppingListsByUsername.size());
+
+        ShoppingList tempShoppingList = shoppingListsByUsername.get(0);
+
+        assertEquals(group.getGroupId(), tempShoppingList.getGroup().getGroupId());
+
+
+
+    }
 }
diff --git a/src/test/java/ntnu/idatt2016/v233/SmartMat/service/ShoppingListServiceTest.java b/src/test/java/ntnu/idatt2016/v233/SmartMat/service/ShoppingListServiceTest.java
index 6ff1845b..954761ab 100644
--- a/src/test/java/ntnu/idatt2016/v233/SmartMat/service/ShoppingListServiceTest.java
+++ b/src/test/java/ntnu/idatt2016/v233/SmartMat/service/ShoppingListServiceTest.java
@@ -99,7 +99,7 @@ class ShoppingListServiceTest {
                 .build());
 
 
-        when(shoppingListRepository.findAllByGroupUsersUsername(user.getUsername()))
+        when(shoppingListRepository.findAllByGroupUserUserUsername(user.getUsername()))
                 .thenReturn(List.of(shoppingList));
 
         boolean result = shoppingListService.isUserInShoppinglist(
@@ -108,6 +108,6 @@ class ShoppingListServiceTest {
         assertTrue(result);
 
         verify(shoppingListRepository, times(1))
-                .findAllByGroupUsersUsername(user.getUsername());
+                .findAllByGroupUserUserUsername(user.getUsername());
     }
 }
-- 
GitLab