Skip to content
Snippets Groups Projects
Commit 067bc55a authored by Anders Austlid's avatar Anders Austlid
Browse files

Added repository saving of user and group when saving a user-group association

parent 317271ce
No related branches found
No related tags found
No related merge requests found
...@@ -8,6 +8,7 @@ import ntnu.idatt2016.v233.SmartMat.entity.group.UserGroupAsso; ...@@ -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.entity.user.User;
import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository; import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository;
import ntnu.idatt2016.v233.SmartMat.repository.group.UserGroupAssoRepository; import ntnu.idatt2016.v233.SmartMat.repository.group.UserGroupAssoRepository;
import ntnu.idatt2016.v233.SmartMat.repository.user.UserRepository;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
...@@ -19,6 +20,7 @@ public class UserGroupAssoService { ...@@ -19,6 +20,7 @@ public class UserGroupAssoService {
private UserGroupAssoRepository userGroupAssoRepository; private UserGroupAssoRepository userGroupAssoRepository;
private GroupRepository groupRepository; private GroupRepository groupRepository;
private final UserRepository userRepository;
public void save(User user, Group group, boolean primaryGroup) { public void save(User user, Group group, boolean primaryGroup) {
UserGroupAsso userGroupTable1 = new UserGroupAsso(); UserGroupAsso userGroupTable1 = new UserGroupAsso();
...@@ -35,6 +37,9 @@ public class UserGroupAssoService { ...@@ -35,6 +37,9 @@ public class UserGroupAssoService {
user.addGroup(userGroupTable1); user.addGroup(userGroupTable1);
group.addUser(userGroupTable1); group.addUser(userGroupTable1);
groupRepository.save(group);
userRepository.save(user);
} }
/** /**
......
...@@ -4,60 +4,61 @@ import ntnu.idatt2016.v233.SmartMat.entity.group.Group; ...@@ -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.UserGroupId;
import ntnu.idatt2016.v233.SmartMat.entity.group.UserGroupAsso; import ntnu.idatt2016.v233.SmartMat.entity.group.UserGroupAsso;
import ntnu.idatt2016.v233.SmartMat.entity.user.User; 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.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.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks; import org.mockito.InjectMocks;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoExtension;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
@ExtendWith(MockitoExtension.class) @ExtendWith(MockitoExtension.class)
class UserGroupAssoServiceTest { public class UserGroupAssoServiceTest {
@Mock @Mock
UserGroupAssoRepository userGroupAssoRepository; private UserGroupAssoRepository userGroupAssoRepository;
@InjectMocks @Mock
UserGroupAssoService userGroupAssoService; private GroupRepository groupRepository;
@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 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment