Skip to content

Commit b7285d9

Browse files
committed
fix(kotlin): add disjunctive faceting unit tests
1 parent b250598 commit b7285d9

File tree

4 files changed

+526
-10
lines changed

4 files changed

+526
-10
lines changed

clients/algoliasearch-client-kotlin/client/build.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
21
import org.jetbrains.kotlin.konan.target.HostManager
32

43
plugins {
@@ -9,7 +8,6 @@ plugins {
98
id("binary-compatibility-validator")
109
}
1110

12-
@OptIn(ExperimentalKotlinGradlePluginApi::class)
1311
kotlin {
1412
applyDefaultHierarchyTemplate()
1513

clients/algoliasearch-client-kotlin/client/src/commonMain/kotlin/com/algolia/client/extensions/internal/DisjunctiveFaceting.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ internal data class DisjunctiveFaceting(
1616
val disjunctiveFacets: Set<String>,
1717
) {
1818
// Build filters SQL string from the provided refinements and disjunctive facets set
19-
private fun buildFilters(excludedAttribute: String?): String {
19+
internal fun buildFilters(excludedAttribute: String?): String {
2020
val filters = refinements.entries.sortedBy { it.key }.filter {
2121
it.key != excludedAttribute && it.value.isNotEmpty()
2222
}.map {
23-
val facetOperator = if (disjunctiveFacets.contains(it.key)) "OR" else "AND"
24-
val expression = it.value.joinToString(facetOperator) { value -> "${it.key}:$value" }
25-
return "($expression)"
23+
val facetOperator = if (disjunctiveFacets.contains(it.key)) " OR " else " AND "
24+
val expression = it.value.joinToString(facetOperator) { value -> """"${it.key}":"$value"""" }
25+
return@map "($expression)"
2626
}
2727
return filters.joinToString(" AND ")
2828
}
@@ -66,7 +66,7 @@ internal data class DisjunctiveFaceting(
6666
}
6767

6868
// Get applied disjunctive facet values for provided attribute
69-
private fun appliedDisjunctiveFacetValues(attribute: String): Set<String> {
69+
internal fun appliedDisjunctiveFacetValues(attribute: String): Set<String> {
7070
if (!disjunctiveFacets.contains(attribute)) {
7171
return emptySet()
7272
}

0 commit comments

Comments
 (0)