diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/UserRepository.java b/user-manager-server/src/main/java/de/itvsh/kop/user/UserRepository.java
index 2ee4018ddbc6dd46ce6bf0a85033d3d68a782473..4db774a6227542cf4c154275b8416ba02f4bd26c 100644
--- a/user-manager-server/src/main/java/de/itvsh/kop/user/UserRepository.java
+++ b/user-manager-server/src/main/java/de/itvsh/kop/user/UserRepository.java
@@ -39,6 +39,7 @@ import io.quarkus.mongodb.panache.PanacheMongoRepository;
 @ApplicationScoped
 @KopLogging
 class UserRepository implements PanacheMongoRepository<User> {
+
 	private static final String LIKE_OR = " like ?1 or ";
 	private static final String SEARCH_QUERY = LASTNAME_FIELD + LIKE_OR +
 			FIRSTNAME_FIELD + LIKE_OR +
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceAssemblerTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceAssemblerTest.java
index d5d0be062c845c95ece65669dc1d1603e1b46d9f..3ca7db44890e49d1d266d4aa950d5721f514bf9b 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceAssemblerTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceAssemblerTest.java
@@ -23,7 +23,6 @@
  */
 package de.itvsh.kop.user;
 
-import static de.itvsh.kop.user.UserTestFactory.*;
 import static org.assertj.core.api.Assertions.*;
 
 import java.util.List;
@@ -48,33 +47,31 @@ class UserProfileResourceAssemblerTest {
 	@Nested
 	class TestToUserProfileResource {
 
-		private static final User USER = createWithId();
-
 		@Test
 		void shouldAddSelfLink() {
-			var res = assembler.toUserProfileResource(USER, USER_MANAGER_URL);
+			var res = assembler.toUserProfileResource(UserTestFactory.create(), USER_MANAGER_URL);
 
 			assertThat(res.getLinks().get(UserProfileResourceAssembler.REL_SELF))
 					.isNotNull()
 					.hasFieldOrPropertyWithValue("href",
-							USER_MANAGER_URL + UserProfileResource.USER_PROFILE_RESOURCE_PATH_TEMPLATE.replace("{id}", ID.toHexString()));
+							USER_MANAGER_URL + UserProfileResource.USER_PROFILE_RESOURCE_PATH_TEMPLATE.replace("{id}", UserTestFactory.ID_STR));
 		}
 
 		@Test
 		void shouldAddSettingsLink() {
-			var res = assembler.toUserProfileResource(USER, USER_MANAGER_URL);
+			var res = assembler.toUserProfileResource(UserTestFactory.create(), USER_MANAGER_URL);
 
 			assertThat(res.getLinks().get(UserProfileResourceAssembler.REL_SETTINGS))
 					.isNotNull()
 					.hasFieldOrPropertyWithValue("href",
-							USER_MANAGER_URL + UserSettingsResource.SETTINGS_LINK_PATTERN.replace("{id}", ID.toHexString()));
+							USER_MANAGER_URL + UserSettingsResource.SETTINGS_LINK_PATTERN.replace("{id}", UserTestFactory.ID_STR));
 		}
 	}
 
 	@DisplayName("To Userprofile Resource List")
 	@Nested
 	class TestToUserProfileResourceList {
-		private static final List<User> USERS = List.of(createWithId(), createWithId());
+		private static final List<User> USERS = List.of(UserTestFactory.create(), UserTestFactory.create());
 
 		@Test
 		void shouldAddSelfLink() {
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceITCase.java
index e4b9d4d4d6199522de801f017acd08f41e332b9d..402863432e6d18b74937a0479771f72dfc47664a 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceITCase.java
@@ -26,8 +26,8 @@ package de.itvsh.kop.user;
 import static de.itvsh.kop.user.UserTestFactory.*;
 import static io.restassured.RestAssured.*;
 import static org.hamcrest.CoreMatchers.*;
-import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.*;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.when;
 
 import java.util.stream.Stream;
@@ -55,15 +55,18 @@ class UserProfileResourceITCase {
 	@InjectMock
 	UserService userService;
 
-	private String settingsUrlWithUserId = HTTP_LOCALHOST + UserSettingsResource.SETTINGS_LINK_PATTERN.replace("{id}", ID.toHexString());
-	private String urlWithUserId = HTTP_LOCALHOST + UserProfileResource.USER_PROFILE_RESOURCE_PATH_TEMPLATE.replace("{id}", ID.toHexString());
+	private String settingsUrlWithUserId = HTTP_LOCALHOST
+			+ UserSettingsResource.SETTINGS_LINK_PATTERN.replace("{id}", UserTestFactory.ID_STR);
+	private String urlWithUserId = HTTP_LOCALHOST
+			+ UserProfileResource.USER_PROFILE_RESOURCE_PATH_TEMPLATE.replace("{id}", UserTestFactory.ID_STR);
 
 	@DisplayName("Test get user by id")
 	@Nested
 	class TestGetUser {
+
 		@BeforeEach
 		void init() {
-			when(userService.getById(any())).thenReturn(createWithId());
+			when(userService.getById(any())).thenReturn(UserTestFactory.create());
 		}
 
 		@Test
@@ -71,7 +74,7 @@ class UserProfileResourceITCase {
 			given()
 					.when()
 					.accept(RestMediaType.APPLICATION_HAL_JSON)
-					.get(UserProfileResource.USERS_PATH + "/{id}", ID.toHexString())
+					.get(UserProfileResource.USERS_PATH + "/{id}", UserTestFactory.ID_STR)
 					.then().statusCode(200)
 					.body("_links.self.href", equalTo(urlWithUserId));
 		}
@@ -81,7 +84,7 @@ class UserProfileResourceITCase {
 			given()
 					.when()
 					.accept(RestMediaType.APPLICATION_HAL_JSON)
-					.get(UserProfileResource.USERS_PATH + "/{id}", ID.toHexString())
+					.get(UserProfileResource.USERS_PATH + "/{id}", UserTestFactory.ID_STR)
 					.then().statusCode(200)
 					.body("_links.settings.href", equalTo(settingsUrlWithUserId));
 		}
@@ -111,7 +114,7 @@ class UserProfileResourceITCase {
 
 		@BeforeEach
 		void init() {
-			when(userService.findUsers(any(), anyInt())).thenReturn(Stream.of(createWithId()));
+			when(userService.findUsers(any(), anyInt())).thenReturn(Stream.of(UserTestFactory.create()));
 		}
 
 		@Test
@@ -180,8 +183,8 @@ class UserProfileResourceITCase {
 
 		@Test
 		void shouldGetDeletedAndNotDeletedUsers() {
-			User user1 = UserTestFactory.createBuilder().deleted(false).build();
-			User user2 = UserTestFactory.createBuilder().deleted(true).build();
+			var user1 = UserTestFactory.createBuilder().deleted(false).build();
+			var user2 = UserTestFactory.createBuilder().deleted(true).build();
 			when(userService.findUsers(anyString(), anyInt())).thenReturn(Stream.of(user1, user2));
 
 			given()
@@ -202,7 +205,7 @@ class UserProfileResourceITCase {
 
 			@BeforeEach
 			void init() {
-				when(userService.findUsers(any(), anyInt())).thenReturn(Stream.of(createWithId()));
+				when(userService.findUsers(any(), anyInt())).thenReturn(Stream.of(UserTestFactory.create()));
 			}
 
 			@Test
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserRepositoryITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserRepositoryITCase.java
index 431a32167c76082aa3d6fc9faabf799c15633ccc..3189e0c7f33edf85fad4f807da3d6eddc5291272 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserRepositoryITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserRepositoryITCase.java
@@ -28,9 +28,11 @@ import static org.assertj.core.api.Assertions.*;
 
 import java.time.Instant;
 import java.util.List;
+import java.util.stream.Stream;
 
 import javax.inject.Inject;
 
+import org.bson.types.ObjectId;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
@@ -49,25 +51,11 @@ class UserRepositoryITCase {
 	@Inject
 	UserRepository repository;
 
-	private User user1;
-	private User user2;
-
-	@BeforeEach
-	void init() {
-		repository.deleteAll();
-		user1 = UserTestFactory.create();
-		repository.persist(user1);
-
-		user2 = UserTestFactory.createBuilder().externalId("unknown").build();
-		repository.persist(user2);
-		user2 = user2.toBuilder().externalId(null).build();
-	}
-
 	@DisplayName("Update unsynced users")
 	@Nested
 	class TestUpdateUnsyncedUser {
 
-		private long lastSyncTimestamp = Instant.now().toEpochMilli();
+		private static final long NOW = Instant.now().toEpochMilli();
 
 		@BeforeEach
 		void init() {
@@ -76,18 +64,18 @@ class UserRepositoryITCase {
 
 		@Test
 		void shouldMarkUnsyncedUserAsDeleted() {
-			repository.persist(createUserWithLastSyncTimestamp(lastSyncTimestamp - 1000));
+			repository.persist(createUserWithLastSyncTimestamp(NOW - 1000));
 
-			repository.updateUnsyncedUsers(lastSyncTimestamp);
+			repository.updateUnsyncedUsers(NOW);
 
 			assertThat(getFirstUser().isDeleted()).isTrue();
 		}
 
 		@Test
 		void shouldNotMarkUserIfSynced() {
-			repository.persist(createUserWithLastSyncTimestamp(lastSyncTimestamp));
+			repository.persist(createUserWithLastSyncTimestamp(NOW));
 
-			repository.updateUnsyncedUsers(lastSyncTimestamp);
+			repository.updateUnsyncedUsers(NOW);
 
 			assertThat(getFirstUser().isDeleted()).isFalse();
 		}
@@ -97,177 +85,241 @@ class UserRepositoryITCase {
 		}
 
 		private User getFirstUser() {
-			var allUser = repository.findAll();
-			return allUser.list().get(0);
+			return repository.findAll().list().get(0);
 		}
 	}
 
-	@DisplayName("Find Users")
+	@DisplayName("Find all active user")
 	@Nested
-	class TestFindUsers {
-
-		private static final int LIMIT_5 = 5;
+	class TestFindAllActiveUser {
 
 		@BeforeEach
 		void init() {
 			repository.deleteAll();
-			repository.persist(UserTestFactory.createBuilder().email(LoremIpsum.getInstance().getEmail()).externalId("additional-id").build());
-			user1 = UserTestFactory.create();
-			repository.persist(user1);
+			repository.persist(UserTestFactory.create());
 		}
 
 		@Test
 		void shouldFindByLastName() {
-			var res = repository.findUsers(UserTestFactory.LAST_NAME, false, LIMIT_5);
+			var user = findAllActiveUser(UserTestFactory.LAST_NAME);
 
-			assertThat(res).isNotEmpty().hasSize(2);
+			assertThat(user).isNotEmpty().hasSize(1);
+		}
+
+		@Test
+		void shouldFindCaseInsensitive() {
+			var user = findAllActiveUser(UserTestFactory.LAST_NAME.toLowerCase());
+
+			assertThat(user).isNotEmpty().hasSize(1);
 		}
 
 		@Test
 		void shouldFindByFirstName() {
-			var res = repository.findUsers(UserTestFactory.FIRST_NAME, false, LIMIT_5);
+			var user = findAllActiveUser(UserTestFactory.FIRST_NAME);
 
-			assertThat(res).isNotEmpty().hasSize(2);
+			assertThat(user).isNotEmpty().hasSize(1);
 		}
 
 		@Test
 		void shouldFindByUsername() {
-			var res = repository.findUsers(UserTestFactory.USER_NAME, false, LIMIT_5);
+			var user = findAllActiveUser(UserTestFactory.USER_NAME);
 
-			assertThat(res).isNotEmpty().hasSize(2);
+			assertThat(user).isNotEmpty().hasSize(1);
 		}
 
 		@Test
 		void shouldFindByUsernamePart() {
-			var res = repository.findUsers(UserTestFactory.USER_NAME.substring(0, 4), false, LIMIT_5);
+			var user = findAllActiveUser(UserTestFactory.USER_NAME.substring(0, 4));
 
-			assertThat(res).isNotEmpty().hasSize(2);
+			assertThat(user).isNotEmpty().hasSize(1);
 		}
 
 		@Test
 		void shouldFindByEmail() {
-			var res = repository.findUsers(UserTestFactory.EMAIL, false, LIMIT_5);
+			var user = findAllActiveUser(UserTestFactory.EMAIL);
 
-			assertThat(res).isNotEmpty().hasSize(1);
+			assertThat(user).isNotEmpty().hasSize(1);
 		}
 
 		@Test
-		void shouldNotFind() {
-			var res = repository.findUsers("xxx", false, 5);
-			assertThat(res).isEmpty();
+		void shouldReturnEmptyListIfNotMatch() {
+			var user = findAllActiveUser("xxx");
+
+			assertThat(user).isEmpty();
 		}
 
-		@Test
-		void shouldFindCaseInsensitive() {
-			var res = repository.findUsers(UserTestFactory.LAST_NAME.toLowerCase(), false, LIMIT_5);
-			assertThat(res).isNotEmpty().hasSize(2);
+		private Stream<User> findAllActiveUser(String query) {
+			return repository.findUsers(query, false, 5);
 		}
 
 		@Test
-		void shouldFindByExternalId() {
-			var res = repository.findByExternalId(user1.getExternalId());
+		void shouldFindNotDeletedUsers() {
+			User user1 = UserTestFactory.createBuilder().id(new ObjectId()).firstName("Max").deleted(true).build();
+			User user2 = UserTestFactory.createBuilder().id(new ObjectId()).firstName("Maximilian").deleted(true).build();
+			User user3 = UserTestFactory.createBuilder().id(new ObjectId()).firstName("Maximus").deleted(false).build();
 
-			assertThat(res).isPresent();
-			assertThat(res.get().getExternalId()).isEqualTo(user1.getExternalId());
+			repository.persist(user1);
+			repository.persist(user2);
+			repository.persist(user3);
+
+			var foundUsers = findAllActiveUser("Max").toList();
+
+			foundUsers.forEach(u -> assertThat(u.isDeleted()).isFalse());
 		}
 
 		@Test
-		void shouldFindById() {
-			var res = repository.findById(user1.getId());
+		void shouldUseLimit() {
+			repository.persist(UserTestFactory.createBuilder().id(new ObjectId()).build());
 
-			assertThat(res).isNotNull();
-			assertThat(res.getId()).isEqualTo(user1.getId());
+			var res = repository.findUsers(UserTestFactory.LAST_NAME.toLowerCase(), false, 2);
+			assertThat(res).isNotEmpty().hasSize(2);
 		}
+	}
 
-		@Test
-		void shouldFindByEmailOnly() {
-			var res = repository.findByEmail(user1.getEmail());
+	@DisplayName("Find all")
+	@Nested
+	class TestFindAll {
 
-			assertThat(res).isPresent();
-			assertThat(res.get().getExternalId()).isEqualTo(user1.getExternalId());
+		@BeforeEach
+		void init() {
+			repository.deleteAll();
+			repository.persist(UserTestFactory.createBuilder().id(new ObjectId()).email(LoremIpsum.getInstance().getEmail())
+					.externalId("additional-id").build());
+			repository.persist(UserTestFactory.create());
 		}
 
 		@Test
-		void shouldNotFindByEmptyEmail() {
-			var res = repository.findByEmail(null);
+		void shouldFindDeletedAndNotDeletedUsers() {
+			User user1 = UserTestFactory.createBuilder().id(new ObjectId()).firstName("Max").deleted(true).build();
+			User user2 = UserTestFactory.createBuilder().id(new ObjectId()).firstName("Maximilian").deleted(true).build();
+			User user3 = UserTestFactory.createBuilder().id(new ObjectId()).firstName("Maximus").deleted(false).build();
+
+			repository.persist(user1);
+			repository.persist(user2);
+			repository.persist(user3);
+
+			var foundUsers = repository.findUsers("Max", 10).toList();
 
-			assertThat(res).isEmpty();
+			assertThat(foundUsers).hasSizeGreaterThan(2);
+			List<User> startWithMax = foundUsers.stream().filter(u -> u.getFirstName().startsWith("Max")).toList();
+			assertThat(startWithMax).hasSize(3);
+			assertThat(startWithMax.stream().filter(User::isDeleted).count()).isEqualTo(2);
+			assertThat(startWithMax.stream().filter(not(User::isDeleted)).count()).isEqualTo(1);
 		}
+	}
 
-		@Test
-		void shouldFindDeletedUsers() {
-			User user1 = UserTestFactory.createBuilder().firstName("Max").deleted(true).build();
-			User user2 = UserTestFactory.createBuilder().firstName("Maximilian").deleted(true).build();
-			User user3 = UserTestFactory.createBuilder().firstName("Maximus").deleted(false).build();
+	@DisplayName("Find all inactive user")
+	@Nested
+	class TestFindAllInactiveUser {
 
+		@BeforeEach
+		void init() {
+			repository.deleteAll();
+			User user1 = UserTestFactory.createBuilder().id(new ObjectId()).firstName("Max").deleted(true).build();
+			User user2 = UserTestFactory.createBuilder().id(new ObjectId()).firstName("Maximilian").deleted(true).build();
+			User user3 = UserTestFactory.createBuilder().id(new ObjectId()).firstName("Maximus").deleted(false).build();
 			repository.persist(user1);
 			repository.persist(user2);
 			repository.persist(user3);
+		}
 
+		@Test
+		void shouldFindDeletedUsers() {
 			var foundUsers = repository.findUsers("Max", true, 10).toList();
 
 			assertThat(foundUsers).hasSize(2);
 			foundUsers.forEach(u -> assertThat(u.isDeleted()).isTrue());
 		}
 
+	}
+
+	@DisplayName("Find by externalId")
+	@Nested
+	class TestFindByExternalId {
+
+		@BeforeEach
+		void init() {
+			repository.deleteAll();
+			repository.persist(UserTestFactory.create());
+		}
+
 		@Test
-		void shouldFindNotDeletedUsers() {
-			User user1 = UserTestFactory.createBuilder().firstName("Max").deleted(true).build();
-			User user2 = UserTestFactory.createBuilder().firstName("Maximilian").deleted(true).build();
-			User user3 = UserTestFactory.createBuilder().firstName("Maximus").deleted(false).build();
+		void shouldFindByExternalId() {
+			var user = repository.findByExternalId(UserTestFactory.EXTERNAL_ID);
 
-			repository.persist(user1);
-			repository.persist(user2);
-			repository.persist(user3);
+			assertThat(user).isPresent();
+			assertThat(user.get()).usingRecursiveComparison().isEqualTo(UserTestFactory.create());
+		}
+	}
 
-			var foundUsers = repository.findUsers("Max", false, 10).toList();
+	@DisplayName("Find by id")
+	@Nested
+	class TestFindById {
 
-			foundUsers.forEach(u -> assertThat(u.isDeleted()).isFalse());
+		@BeforeEach
+		void init() {
+			repository.deleteAll();
+			repository.persist(UserTestFactory.create());
 		}
 
 		@Test
-		void shouldFindDeletedAndNotDeletedUsers() {
-			User user1 = UserTestFactory.createBuilder().firstName("Max").deleted(true).build();
-			User user2 = UserTestFactory.createBuilder().firstName("Maximilian").deleted(true).build();
-			User user3 = UserTestFactory.createBuilder().firstName("Maximus").deleted(false).build();
+		void shouldFindById() {
+			var user = repository.findById(UserTestFactory.ID_STR);
 
-			repository.persist(user1);
-			repository.persist(user2);
-			repository.persist(user3);
+			assertThat(user).isNotNull();
+			assertThat(user.get()).usingRecursiveComparison().isEqualTo(UserTestFactory.create());
+		}
+	}
 
-			var foundUsers = repository.findUsers("Max", 10).toList();
+	@DisplayName("Find by email")
+	@Nested
+	class TestFindByEmail {
 
-			assertThat(foundUsers).hasSizeGreaterThan(2);
-			List<User> startWithMax = foundUsers.stream().filter(u -> u.getFirstName().startsWith("Max")).toList();
-			assertThat(startWithMax.size()).isEqualTo(3);
-			assertThat(startWithMax.stream().filter(User::isDeleted).count()).isEqualTo(2);
-			assertThat(startWithMax.stream().filter(not(User::isDeleted)).count()).isEqualTo(1);
+		@BeforeEach
+		void init() {
+			repository.deleteAll();
+			repository.persist(UserTestFactory.create());
 		}
 
 		@Test
-		void shouldUseLimit() {
-			repository.persist(UserTestFactory.create());
+		void shouldFindByEmailOnly() {
+			var user = repository.findByEmail(UserTestFactory.EMAIL);
 
-			var res = repository.findUsers(UserTestFactory.LAST_NAME.toLowerCase(), false, 2);
-			assertThat(res).isNotEmpty().hasSize(2);
+			assertThat(user).isPresent();
+			assertThat(user.get()).usingRecursiveComparison().isEqualTo(UserTestFactory.create());
+		}
+
+		@Test
+		void shouldNotFindByEmptyEmail() {
+			var user = repository.findByEmail(null);
+
+			assertThat(user).isEmpty();
 		}
+
 	}
 
 	@DisplayName("Test refreshing user")
 	@Nested
 	class TestRefresh {
+
+		@BeforeEach
+		void init() {
+			repository.deleteAll();
+			repository.persist(UserTestFactory.create());
+		}
+
 		@Test
 		void shouldRefreshByExternalId() {
-			var user = repository.refresh(user1.toBuilder().id(null).build());
+			var user = repository.refresh(UserTestFactory.createBuilder().id(null).build());
 
-			assertThat(user).isNotNull().hasFieldOrPropertyWithValue("id", user1.getId());
+			assertThat(user).usingRecursiveComparison().ignoringFields("id").isEqualTo(UserTestFactory.create());
 		}
 
 		@Test
 		void shouldRefreshById() {
-			var user = repository.refresh(user1);
+			var user = repository.refresh(UserTestFactory.create());
 
-			assertThat(user).isNotNull().hasFieldOrPropertyWithValue("id", user1.getId());
+			assertThat(user).usingRecursiveComparison().ignoringFields("id").isEqualTo(UserTestFactory.create());
 		}
 	}
 }
\ No newline at end of file
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceTest.java
index 10db77a921a4d539eb9303877608a2f2ba79786d..43235c6e126312539c0f9a7e0a993cfe3c68004d 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceTest.java
@@ -121,7 +121,7 @@ class UserServiceTest {
 
 		@BeforeEach
 		void init() {
-			when(repository.refresh(any())).thenReturn(UserTestFactory.createWithId());
+			when(repository.refresh(any())).thenReturn(UserTestFactory.create());
 		}
 
 		@Test
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserTestFactory.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserTestFactory.java
index d225445ae74234a30f3d37f86ca2e65b4078f3c0..1edc18d419c726140318ebaefe2dbd5d1a45b48d 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserTestFactory.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserTestFactory.java
@@ -30,11 +30,13 @@ import org.bson.types.ObjectId;
 
 import com.thedeanda.lorem.LoremIpsum;
 
-import de.itvsh.kop.user.settings.UserSettings;
 import de.itvsh.kop.user.settings.UserSettingsTestFactory;
 
 public class UserTestFactory {
 
+	public static final ObjectId ID = new ObjectId();
+	public static final String ID_STR = ID.toHexString();
+
 	public static final String FIRST_NAME = LoremIpsum.getInstance().getFirstName();
 	public static final String LAST_NAME = LoremIpsum.getInstance().getLastName();
 	public static final String USER_NAME = LoremIpsum.getInstance().getName();
@@ -43,20 +45,14 @@ public class UserTestFactory {
 	public static final String EXTERNAL_ID = UUID.randomUUID().toString();
 	public static final String ORGANISTATIONSEINHEITEN_ID = "0815";
 	public static final List<String> ROLES = List.of("ROLE_1", "POSTSTELLE");
-	public static final ObjectId ID = new ObjectId();
-	public static final UserSettings USER_SETTINGS = UserSettingsTestFactory.create();
 
 	public static User create() {
 		return createBuilder().build();
 	}
 
-	public static User createWithId() {
-		return createBuilder().id(ID).build();
-	}
-
 	public static User.UserBuilder createBuilder() {
 		return User.builder()
-				.id(new ObjectId())
+				.id(ID)
 				.firstName(FIRST_NAME)
 				.lastName(LAST_NAME)
 				.username(USER_NAME)
@@ -65,6 +61,6 @@ public class UserTestFactory {
 				.externalId(EXTERNAL_ID)
 				.organisationsEinheitId(ORGANISTATIONSEINHEITEN_ID)
 				.roles(ROLES)
-				.userSettings(USER_SETTINGS);
+				.userSettings(UserSettingsTestFactory.create());
 	}
 }
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsServiceITCase.java b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsServiceITCase.java
index cfdca8926e8cbdbfadeef46af0ae5bf5f64d1b72..d4a77869e5499e84b3230dc42e5e9a8d167c36e7 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsServiceITCase.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsServiceITCase.java
@@ -55,7 +55,7 @@ class UserSettingsServiceITCase {
 		void fillDatabase() {
 			repository.deleteAll();
 
-			repository.persist(UserTestFactory.createWithId().toBuilder()
+			repository.persist(UserTestFactory.create().toBuilder()
 					.userSettings(UserSettingsTestFactory.create())
 					.build());
 		}
diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/userprofile/UserProfileMapperTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/userprofile/UserProfileMapperTest.java
index 90610c8fb89e989d6e53233b3ce78e28a10241da..9e79187d6e359fde9b51642bfa6219b10239ec8e 100644
--- a/user-manager-server/src/test/java/de/itvsh/kop/user/userprofile/UserProfileMapperTest.java
+++ b/user-manager-server/src/test/java/de/itvsh/kop/user/userprofile/UserProfileMapperTest.java
@@ -64,7 +64,7 @@ class UserProfileMapperTest {
 		}
 
 		private GrpcUserProfile map() {
-			return mapper.mapTo(UserTestFactory.createWithId());
+			return mapper.mapTo(UserTestFactory.create());
 		}
 
 		@Test