Skip to content

Commit

Permalink
fix(query): Fix query toParam for distinct, removeStopWords, ignorePl…
Browse files Browse the repository at this point in the history
…urals

Closes #343
  • Loading branch information
ElPicador committed Jul 20, 2017
1 parent ba112c2 commit 6d45602
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,11 @@ class DistinctJsonSerializer extends JsonSerializer<Distinct> {
@Override
public void serialize(Distinct value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException {
if(value instanceof DistinctAsBoolean) {
gen.writeBoolean((Boolean) value.getInsideValue());
DistinctAsBoolean d = (DistinctAsBoolean) value;
gen.writeBoolean(d.getInsideValue());
} else if (value instanceof DistinctAsInteger) {
gen.writeNumber((Integer) value.getInsideValue());
DistinctAsInteger d = (DistinctAsInteger) value;
gen.writeNumber(d.getInsideValue());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,9 @@ public Map<String, String> toQueryParam() {
ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();

/* advanced */
builder = add(builder, "distinct", distinct);
if (distinct != null) {
builder = add(builder, "distinct", distinct.getInsideValue());
}
builder = add(builder, "getRankingInfo", getRankingInfo);
builder = add(builder, "numericFilters", numericFilters);
builder = add(builder, "tagFilters", tagFilters);
Expand Down Expand Up @@ -166,7 +168,9 @@ public Map<String, String> toQueryParam() {
builder = add(builder, "removeWordsIfNoResults", removeWordsIfNoResults);
builder = add(builder, "advancedSyntax", advancedSyntax);
builder = add(builder, "optionalWords", optionalWords);
builder = add(builder, "removeStopWords", removeStopWords);
if (removeStopWords != null) {
builder = add(builder, "removeStopWords", removeStopWords.getInsideValue());
}
builder = add(builder, "disableExactOnAttributes", disableExactOnAttributes);
builder = add(builder, "exactOnSingleWordQuery", exactOnSingleWordQuery);
builder = add(builder, "alternativesAsExact", alternativesAsExact);
Expand All @@ -182,7 +186,9 @@ public Map<String, String> toQueryParam() {
builder = add(builder, "minWordSizefor2Typos", minWordSizefor2Typos);
builder = add(builder, "typoTolerance", typoTolerance);
builder = add(builder, "allowTyposOnNumericTokens", allowTyposOnNumericTokens);
builder = add(builder, "ignorePlurals", ignorePlurals);
if (ignorePlurals != null) {
builder = add(builder, "ignorePlurals", ignorePlurals.getInsideValue());
}
builder = add(builder, "disableTypoToleranceOnAttributes", disableTypoToleranceOnAttributes);

/* SECURED API KEYS */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,31 @@ public void queryWithMultipleParams() {
Query query = new Query("鮄").setTagFilters(Collections.singletonList("(attribute)"));
assertThat(query.toParam()).isEqualTo("tagFilters=%28attribute%29&query=%C3%A9%C2%AE%E2%80%9E");
}

@Test
public void queryWithDistinct() {
Query query = new Query("").setDistinct(Distinct.of(0));
assertThat(query.toParam()).isEqualTo("distinct=0&query=");
}

@Test
public void queryWithAroundRadius() {
Query query = new Query("").setAroundRadiusAll();
assertThat(query.toParam()).isEqualTo("aroundRadius=all&query=");

query = new Query("").setAroundRadius(1);
assertThat(query.toParam()).isEqualTo("aroundRadius=1&query=");
}

@Test
public void queryWithRemoveStopWords() {
Query query = new Query("").setRemoveStopWords(RemoveStopWords.of(true));
assertThat(query.toParam()).isEqualTo("removeStopWords=true&query=");
}

@Test
public void queryWithIgnorePlurals() {
Query query = new Query("").setIgnorePlurals(IgnorePlurals.of(true));
assertThat(query.toParam()).isEqualTo("query=&ignorePlurals=true");
}
}

0 comments on commit 6d45602

Please sign in to comment.