@@ -207,6 +207,63 @@ describe('table > filtering', () => {
207207 wrapper . destroy ( )
208208 } )
209209
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+
210267 it ( 'should filter for formatted values for keys which are not present in row' , async ( ) => {
211268 const wrapper = mount ( BTable , {
212269 propsData : {
0 commit comments