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"); + } +}