@lightdash/common 0.1648.0 → 0.1649.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { ConditionalOperator } from '../types/conditionalRule';
2
- import { addDashboardFiltersToMetricQuery, addFilterRule, createFilterRuleFromModelRequiredFilterRule, isFilterRuleInQuery, overrideChartFilter, reduceRequiredDimensionFiltersToFilterRules, resetRequiredFilterRules, trackWhichTimeBasedMetricFiltersToOverride, } from './filters';
2
+ import { addDashboardFiltersToMetricQuery, addFilterRule, createFilterRuleFromModelRequiredFilterRule, getDashboardFilterRulesForTileAndReferences, isFilterRuleInQuery, overrideChartFilter, reduceRequiredDimensionFiltersToFilterRules, resetRequiredFilterRules, trackWhichTimeBasedMetricFiltersToOverride, } from './filters';
3
3
  import { chartAndFilterGroup, chartOrFilterGroup, customSqlDimension, dashboardFilterWithSameTargetAndOperator, dashboardFilterWithSameTargetButDifferentOperator, dashboardFilters, dimension, expectedChartWithOverrideDashboardFilters, expectedChartWithOverrideDashboardORFilters, expectedFiltersWithCustomSqlDimension, expectedRequiredResetResult, expectedRequiredResult, filterRule, joinedModelRequiredFilterRule, metricQueryWithAndFilters, metricQueryWithOrFilters, mockExplore, mockExploreWithJoinedTable, modelRequiredFilterRule, } from './filters.mock';
