@@ -345,4 +345,35 @@ public void testTransientFieldExclusion() throws MeilisearchException {
345345 InaccessibleObjectException .class , () -> gsonWithTransient .toJson (test ));
346346 Assertions .assertDoesNotThrow (() -> gson .toJson (test ));
347347 }
348+
349+ @ Test
350+ public void testCompactWithDocuments () throws Exception {
351+ String indexUid = "testCompactWithDocuments" ;
352+ Index index = createEmptyIndex (indexUid , this .primaryKey );
353+
354+ TaskInfo addTask =
355+ index .addDocuments (
356+ "[{"
357+ + "\" id\" : 1,"
358+ + "\" title\" : \" Document1\" ,"
359+ + "\" description\" : \" Test document 1\" "
360+ + "},"
361+ + "{"
362+ + "\" id\" : 2,"
363+ + "\" title\" : \" Document2\" ,"
364+ + "\" description\" : \" Test document 2\" "
365+ + "}]" );
366+ index .waitForTask (addTask .getTaskUid ());
367+
368+ TaskInfo compactTask = index .compact ();
369+ client .waitForTask (compactTask .getTaskUid ());
370+ Task completedCompactTask = client .getTask (compactTask .getTaskUid ());
371+
372+ assertThat (compactTask .getStatus (), is (equalTo (TaskStatus .ENQUEUED )));
373+ assertThat (completedCompactTask .getType (), is (equalTo ("indexCompaction" )));
374+ assertThat (completedCompactTask .getStatus (), is (equalTo (TaskStatus .SUCCEEDED )));
375+
376+ assertThat (index .getDocument ("1" , Movie .class ).getTitle (), is (equalTo ("Document1" )));
377+ assertThat (index .getDocument ("2" , Movie .class ).getTitle (), is (equalTo ("Document2" )));
378+ }
348379}
0 commit comments