diff --git a/eeg_backend/src/main/java/at/mueller/eeg/backend/iam/service/AdminIamService.java b/eeg_backend/src/main/java/at/mueller/eeg/backend/iam/service/AdminIamService.java index 7acad0d..c359e7a 100644 --- a/eeg_backend/src/main/java/at/mueller/eeg/backend/iam/service/AdminIamService.java +++ b/eeg_backend/src/main/java/at/mueller/eeg/backend/iam/service/AdminIamService.java @@ -26,6 +26,11 @@ public class AdminIamService { return userRepository.findAllByStatusAndEmailVerified(RegistrationStatus.PENDING, true); } + @Transactional(readOnly = true) + public List getAllUsers() { + return userRepository.findAllByOrderByCreatedAtDesc(); + } + @Transactional public void approveUser(UUID userId) { User user = userRepository.findById(userId) diff --git a/eeg_backend/src/test/java/at/mueller/eeg/backend/iam/service/AdminIamServiceTest.java b/eeg_backend/src/test/java/at/mueller/eeg/backend/iam/service/AdminIamServiceTest.java index 4e1c9d4..2a37297 100644 --- a/eeg_backend/src/test/java/at/mueller/eeg/backend/iam/service/AdminIamServiceTest.java +++ b/eeg_backend/src/test/java/at/mueller/eeg/backend/iam/service/AdminIamServiceTest.java @@ -124,4 +124,22 @@ class AdminIamServiceTest { assertThrows(ResponseStatusException.class, () -> adminIamService.rejectUser(unknownId)); } + + @Test + void getAllUsers() { + User approvedUser = new User(); + approvedUser.setId(UUID.randomUUID()); + approvedUser.setEmail("approved@example.com"); + approvedUser.setStatus(RegistrationStatus.APPROVED); + + when(userRepository.findAllByOrderByCreatedAtDesc()) + .thenReturn(List.of(testUser, approvedUser)); + + List result = adminIamService.getAllUsers(); + + assertEquals(2, result.size()); + assertEquals("test@example.com", result.get(0).getEmail()); + assertEquals("approved@example.com", result.get(1).getEmail()); + verify(userRepository).findAllByOrderByCreatedAtDesc(); + } }