package io.searchbox.core;
import io.searchbox.action.Action;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
public class SuggestTest {
@Test
public void getURIWithoutIndexAndType() {
Action suggest = new Suggest.Builder("").build();
assertEquals("_all/_suggest", suggest.getURI());
}
@Test
public void getURIWithOnlyOneIndex() {
Action suggest = new Suggest.Builder("").addIndex("twitter").build();
assertEquals("twitter/_suggest", suggest.getURI());
}
@Test
public void getURIWithOneIndexAndOneType() {
Action suggest = new Suggest.Builder("").addIndex("twitter").addType("tweet").build();
assertEquals("twitter/tweet/_suggest", suggest.getURI());
}
@Test
public void getURIWithOnlyOneType() {
Action suggest = new Suggest.Builder("").addType("tweet").build();
assertEquals("_all/tweet/_suggest", suggest.getURI());
}
@Test
public void getURIWithOnlyMultipleIndex() {
Action suggest = new Suggest.Builder("").addIndex("twitter").addIndex("suggestbox").build();
assertEquals("twitter%2Csuggestbox/_suggest", suggest.getURI());
}
@Test
public void getURIWithOnlyMultipleType() {
Action suggest = new Suggest.Builder("").addType("tweet").addType("jest").build();
assertEquals("_all/tweet%2Cjest/_suggest", suggest.getURI());
}
@Test
public void getURIWithMultipleIndexAndTypes() {
Action suggest = new Suggest.Builder("")
.addIndex("twitter")
.addIndex("suggestbox")
.addType("tweet")
.addType("jest")
.build();
assertEquals("twitter%2Csuggestbox/tweet%2Cjest/_suggest", suggest.getURI());
}
@Test
public void getDataSimple() {
String query = "{\"elementSuggestion\":{\"text\":\"courgette\",\"completion\":{\"field\":\"element.completion\",\"size\":10,\"fuzzy\":{}}}}";
Action suggest = new Suggest.Builder(query).build();
assertNotNull("data", suggest.getData(null));
assertEquals(query, suggest.getData(null).toString());
}
}