4
4
  jest.mock('uuid', () => ({
5
5
  v4: jest.fn(() => 'uuid'),
@@ -272,4 +272,89 @@ describe('trackWhichTimeBasedMetricFiltersToOverride', () => {
272
272
  expect(result.overrideData?.fieldsToChange).toBeUndefined();
273
273
  });
274
274
  });
275
+ describe('getDashboardFilterRulesForTileAndReferences', () => {
276
+ test('should return filter rules when there is a match (isSqlColumn is true and fieldId is in references)', () => {
277
+ const mockTileUuid = 'tile-123';
278
+ const mockReferences = ['field-1', 'field-2'];
279
+ const mockDashboardFilterRules = [
280
+ {
281
+ id: 'filter-1',
282
+ label: 'Filter 1',
283
+ target: {
284
+ fieldId: 'field-1',
285
+ tableName: 'table-1',
286
+ isSqlColumn: true,
287
+ },
288
+ operator: ConditionalOperator.EQUALS,
289
+ values: ['value-1'],
290
+ tileTargets: {
291
+ [mockTileUuid]: {
292
+ fieldId: 'field-1',
293
+ tableName: 'table-1',
294
+ isSqlColumn: true,
295
+ },
296
+ },
297
+ },
298
+ ];
299
+ const result = getDashboardFilterRulesForTileAndReferences(mockTileUuid, mockReferences, mockDashboardFilterRules);
300
+ expect(result).toHaveLength(1);
301
+ expect(result[0].id).toBe('filter-1');
302
+ expect(result[0].target.fieldId).toBe('field-1');
303
+ expect(result[0].target.isSqlColumn).toBe(true);
304
+ });
305
+ test('should not return filter rules when isSqlColumn is false even though fieldId is a match', () => {
306
+ const mockTileUuid = 'tile-123';
307
+ const mockReferences = ['field-1', 'field-2'];
308
+ const mockDashboardFilterRules = [
309
+ {
310
+ id: 'filter-2',
311
+ label: 'Filter 2',
312
+ target: {
313
+ fieldId: 'field-2',
314
+ tableName: 'table-1',
315
+ isSqlColumn: false,
316
+ },
317
+ operator: ConditionalOperator.EQUALS,
318
+ values: ['value-2'],
319
+ tileTargets: {
320
+ [mockTileUuid]: {
321
+ fieldId: 'field-2',
322
+ tableName: 'table-1',
323
+ isSqlColumn: false,
324
+ },
325
+ },
326
+ },
327
+ ];
328
+ const result = getDashboardFilterRulesForTileAndReferences(mockTileUuid, mockReferences, mockDashboardFilterRules);
329
+ // Verify filter-2 is not included (isSqlColumn is false but fieldId is a match)
330
+ expect(result).toHaveLength(0);
331
+ });
332
+ test('should not return filter rules when isSqlColumn is true but fieldId does not match', () => {
333
+ const mockTileUuid = 'tile-123';
334
+ const mockReferences = ['field-1', 'field-2'];
335
+ const mockDashboardFilterRules = [
336
+ {
337
+ id: 'filter-3',
338
+ label: 'Filter 3',
339
+ target: {
340
+ fieldId: 'field-3',
341
+ tableName: 'table-1',
342
+ isSqlColumn: true,
343
+ },
344
+ operator: ConditionalOperator.EQUALS,
345
+ values: ['value-3'],
346
+ tileTargets: {
347
+ [mockTileUuid]: {
348
+ fieldId: 'field-3',
349
+ tableName: 'table-1',
350
+ isSqlColumn: true,
351
+ },
352
+ },
353
+ },
354
+ ];
355
+ const result = getDashboardFilterRulesForTileAndReferences(mockTileUuid, mockReferences, mockDashboardFilterRules);
356
+ // Verify filter-3 is not included (isSqlColumn is true but fieldId doesn't match)
357
+ expect(result).toHaveLength(0);
358
+ });
359
+ });
275
360
  //# sourceMappingURL=filters.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filters.test.js","sourceRoot":"","sources":["../../../src/utils/filters.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAU/D,OAAO,EACH,gCAAgC,EAChC,aAAa,EACb,2CAA2C,EAC3C,mBAAmB,EACnB,mBAAmB,EACnB,2CAA2C,EAC3C,wBAAwB,EACxB,0CAA0C,GAC7C,MAAM,WAAW,CAAC;AACnB,OAAO,EACH,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,wCAAwC,EACxC,iDAAiD,EACjD,gBAAgB,EAChB,SAAS,EACT,yCAAyC,EACzC,2CAA2C,EAC3C,qCAAqC,EACrC,2BAA2B,EAC3B,sBAAsB,EACtB,UAAU,EACV,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,WAAW,EACX,0BAA0B,EAC1B,uBAAuB,GAC1B,MAAM,gBAAgB,CAAC;AAExB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACrB,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;CAC5B,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAC9C,IAAI,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,MAAM,GAAG,gCAAgC,CAC3C,yBAAyB,EACzB,gBAAgB,CACnB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,MAAM,GAAG,gCAAgC,CAC3C,wBAAwB,EACxB,gBAAgB,CACnB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,MAAM,GAAG,mBAAmB,CAC9B,mBAAmB,EACnB,wCAAwC,EACxC,EAAE,CACL,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,EAAE,EAAE,iBAAiB;YACrB,GAAG,EAAE;gBACD;oBACI,EAAE,EAAE,GAAG;oBACP,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;oBAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;oBACvB,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,mBAAmB,CAAC,MAAM;iBACvC;gBACD;oBACI,EAAE,EAAE,GAAG;oBACP,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;oBAC9B,MAAM,EAAE,CAAC,GAAG,CAAC;oBACb,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,mBAAmB,CAAC,MAAM;iBACvC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,GAAG,mBAAmB,CAC9B,kBAAkB,EAClB,wCAAwC,EACxC,EAAE,CACL,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,EAAE,EAAE,iBAAiB;YACrB,EAAE,EAAE;gBACA;oBACI,EAAE,EAAE,GAAG;oBACP,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;oBAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;oBACvB,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,mBAAmB,CAAC,MAAM;iBACvC;gBACD;oBACI,EAAE,EAAE,GAAG;oBACP,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;oBAC9B,MAAM,EAAE,CAAC,GAAG,CAAC;oBACb,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,mBAAmB,CAAC,MAAM;iBACvC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,MAAM,GAAG,mBAAmB,CAC9B,mBAAmB,EACnB,iDAAiD,EACjD,EAAE,CACL,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,EAAE,EAAE,iBAAiB;YACrB,GAAG,EAAE;gBACD;oBACI,EAAE,EAAE,GAAG;oBACP,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;oBAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;oBACvB,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,mBAAmB,CAAC,UAAU;iBAC3C;gBACD;oBACI,EAAE,EAAE,GAAG;oBACP,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;oBAC9B,MAAM,EAAE,CAAC,GAAG,CAAC;oBACb,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,mBAAmB,CAAC,MAAM;iBACvC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,MAAM,GAAG,aAAa,CAAC;YACzB,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,kBAAkB;SAC5B,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACzD,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,2CAA2C,CACtD,uBAAuB,CAAC,WAAW,CAAC,EACpC,WAAW,CACd,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAClB,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC,CACnD,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,yBAAyB,GAAgB;YAC3C,EAAE,EAAE,aAAa;YACjB,GAAG,EAAE,CAAC,UAAU,CAAC;SACpB,CAAC;QACF,MAAM,4BAA4B,GAAgB;YAC9C,EAAE,EAAE,aAAa;YACjB,GAAG,EAAE,EAAE;SACV,CAAC;QACF,MAAM,CACF,mBAAmB,CACf,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EACzB,UAAU,EACV,yBAAyB,CAC5B,CACJ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,CACF,mBAAmB,CACf,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EACzB,UAAU,EACV,4BAA4B,CAC/B,CACJ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACzD,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,mBAAmB;QACnB,MAAM,mBAAmB,GAAuB;YAC5C,uBAAuB,CAAC,iBAAiB,CAAC;YAC1C,6BAA6B,CACzB,2BAA2B,EAC3B,WAAW,CACd;SACJ,CAAC;QACF,MAAM,YAAY,GAAY;YAC1B,UAAU,EAAE;gBACR,EAAE,EAAE,aAAa;gBACjB,GAAG,EAAE,EAAE;aACV;SACJ,CAAC;QACF,MAAM,MAAM,GAAG,2CAA2C,CACtD,mBAAmB,EACnB,YAAY,CAAC,UAAU,EACvB,0BAA0B,CAC7B,CAAC;QACF,MAAM,wBAAwB,GAAiB;YAC3C,sBAAsB,CAAC,iBAAiB,EAAE,QAAQ,CAAC;YACnD,sBAAsB,CAAC,iBAAiB,EAAE,WAAW,CAAC;SACzD,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,WAAW,GAAgB;YAC7B,EAAE,EAAE,WAAW;YACf,GAAG,EAAE;gBACD,sBAAsB,CAAC,eAAe,EAAE,OAAO,CAAC;gBAChD,sBAAsB,CAAC,eAAe,EAAE,OAAO,CAAC;aACnD;SACJ,CAAC;QACF,MAAM,cAAc,GAAG,wBAAwB,CAAC,WAAW,EAAE;YACzD,qBAAqB;YACrB,WAAW;SACd,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;IACxD,IAAI,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,2BAA2B,GAAmB;YAChD,EAAE,EAAE,kBAAkB;YACtB,GAAG,EAAE;gBACD;oBACI,EAAE,EAAE,cAAc;oBAClB,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE;oBACvC,QAAQ,EAAE,mBAAmB,CAAC,MAAM;oBACpC,MAAM,EAAE,CAAC,SAAS,CAAC;iBACtB;gBACD;oBACI,EAAE,EAAE,aAAa;oBACjB,MAAM,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE;oBACtC,QAAQ,EAAE,mBAAmB,CAAC,MAAM;oBACpC,MAAM,EAAE,CAAC,YAAY,CAAC;iBACzB;aACJ;SACJ,CAAC;QAEF,MAAM,eAAe,GAAwB;YACzC,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE;gBACJ,OAAO,EAAE,iBAAiB;gBAC1B,SAAS,EAAE,QAAQ;aACtB;YACD,QAAQ,EAAE,mBAAmB,CAAC,MAAM;YACpC,MAAM,EAAE,CAAC,MAAM,CAAC;SACnB,CAAC;QAEF,MAAM,MAAM,GAAG,0CAA0C,CACrD,2BAA2B,EAC3B,eAAe,EACf,WAAW,CACd,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,OAAO,CAC/C,MAAM,CAAC,eAAe,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,CAClE,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,2BAA2B,GAAmB;YAChD,EAAE,EAAE,kBAAkB;YACtB,GAAG,EAAE;gBACD;oBACI,EAAE,EAAE,eAAe;oBACnB,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;oBAC7B,QAAQ,EAAE,mBAAmB,CAAC,MAAM;oBACpC,MAAM,EAAE,CAAC,WAAW,CAAC;iBACxB;aACJ;SACJ,CAAC;QAEF,MAAM,eAAe,GAAwB;YACzC,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE;gBACJ,OAAO,EAAE,QAAQ;gBACjB,SAAS,EAAE,QAAQ;aACtB;YACD,QAAQ,EAAE,mBAAmB,CAAC,MAAM;YACpC,MAAM,EAAE,CAAC,SAAS,CAAC;SACtB,CAAC;QAEF,MAAM,MAAM,GAAG,0CAA0C,CACrD,2BAA2B,EAC3B,eAAe,EACf,WAAW,CACd,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,2BAA2B,GAAkB;YAC/C,EAAE,EAAE,kBAAkB;YACtB,EAAE,EAAE;gBACA;oBACI,EAAE,EAAE,cAAc;oBAClB,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE;oBACvC,QAAQ,EAAE,mBAAmB,CAAC,MAAM;oBACpC,MAAM,EAAE,CAAC,SAAS,CAAC;iBACtB;gBACD;oBACI,EAAE,EAAE,aAAa;oBACjB,MAAM,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE;oBACtC,QAAQ,EAAE,mBAAmB,CAAC,MAAM;oBACpC,MAAM,EAAE,CAAC,YAAY,CAAC;iBACzB;gBACD;oBACI,EAAE,EAAE,aAAa;oBACjB,MAAM,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE;oBACtC,QAAQ,EAAE,mBAAmB,CAAC,MAAM;oBACpC,MAAM,EAAE,CAAC,MAAM,CAAC;iBACnB;aACJ;SACJ,CAAC;QAEF,MAAM,eAAe,GAAwB;YACzC,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE;gBACJ,OAAO,EAAE,iBAAiB;gBAC1B,SAAS,EAAE,QAAQ;aACtB;YACD,QAAQ,EAAE,mBAAmB,CAAC,MAAM;YACpC,MAAM,EAAE,CAAC,MAAM,CAAC;SACnB,CAAC;QAEF,MAAM,MAAM,GAAG,0CAA0C,CACrD,2BAA2B,EAC3B,eAAe,EACf,WAAW,CACd,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,OAAO,CAC/C,MAAM,CAAC,eAAe,CAAC;YACnB,kBAAkB;YAClB,iBAAiB;YACjB,iBAAiB;SACpB,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,2BAA2B,GAAmB;YAChD,EAAE,EAAE,kBAAkB;YACtB,GAAG,EAAE;gBACD;oBACI,EAAE,EAAE,eAAe;oBACnB,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;oBAC7B,QAAQ,EAAE,mBAAmB,CAAC,MAAM;oBACpC,MAAM,EAAE,CAAC,WAAW,CAAC;iBACxB;aACJ;SACJ,CAAC;QAEF,MAAM,eAAe,GAAwB;YACzC,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE;gBACJ,OAAO,EAAE,iBAAiB;gBAC1B,SAAS,EAAE,QAAQ;aACtB;YACD,QAAQ,EAAE,mBAAmB,CAAC,MAAM;YACpC,MAAM,EAAE,CAAC,MAAM,CAAC;SACnB,CAAC;QAEF,MAAM,MAAM,GAAG,0CAA0C,CACrD,2BAA2B,EAC3B,eAAe,EACf,WAAW,CACd,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"filters.test.js","sourceRoot":"","sources":["../../../src/utils/filters.test.ts"],"names":[],"mappings":"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"}