Skip to content

Commit 0a18d01

Browse files
committed
Fix TestSuiteDisjunctive
1 parent bec0e63 commit 0a18d01

File tree

1 file changed

+15
-41
lines changed

1 file changed

+15
-41
lines changed

src/commonTest/kotlin/suite/TestSuiteDisjunctive.kt

Lines changed: 15 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package suite
33
import clientAdmin1
44
import com.algolia.search.helper.toAttribute
55
import com.algolia.search.model.filter.Filter
6+
import com.algolia.search.model.filter.FilterGroup
67
import com.algolia.search.model.search.FacetStats
78
import com.algolia.search.model.search.Query
89
import com.algolia.search.model.search.get
@@ -48,12 +49,14 @@ internal class TestSuiteDisjunctive {
4849
query = "phone",
4950
facets = facets
5051
)
51-
val disjunctiveFacets = listOf(brand)
5252
val filters = setOf(
5353
Filter.Facet(brand, "Apple"),
5454
Filter.Facet(brand, "Samsung"),
55-
Filter.Facet(brand, "Commas' voice, Ltd"),
56-
Filter.Facet(category, "device")
55+
Filter.Facet(brand, "Commas' voice, Ltd")
56+
)
57+
val filterGroups = setOf(
58+
FilterGroup.Or.Facet(filters),
59+
FilterGroup.And.Facet( Filter.Facet(category, "device"))
5760
)
5861

5962
index.apply {
@@ -64,7 +67,7 @@ internal class TestSuiteDisjunctive {
6467

6568
tasks.wait().all { it is TaskStatus.Published }.shouldBeTrue()
6669
}
67-
index.searchDisjunctiveFacets(query, disjunctiveFacets, filters).let {
70+
index.advancedSearch(query, filterGroups).let {
6871
it.nbHits shouldEqual 4
6972
it.disjunctiveFacetsOrNull.shouldNotBeNull()
7073
it.disjunctiveFacets[brand, "Apple"] shouldEqual 2
@@ -92,8 +95,8 @@ internal class TestSuiteDisjunctive {
9295
query = "h",
9396
facets = setOf(city)
9497
)
95-
val disjunctiveFacets = listOf(stars, facilities)
9698
val filters = mutableSetOf<Filter.Facet>()
99+
val filterCity = FilterGroup.And.Facet(Filter.Facet(city, "Paris"))
97100

98101
index.apply {
99102
val tasks = mutableListOf<Task>()
@@ -103,74 +106,45 @@ internal class TestSuiteDisjunctive {
103106

104107
tasks.wait().all { it is TaskStatus.Published }.shouldBeTrue()
105108
}
106-
index.searchDisjunctiveFacets(query, disjunctiveFacets, filters).let {
109+
index.advancedSearch(query).let {
107110
it.nbHits shouldEqual 5
108111
it.facets.size shouldEqual 1
109-
it.disjunctiveFacets.size shouldEqual 2
110112
it.exhaustiveFacetsCount.shouldBeTrue()
111-
it.disjunctiveFacets.apply {
112-
this[stars, "1"] shouldEqual 2
113-
this[stars, "2"] shouldEqual 1
114-
this[stars, "4"] shouldEqual 2
115-
}
116-
it.disjunctiveFacets.apply {
117-
this[facilities, "spa"] shouldEqual 3
118-
this[facilities, "bath"] shouldEqual 2
119-
this[facilities, "wifi"] shouldEqual 2
120-
}
121-
it.facetStats.size shouldEqual 1
122-
it.facetStats[stars] shouldEqual FacetStats(1f, 4f, 2f, 12f)
123113
}
124114
filters += Filter.Facet(stars, "1")
125-
index.searchDisjunctiveFacets(query, disjunctiveFacets, filters).let {
115+
index.advancedSearch(query, setOf(FilterGroup.Or.Facet(filters))).let {
126116
it.nbHits shouldEqual 2
127117
it.facets.size shouldEqual 1
128-
it.disjunctiveFacets.size shouldEqual 2
118+
it.disjunctiveFacets.size shouldEqual 1
129119
it.disjunctiveFacets.apply {
130120
this[stars, "1"] shouldEqual 2
131121
this[stars, "2"] shouldEqual 1
132122
this[stars, "4"] shouldEqual 2
133123
}
134-
it.disjunctiveFacets.apply {
135-
this[facilities, "spa"] shouldEqual 1
136-
this[facilities, "bath"] shouldEqual 1
137-
this[facilities, "wifi"] shouldEqual 2
138-
}
139124
it.exhaustiveFacetsCount.shouldBeTrue()
140125
it.facetStats.size shouldEqual 1
141126
it.facetStats[stars] shouldEqual FacetStats(1f, 4f, 2f, 12f)
142127
}
143-
filters += Filter.Facet(city, "Paris")
144-
index.searchDisjunctiveFacets(query, disjunctiveFacets, filters).let {
128+
index.advancedSearch(query, setOf(FilterGroup.Or.Facet(filters), filterCity)).let {
145129
it.nbHits shouldEqual 2
146130
it.facets.size shouldEqual 1
147-
it.disjunctiveFacets.size shouldEqual 2
131+
it.disjunctiveFacets.size shouldEqual 1
148132
it.disjunctiveFacets.apply {
149133
this[stars, "1"] shouldEqual 2
150134
this[stars, "4"] shouldEqual 1
151135
}
152-
it.disjunctiveFacets.apply {
153-
this[facilities, "spa"] shouldEqual 1
154-
this[facilities, "bath"] shouldEqual 1
155-
this[facilities, "wifi"] shouldEqual 2
156-
}
157136
it.facetStats.size shouldEqual 1
158137
it.facetStats[stars] shouldEqual FacetStats(1f, 4f, 2f, 6f)
159138
}
160139
filters += Filter.Facet(stars, "4")
161-
index.searchDisjunctiveFacets(query, disjunctiveFacets, filters).let {
140+
index.advancedSearch(query, setOf(FilterGroup.Or.Facet(filters), filterCity)).let {
162141
it.nbHits shouldEqual 3
163142
it.facets.size shouldEqual 1
164-
it.disjunctiveFacets.size shouldEqual 2
143+
it.disjunctiveFacets.size shouldEqual 1
165144
it.disjunctiveFacets.apply {
166145
this[stars, "1"] shouldEqual 2
167146
this[stars, "4"] shouldEqual 1
168147
}
169-
it.disjunctiveFacets.apply {
170-
this[facilities, "spa"] shouldEqual 2
171-
this[facilities, "bath"] shouldEqual 1
172-
this[facilities, "wifi"] shouldEqual 2
173-
}
174148
it.facetStats.size shouldEqual 1
175149
it.facetStats[stars] shouldEqual FacetStats(1f, 4f, 2f, 6f)
176150
}

0 commit comments

Comments
 (0)