Skip to content

Commit

Permalink
fix: tests and use enum
Browse files Browse the repository at this point in the history
  • Loading branch information
Sulejman Karisik authored and Sulejman Karisik committed Jun 10, 2024
1 parent 5c68db7 commit 9e1bf29
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ private Boolean isCkanGroupAndFacetIsNotBlank(DatasetSearchQueryFacet facet) {
}

private String getFacetQuery(String key, List<DatasetSearchQueryFacet> facets,
String operator) {
DatasetSearchQuery.OperatorEnum operator) {
var values = facets.stream()
.map(facet -> QUOTED_VALUE.formatted(facet.getValue()))
.collect(joining(CkanQueryOperatorMapper.getOperator(operator)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

package io.github.genomicdatainfrastructure.discovery.services;

import io.github.genomicdatainfrastructure.discovery.model.DatasetSearchQuery;
import lombok.experimental.UtilityClass;

@UtilityClass
Expand All @@ -12,7 +13,7 @@ public class CkanQueryOperatorMapper {
private final String AND = " AND ";
private final String OR = " OR ";

public String getOperator(String operator) {
return operator.equals(CkanQueryOperator.Or) ? OR : AND;
public String getOperator(DatasetSearchQuery.OperatorEnum operator) {
return operator.equals(DatasetSearchQuery.OperatorEnum.OR) ? OR : AND;
}
}
6 changes: 5 additions & 1 deletion src/main/openapi/discovery.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,12 @@ components:
default: 0
minimum: 0
operator:
title: Ckan query operator
type: string
default: "and"
enum:
- AND
- OR
default: AND
DatasetSearchQueryFacet:
type: object
properties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,17 @@ class CkanFacetsQueryBuilderTest {

@Test
void can_parse_if_empty_list() {
var query = new DatasetSearchQuery();
query.setFacets(List.of());
var expected = "";
var actual = CkanFacetsQueryBuilder.buildFacetQuery(null);
var actual = CkanFacetsQueryBuilder.buildFacetQuery(query);
assertEquals(expected, actual);
}

@Test
void can_parse_if_null_list() {
String expected = "";
var actual = CkanFacetsQueryBuilder.buildFacetQuery(null);
var actual = CkanFacetsQueryBuilder.buildFacetQuery(new DatasetSearchQuery());
assertEquals(expected, actual);
}

Expand All @@ -50,7 +52,7 @@ void can_parse_with_and_operator(String value) {

var query = new DatasetSearchQuery();
query.setFacets(facets);
query.setOperator(CkanQueryOperator.And);
query.setOperator(DatasetSearchQuery.OperatorEnum.AND);

var expected = "field1:(\"value1\" AND \"value2\") AND field2:(\"value3\")";
var actual = CkanFacetsQueryBuilder.buildFacetQuery(query);
Expand All @@ -75,7 +77,7 @@ void can_parse_with_or_operator(String value) {

var query = new DatasetSearchQuery();
query.setFacets(facets);
query.setOperator(CkanQueryOperator.Or);
query.setOperator(DatasetSearchQuery.OperatorEnum.OR);

var expected = "field1:(\"value1\" OR \"value2\") OR field2:(\"value3\")";
var actual = CkanFacetsQueryBuilder.buildFacetQuery(query);
Expand Down

0 comments on commit 9e1bf29

Please sign in to comment.