@@ -113,6 +113,7 @@ describe("the plugin", () => {
113
113
let applicableViews ;
114
114
let tableViewProvider ;
115
115
let tableView ;
116
+ let tableInstance ;
116
117
117
118
beforeEach ( ( ) => {
118
119
testTelemetryObject = {
@@ -179,6 +180,8 @@ describe("the plugin", () => {
179
180
tableView = tableViewProvider . view ( testTelemetryObject , [ testTelemetryObject ] ) ;
180
181
tableView . show ( child , true ) ;
181
182
183
+ tableInstance = tableView . _getTable ( ) ;
184
+
182
185
return telemetryPromise . then ( ( ) => Vue . nextTick ( ) ) ;
183
186
} ) ;
184
187
@@ -228,5 +231,41 @@ describe("the plugin", () => {
228
231
expect ( toColumnText ) . toEqual ( firstColumnText ) ;
229
232
} ) ;
230
233
} ) ;
234
+
235
+ it ( "Supports filtering telemetry by regular text search" , ( ) => {
236
+ tableInstance . filteredRows . setColumnFilter ( "some-key" , "1" ) ;
237
+
238
+ return Vue . nextTick ( ) . then ( ( ) => {
239
+ let filteredRowElements = element . querySelectorAll ( 'table.c-telemetry-table__body tr' ) ;
240
+
241
+ expect ( filteredRowElements . length ) . toEqual ( 1 ) ;
242
+
243
+ tableInstance . filteredRows . setColumnFilter ( "some-key" , "" ) ;
244
+
245
+ return Vue . nextTick ( ) . then ( ( ) => {
246
+ let allRowElements = element . querySelectorAll ( 'table.c-telemetry-table__body tr' ) ;
247
+
248
+ expect ( allRowElements . length ) . toEqual ( 3 ) ;
249
+ } ) ;
250
+ } ) ;
251
+ } ) ;
252
+
253
+ it ( "Supports filtering using Regex" , ( ) => {
254
+ tableInstance . filteredRows . setColumnRegexFilter ( "some-key" , "^some-value$" ) ;
255
+
256
+ return Vue . nextTick ( ) . then ( ( ) => {
257
+ let filteredRowElements = element . querySelectorAll ( 'table.c-telemetry-table__body tr' ) ;
258
+
259
+ expect ( filteredRowElements . length ) . toEqual ( 0 ) ;
260
+
261
+ tableInstance . filteredRows . setColumnRegexFilter ( "some-key" , "^some-value" ) ;
262
+
263
+ return Vue . nextTick ( ) . then ( ( ) => {
264
+ let allRowElements = element . querySelectorAll ( 'table.c-telemetry-table__body tr' ) ;
265
+
266
+ expect ( allRowElements . length ) . toEqual ( 3 ) ;
267
+ } ) ;
268
+ } ) ;
269
+ } ) ;
231
270
} ) ;
232
271
} ) ;
0 commit comments