test(search): add empty-receivers edge case for RECEIVER sort
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1294,6 +1294,26 @@ class DocumentServiceTest {
|
|||||||
assertThat(result).extracting(Document::getTitle).containsExactly("Has Sender", "No Sender");
|
assertThat(result).extracting(Document::getTitle).containsExactly("Has Sender", "No Sender");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ─── searchDocuments — RECEIVER sort, empty receivers ───────────────────────
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void searchDocuments_receiverSort_emptyReceiversSortsToEnd() {
|
||||||
|
Person alice = Person.builder().id(UUID.randomUUID()).firstName("Alice").lastName("Maier").build();
|
||||||
|
Document withReceiver = Document.builder().id(UUID.randomUUID()).title("Has Receiver")
|
||||||
|
.receivers(new HashSet<>(Set.of(alice))).build();
|
||||||
|
Document noReceivers = Document.builder().id(UUID.randomUUID()).title("No Receivers")
|
||||||
|
.receivers(new HashSet<>()).build();
|
||||||
|
|
||||||
|
when(documentRepository.findAll(any(org.springframework.data.jpa.domain.Specification.class)))
|
||||||
|
.thenReturn(List.of(noReceivers, withReceiver));
|
||||||
|
|
||||||
|
List<Document> result = documentService.searchDocuments(
|
||||||
|
null, null, null, null, null, null, null, null, DocumentSort.RECEIVER, "asc");
|
||||||
|
|
||||||
|
assertThat(result).extracting(Document::getTitle)
|
||||||
|
.containsExactly("Has Receiver", "No Receivers");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void searchDocuments_senderSort_nullLastNameSortsToEnd() {
|
void searchDocuments_senderSort_nullLastNameSortsToEnd() {
|
||||||
// Without fix: null lastName produces sort key "null Smith" which compares
|
// Without fix: null lastName produces sort key "null Smith" which compares
|
||||||
|
|||||||
Reference in New Issue
Block a user