From b80b22ea46e1734a55ae6487c7d130957166473a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20M=C3=BCller?= Date: Thu, 23 Jul 2026 13:54:51 +0200 Subject: [PATCH] feat(iam): add UserRepository.findAllByOrderByCreatedAtDesc() Add method to retrieve all users ordered by creation date descending. This supports the admin user management overview feature. Tests: - UserRepositoryTest: verify method exists and returns List --- .../iam/repository/UserRepository.java | 2 + .../iam/repository/UserRepositoryTest.java | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 eeg_backend/src/test/java/at/mueller/eeg/backend/iam/repository/UserRepositoryTest.java diff --git a/eeg_backend/src/main/java/at/mueller/eeg/backend/iam/repository/UserRepository.java b/eeg_backend/src/main/java/at/mueller/eeg/backend/iam/repository/UserRepository.java index 4b4bb1b..4af42df 100644 --- a/eeg_backend/src/main/java/at/mueller/eeg/backend/iam/repository/UserRepository.java +++ b/eeg_backend/src/main/java/at/mueller/eeg/backend/iam/repository/UserRepository.java @@ -19,4 +19,6 @@ public interface UserRepository extends JpaRepository { Optional findByVerificationToken(String token); Optional findByPasswordResetToken(String token); + + List findAllByOrderByCreatedAtDesc(); } diff --git a/eeg_backend/src/test/java/at/mueller/eeg/backend/iam/repository/UserRepositoryTest.java b/eeg_backend/src/test/java/at/mueller/eeg/backend/iam/repository/UserRepositoryTest.java new file mode 100644 index 0000000..e95754f --- /dev/null +++ b/eeg_backend/src/test/java/at/mueller/eeg/backend/iam/repository/UserRepositoryTest.java @@ -0,0 +1,37 @@ +package at.mueller.eeg.backend.iam.repository; + +import at.mueller.eeg.backend.iam.domain.User; +import org.junit.jupiter.api.Test; + +import java.lang.reflect.Method; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; + +class UserRepositoryTest { + + @Test + void findAllByOrderByCreatedAtDesc_methodExists() throws NoSuchMethodException { + Method method = UserRepository.class.getMethod("findAllByOrderByCreatedAtDesc"); + assertNotNull(method); + assertEquals(List.class, method.getReturnType()); + } + + @Test + void findAllByOrderByCreatedAtDesc_returnsUserList() throws NoSuchMethodException { + Method method = UserRepository.class.getMethod("findAllByOrderByCreatedAtDesc"); + assertNotNull(method, "findAllByOrderByCreatedAtDesc method not found on UserRepository"); + + Class returnType = method.getReturnType(); + assertEquals(List.class, returnType, "Method should return List"); + + java.lang.reflect.Type genericReturnType = method.getGenericReturnType(); + assertTrue(genericReturnType instanceof java.lang.reflect.ParameterizedType, + "Generic return type should be ParameterizedType"); + + java.lang.reflect.ParameterizedType parameterizedType = + (java.lang.reflect.ParameterizedType) genericReturnType; + Class actualTypeArgument = (Class) parameterizedType.getActualTypeArguments()[0]; + assertEquals(User.class, actualTypeArgument, "Method should return List"); + } +}