diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/UserGroupAssoService.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/UserGroupAssoService.java index 1bd8c29b51978c104f872170ec625ecc30784f19..2704cedcc91bf20582886c7a3beaac41f01e187f 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/UserGroupAssoService.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/UserGroupAssoService.java @@ -8,6 +8,7 @@ import ntnu.idatt2016.v233.SmartMat.entity.group.UserGroupAsso; import ntnu.idatt2016.v233.SmartMat.entity.user.User; import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository; import ntnu.idatt2016.v233.SmartMat.repository.group.UserGroupAssoRepository; +import ntnu.idatt2016.v233.SmartMat.repository.user.UserRepository; import org.springframework.stereotype.Service; import java.util.List; @@ -19,6 +20,7 @@ public class UserGroupAssoService { private UserGroupAssoRepository userGroupAssoRepository; private GroupRepository groupRepository; + private final UserRepository userRepository; public void save(User user, Group group, boolean primaryGroup) { UserGroupAsso userGroupTable1 = new UserGroupAsso(); @@ -35,6 +37,9 @@ public class UserGroupAssoService { user.addGroup(userGroupTable1); group.addUser(userGroupTable1); + groupRepository.save(group); + userRepository.save(user); + } /** diff --git a/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/UserGroupAssoServiceTest.java b/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/UserGroupAssoServiceTest.java index ace9e77b5f58719144341314e420615051286201..57d207c850fbdefa78023197afb42e163ef72853 100644 --- a/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/UserGroupAssoServiceTest.java +++ b/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/UserGroupAssoServiceTest.java @@ -4,60 +4,61 @@ import ntnu.idatt2016.v233.SmartMat.entity.group.Group; import ntnu.idatt2016.v233.SmartMat.entity.group.UserGroupId; import ntnu.idatt2016.v233.SmartMat.entity.group.UserGroupAsso; import ntnu.idatt2016.v233.SmartMat.entity.user.User; +import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository; import ntnu.idatt2016.v233.SmartMat.repository.group.UserGroupAssoRepository; +import ntnu.idatt2016.v233.SmartMat.repository.user.UserRepository; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; @ExtendWith(MockitoExtension.class) -class UserGroupAssoServiceTest { +public class UserGroupAssoServiceTest { @Mock - UserGroupAssoRepository userGroupAssoRepository; + private UserGroupAssoRepository userGroupAssoRepository; - @InjectMocks - UserGroupAssoService userGroupAssoService; - - @Test - void save() { - - UserGroupAsso tempAsso = new UserGroupAsso(); - - User user = new User(); - user.setFirstName("test"); - user.setLastName("test"); - user.setUsername("test"); - - Group tempgroup = new Group(); - tempgroup.setGroupName("test"); - - tempAsso.setId(UserGroupId.builder().username(user.getUsername()) - .groupId(tempgroup.getGroupId()).build()); - tempAsso.setGroup(tempgroup); - tempAsso.setUser(user); - tempAsso.setPrimaryGroup(true); - - tempgroup.addUser(tempAsso); - user.addGroup(tempAsso); - - - when(userGroupAssoRepository.save(tempAsso)) - .thenReturn(tempAsso); - - - userGroupAssoService.save(user, tempgroup, true); - - //make sure the correct assisiation is saved - verify(userGroupAssoRepository, times(1)).save(tempAsso); + @Mock + private GroupRepository groupRepository; + @Mock + private UserRepository userRepository; - assertEquals(user.getGroup().get(0), tempgroup.getUser().get(0)); + @InjectMocks + private UserGroupAssoService userGroupAssoService; + + private User user; + private Group group; + private UserGroupAsso userGroupAsso; + + @BeforeEach + public void setUp() { + user = new User(); + user.setUsername("testUser"); + + group = new Group(); + group.setGroupId(1L); + + userGroupAsso = new UserGroupAsso(); + userGroupAsso.setUser(user); + userGroupAsso.setGroup(group); + userGroupAsso.setPrimaryGroup(true); + userGroupAsso.setId(UserGroupId.builder() + .groupId(group.getGroupId()) + .username(user.getUsername()) + .build()); + } + @Test + public void testSave() { + userGroupAssoService.save(user, group, true); + verify(userGroupAssoRepository, times(1)).save(userGroupAsso); + verify(userRepository, times(1)).save(user); + verify(groupRepository, times(1)).save(group); } -} \ No newline at end of file +}