test(search): assert matchData key and snippet in controller search response
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -25,6 +25,7 @@ import org.springframework.test.web.servlet.MockMvc;
|
|||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@@ -113,6 +114,28 @@ class DocumentControllerTest {
|
|||||||
.andExpect(jsonPath("$.documents").isArray());
|
.andExpect(jsonPath("$.documents").isArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@WithMockUser
|
||||||
|
void search_responseBodyContainsMatchDataKey() throws Exception {
|
||||||
|
UUID docId = UUID.randomUUID();
|
||||||
|
Document doc = Document.builder()
|
||||||
|
.id(docId)
|
||||||
|
.title("Brief an Anna")
|
||||||
|
.originalFilename("brief.pdf")
|
||||||
|
.status(DocumentStatus.UPLOADED)
|
||||||
|
.build();
|
||||||
|
var matchData = new org.raddatz.familienarchiv.dto.SearchMatchData(
|
||||||
|
"Er schrieb einen langen Brief", List.of(), false, List.of(), List.of());
|
||||||
|
when(documentService.searchDocuments(any(), any(), any(), any(), any(), any(), any(), any(), any(), any()))
|
||||||
|
.thenReturn(DocumentSearchResult.withMatchData(List.of(doc), Map.of(docId, matchData)));
|
||||||
|
|
||||||
|
mockMvc.perform(get("/api/documents/search").param("q", "Brief"))
|
||||||
|
.andExpect(status().isOk())
|
||||||
|
.andExpect(jsonPath("$.matchData").isMap())
|
||||||
|
.andExpect(jsonPath("$.matchData." + docId + ".transcriptionSnippet")
|
||||||
|
.value("Er schrieb einen langen Brief"));
|
||||||
|
}
|
||||||
|
|
||||||
// ─── POST /api/documents ─────────────────────────────────────────────────
|
// ─── POST /api/documents ─────────────────────────────────────────────────
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user