@@ -207,6 +207,63 @@ describe('table > filtering', () => {
207
207
wrapper . destroy ( )
208
208
} )
209
209
210
+ it ( '`filter-ignored-fields` prop works' , async ( ) => {
211
+ const wrapper = mount ( BTable , {
212
+ propsData : {
213
+ fields : testFields ,
214
+ items : testItems ,
215
+ filter : '' ,
216
+ filterIgnoredFields : [ ]
217
+ }
218
+ } )
219
+
220
+ expect ( wrapper ) . toBeDefined ( )
221
+ await waitNT ( wrapper . vm )
222
+
223
+ expect ( wrapper . findAll ( 'tbody > tr' ) . length ) . toBe ( 3 )
224
+
225
+ // Search for a value in "a" column
226
+ await wrapper . setProps ( { filter : '3' } )
227
+ await waitNT ( wrapper . vm )
228
+ expect ( wrapper . findAll ( 'tbody > tr' ) . length ) . toBe ( 1 )
229
+
230
+ // Ignore "a" column from filtering
231
+ await wrapper . setProps ( { filterIgnoredFields : [ 'a' ] } )
232
+ await waitNT ( wrapper . vm )
233
+ expect ( wrapper . findAll ( 'tbody > tr' ) . length ) . toBe ( 0 )
234
+
235
+ wrapper . destroy ( )
236
+ } )
237
+
238
+ it ( '`filter-included-fields` prop works' , async ( ) => {
239
+ const wrapper = mount ( BTable , {
240
+ propsData : {
241
+ fields : testFields ,
242
+ // Add a extra item with a duplicated value in another field
243
+ items : [ ...testItems , { a : 4 , b : 'y' , c : 'a' } ] ,
244
+ filter : '' ,
245
+ filterIncludedFields : [ ]
246
+ }
247
+ } )
248
+
249
+ expect ( wrapper ) . toBeDefined ( )
250
+ await waitNT ( wrapper . vm )
251
+
252
+ expect ( wrapper . findAll ( 'tbody > tr' ) . length ) . toBe ( 4 )
253
+
254
+ // Search for "a"
255
+ await wrapper . setProps ( { filter : 'a' } )
256
+ await waitNT ( wrapper . vm )
257
+ expect ( wrapper . findAll ( 'tbody > tr' ) . length ) . toBe ( 2 )
258
+
259
+ // Only include "a" and "b" fields
260
+ await wrapper . setProps ( { filterIncludedFields : [ 'a' , 'b' ] } )
261
+ await waitNT ( wrapper . vm )
262
+ expect ( wrapper . findAll ( 'tbody > tr' ) . length ) . toBe ( 1 )
263
+
264
+ wrapper . destroy ( )
265
+ } )
266
+
210
267
it ( 'should filter for formatted values for keys which are not present in row' , async ( ) => {
211
268
const wrapper = mount ( BTable , {
212
269
propsData : {
0 commit comments