refactor(document): extract factory helpers in DocumentLazyLoadingTest

Replace repeated personRepository.save/tagRepository.save/documentRepository.save
boilerplate with savedPerson(), savedTag(), savedDocument() helpers.
Each test body is now 2-3 lines of relevant setup.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-05-18 22:24:17 +02:00
parent 57259e4195
commit befecc9864

View File

@@ -63,16 +63,10 @@ class DocumentLazyLoadingTest {
@Test
void getDocumentById_tagsAndReceiversAccessible_afterReturnFromService() {
Person sender = personRepository.save(Person.builder().firstName("Max").lastName("LzSender").build());
Person receiver = personRepository.save(Person.builder().firstName("Anna").lastName("LzReceiver").build());
Tag tag = tagRepository.save(Tag.builder().name("LzTag").build());
Document doc = documentRepository.save(Document.builder()
.title("LazyTest").originalFilename("lazy_test.pdf")
.status(DocumentStatus.UPLOADED)
.sender(sender)
.receivers(new HashSet<>(Set.of(receiver)))
.tags(new HashSet<>(Set.of(tag)))
.build());
Person sender = savedPerson("Max", "LzSender");
Person receiver = savedPerson("Anna", "LzReceiver");
Tag tag = savedTag("LzTag");
Document doc = savedDocument("LazyTest", "lazy_test.pdf", sender, Set.of(receiver), Set.of(tag));
Document result = documentService.getDocumentById(doc.getId());
@@ -86,15 +80,10 @@ class DocumentLazyLoadingTest {
@Test
void getRecentActivity_collectionsAccessibleAfterReturn() {
Person sender = personRepository.save(Person.builder().firstName("Hans").lastName("RaSender").build());
Tag tag = tagRepository.save(Tag.builder().name("RaTag").build());
Person sender = savedPerson("Hans", "RaSender");
Tag tag = savedTag("RaTag");
for (int i = 0; i < 3; i++) {
documentRepository.save(Document.builder()
.title("RaDoc " + i).originalFilename("ra_doc" + i + ".pdf")
.status(DocumentStatus.UPLOADED)
.sender(sender)
.tags(new HashSet<>(Set.of(tag)))
.build());
savedDocument("RaDoc " + i, "ra_doc" + i + ".pdf", sender, Set.of(), Set.of(tag));
}
List<Document> results = documentService.getRecentActivity(3);
@@ -108,16 +97,10 @@ class DocumentLazyLoadingTest {
@Test
void searchDocuments_receiverSort_doesNotThrowLazyInitializationException() {
Person sender = personRepository.save(Person.builder().firstName("Hans").lastName("SrSender").build());
Person receiver = personRepository.save(Person.builder().firstName("Anna").lastName("SrReceiver").build());
Tag tag = tagRepository.save(Tag.builder().name("SrTag").build());
documentRepository.save(Document.builder()
.title("SrDoc").originalFilename("sr_doc.pdf")
.status(DocumentStatus.UPLOADED)
.sender(sender)
.receivers(new HashSet<>(Set.of(receiver)))
.tags(new HashSet<>(Set.of(tag)))
.build());
Person sender = savedPerson("Hans", "SrSender");
Person receiver = savedPerson("Anna", "SrReceiver");
Tag tag = savedTag("SrTag");
savedDocument("SrDoc", "sr_doc.pdf", sender, Set.of(receiver), Set.of(tag));
DocumentSearchResult result = documentService.searchDocuments(
null, null, null, null, null, null, null, null,
@@ -131,14 +114,9 @@ class DocumentLazyLoadingTest {
@Test
void searchDocuments_senderSort_doesNotThrowLazyInitializationException() {
Person sender = personRepository.save(Person.builder().firstName("Hans").lastName("SsSender").build());
Tag tag = tagRepository.save(Tag.builder().name("SsTag").build());
documentRepository.save(Document.builder()
.title("SsDoc").originalFilename("ss_doc.pdf")
.status(DocumentStatus.UPLOADED)
.sender(sender)
.tags(new HashSet<>(Set.of(tag)))
.build());
Person sender = savedPerson("Hans", "SsSender");
Tag tag = savedTag("SsTag");
savedDocument("SsDoc", "ss_doc.pdf", sender, Set.of(), Set.of(tag));
assertThatCode(() -> documentService.searchDocuments(
null, null, null, null, null, null, null, null,
@@ -149,14 +127,9 @@ class DocumentLazyLoadingTest {
@Test
void dashboardService_getResume_accessesReceiversViaGetDocumentById_withoutException() {
Person sender = personRepository.save(Person.builder().firstName("Max").lastName("DsSender").build());
Person receiver = personRepository.save(Person.builder().firstName("Anna").lastName("DsReceiver").build());
Document doc = documentRepository.save(Document.builder()
.title("DashboardTest").originalFilename("dashboard_test.pdf")
.status(DocumentStatus.UPLOADED)
.sender(sender)
.receivers(new HashSet<>(Set.of(receiver)))
.build());
Person sender = savedPerson("Max", "DsSender");
Person receiver = savedPerson("Anna", "DsReceiver");
Document doc = savedDocument("DashboardTest", "dashboard_test.pdf", sender, Set.of(receiver), Set.of());
UUID fakeUserId = UUID.randomUUID();
when(auditLogQueryService.findMostRecentDocumentForUser(any())).thenReturn(Optional.of(doc.getId()));
when(auditLogQueryService.findRecentContributorsPerDocument(any())).thenReturn(java.util.Map.of());
@@ -164,4 +137,23 @@ class DocumentLazyLoadingTest {
assertThatCode(() -> dashboardService.getResume(fakeUserId))
.doesNotThrowAnyException();
}
private Person savedPerson(String firstName, String lastName) {
return personRepository.save(Person.builder().firstName(firstName).lastName(lastName).build());
}
private Tag savedTag(String name) {
return tagRepository.save(Tag.builder().name(name).build());
}
private Document savedDocument(String title, String filename, Person sender,
Set<Person> receivers, Set<Tag> tags) {
return documentRepository.save(Document.builder()
.title(title).originalFilename(filename)
.status(DocumentStatus.UPLOADED)
.sender(sender)
.receivers(new HashSet<>(receivers))
.tags(new HashSet<>(tags))
.build());
}
}