@@ -5,9 +5,10 @@ describe('Default facet distribution', () => {
55 beforeAll ( async ( ) => {
66 const deleteTask = await meilisearchClient . deleteIndex ( 'movies' )
77 await meilisearchClient . waitForTask ( deleteTask . taskUid )
8- await meilisearchClient
9- . index ( 'movies' )
10- . updateFilterableAttributes ( [ 'genres' ] )
8+ await meilisearchClient . index ( 'movies' ) . updateSettings ( {
9+ filterableAttributes : [ 'genres' , 'release_date' ] ,
10+ sortableAttributes : [ 'release_date' ] ,
11+ } )
1112 const documentsTask = await meilisearchClient
1213 . index ( 'movies' )
1314 . addDocuments ( dataset )
@@ -100,6 +101,133 @@ describe('Default facet distribution', () => {
100101 } )
101102 } )
102103
104+ test ( 'creation of facet distribution when using indexes with sort-by' , async ( ) => {
105+ const searchClient = instantMeiliSearch ( HOST , API_KEY )
106+ const releaseDateDistribution = {
107+ release_date : {
108+ '1065744000' : 1 ,
109+ '233366400' : 1 ,
110+ '593395200' : 1 ,
111+ '750643200' : 1 ,
112+ '818467200' : 1 ,
113+ '819676800' : 1 ,
114+ } ,
115+ }
116+ const response = await searchClient . search ( [
117+ {
118+ indexName : 'movies' ,
119+ params : {
120+ facets : [ 'release_date' ] ,
121+ query : '' ,
122+ } ,
123+ } ,
124+ {
125+ indexName : 'movies:release_date:asc' ,
126+ params : {
127+ facets : [ 'release_date' ] ,
128+ query : '' ,
129+ } ,
130+ } ,
131+ {
132+ indexName : 'movies:release_date:desc' ,
133+ params : {
134+ facets : [ 'release_date' ] ,
135+ query : '' ,
136+ } ,
137+ } ,
138+ ] )
139+
140+ expect ( response . results [ 0 ] . facets ) . toEqual ( releaseDateDistribution )
141+ expect ( response . results [ 1 ] . facets ) . toEqual ( releaseDateDistribution )
142+ expect ( response . results [ 2 ] . facets ) . toEqual ( releaseDateDistribution )
143+ } )
144+
145+ test ( 'creation of facet distribution when using indexes with sort-by and keepZeroFacets' , async ( ) => {
146+ const searchClient = instantMeiliSearch ( HOST , API_KEY , {
147+ keepZeroFacets : true ,
148+ } )
149+ const releaseDateDistribution = {
150+ release_date : {
151+ '1065744000' : 1 ,
152+ '233366400' : 1 ,
153+ '593395200' : 1 ,
154+ '750643200' : 1 ,
155+ '818467200' : 1 ,
156+ '819676800' : 1 ,
157+ } ,
158+ }
159+ const response = await searchClient . search ( [
160+ {
161+ indexName : 'movies' ,
162+ params : {
163+ facets : [ 'release_date' ] ,
164+ query : '' ,
165+ } ,
166+ } ,
167+ {
168+ indexName : 'movies:release_date:asc' ,
169+ params : {
170+ facets : [ 'release_date' ] ,
171+ query : '' ,
172+ } ,
173+ } ,
174+ {
175+ indexName : 'movies:release_date:desc' ,
176+ params : {
177+ facets : [ 'release_date' ] ,
178+ query : '' ,
179+ } ,
180+ } ,
181+ ] )
182+
183+ expect ( response . results [ 0 ] . facets ) . toEqual ( releaseDateDistribution )
184+ expect ( response . results [ 1 ] . facets ) . toEqual ( releaseDateDistribution )
185+ expect ( response . results [ 2 ] . facets ) . toEqual ( releaseDateDistribution )
186+ } )
187+
188+ test ( 'creation of facet distribution when using indexes with sort-by and no placeholdersearch' , async ( ) => {
189+ const searchClient = instantMeiliSearch ( HOST , API_KEY , {
190+ placeholderSearch : false ,
191+ } )
192+ const releaseDateDistribution = {
193+ release_date : {
194+ '1065744000' : 1 ,
195+ '233366400' : 1 ,
196+ '593395200' : 1 ,
197+ '750643200' : 1 ,
198+ '818467200' : 1 ,
199+ '819676800' : 1 ,
200+ } ,
201+ }
202+ const response = await searchClient . search ( [
203+ {
204+ indexName : 'movies' ,
205+ params : {
206+ facets : [ 'release_date' ] ,
207+ query : '' ,
208+ } ,
209+ } ,
210+ {
211+ indexName : 'movies:release_date:asc' ,
212+ params : {
213+ facets : [ 'release_date' ] ,
214+ query : '' ,
215+ } ,
216+ } ,
217+ {
218+ indexName : 'movies:release_date:desc' ,
219+ params : {
220+ facets : [ 'release_date' ] ,
221+ query : '' ,
222+ } ,
223+ } ,
224+ ] )
225+
226+ expect ( response . results [ 0 ] . facets ) . toEqual ( releaseDateDistribution )
227+ expect ( response . results [ 1 ] . facets ) . toEqual ( releaseDateDistribution )
228+ expect ( response . results [ 2 ] . facets ) . toEqual ( releaseDateDistribution )
229+ } )
230+
103231 // With facets
104232 // without keepZeroFacets
105233 // with placeholderSearch
0 commit comments