@lightdash/common 0.1976.0 → 0.1976.2

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.
Files changed (29) hide show
  1. package/dist/cjs/pivot/derivePivotConfigFromChart.d.ts.map +1 -1
  2. package/dist/cjs/pivot/derivePivotConfigFromChart.js +34 -42
  3. package/dist/cjs/pivot/derivePivotConfigFromChart.js.map +1 -1
  4. package/dist/cjs/pivot/derivePivotConfigFromChart.mock.d.ts +7 -0
  5. package/dist/cjs/pivot/derivePivotConfigFromChart.mock.d.ts.map +1 -0
  6. package/dist/cjs/pivot/derivePivotConfigFromChart.mock.js +82 -0
  7. package/dist/cjs/pivot/derivePivotConfigFromChart.mock.js.map +1 -0
  8. package/dist/cjs/pivot/derivePivotConfigFromChart.test.d.ts +2 -0
  9. package/dist/cjs/pivot/derivePivotConfigFromChart.test.d.ts.map +1 -0
  10. package/dist/cjs/pivot/derivePivotConfigFromChart.test.js +120 -0
  11. package/dist/cjs/pivot/derivePivotConfigFromChart.test.js.map +1 -0
  12. package/dist/esm/pivot/derivePivotConfigFromChart.d.ts.map +1 -1
  13. package/dist/esm/pivot/derivePivotConfigFromChart.js +31 -39
  14. package/dist/esm/pivot/derivePivotConfigFromChart.js.map +1 -1
  15. package/dist/esm/pivot/derivePivotConfigFromChart.mock.d.ts +7 -0
  16. package/dist/esm/pivot/derivePivotConfigFromChart.mock.d.ts.map +1 -0
  17. package/dist/esm/pivot/derivePivotConfigFromChart.mock.js +79 -0
  18. package/dist/esm/pivot/derivePivotConfigFromChart.mock.js.map +1 -0
  19. package/dist/esm/pivot/derivePivotConfigFromChart.test.d.ts +2 -0
  20. package/dist/esm/pivot/derivePivotConfigFromChart.test.d.ts.map +1 -0
  21. package/dist/esm/pivot/derivePivotConfigFromChart.test.js +118 -0
  22. package/dist/esm/pivot/derivePivotConfigFromChart.test.js.map +1 -0
  23. package/dist/tsconfig.types.tsbuildinfo +1 -1
  24. package/dist/types/pivot/derivePivotConfigFromChart.d.ts.map +1 -1
  25. package/dist/types/pivot/derivePivotConfigFromChart.mock.d.ts +7 -0
  26. package/dist/types/pivot/derivePivotConfigFromChart.mock.d.ts.map +1 -0
  27. package/dist/types/pivot/derivePivotConfigFromChart.test.d.ts +2 -0
  28. package/dist/types/pivot/derivePivotConfigFromChart.test.d.ts.map +1 -0
  29. package/package.json +1 -1
@@ -0,0 +1,118 @@
1
+ import { ChartType } from '../types/savedCharts';
2
+ import { SortByDirection, VizAggregationOptions, VizIndexType, } from '../visualizations/types';
3
+ import { derivePivotConfigurationFromChart } from './derivePivotConfigFromChart';
4
+ import { mockCartesianChartConfig, mockItems, mockMetricQuery, } from './derivePivotConfigFromChart.mock';
5
+ // Jest provides describe/it/expect globals
6
+ describe('derivePivotConfigurationFromChart', () => {
7
+ it('derives pivot configuration for Cartesian charts with pivot config', () => {
8
+ const savedChart = {
9
+ chartConfig: mockCartesianChartConfig,
10
+ pivotConfig: {
11
+ columns: ['orders_status'],
12
+ },
13
+ };
14
+ const result = derivePivotConfigurationFromChart(savedChart, mockMetricQuery, mockItems);
15
+ expect(result).toEqual({
16
+ indexColumn: {
17
+ reference: 'payments_payment_method',
18
+ type: VizIndexType.CATEGORY,
19
+ },
20
+ valuesColumns: [
21
+ {
22
+ reference: 'payments_total_revenue',
23
+ aggregation: VizAggregationOptions.ANY,
24
+ },
25
+ ],
26
+ groupByColumns: [{ reference: 'orders_status' }],
27
+ sortBy: [
28
+ {
29
+ reference: 'payments_payment_method',
30
+ direction: SortByDirection.ASC,
31
+ },
32
+ ],
33
+ });
34
+ });
35
+ it('returns undefined for Cartesian charts without pivot config', () => {
36
+ const savedChart = {
37
+ chartConfig: mockCartesianChartConfig,
38
+ pivotConfig: undefined,
39
+ };
40
+ const result = derivePivotConfigurationFromChart(savedChart, mockMetricQuery, mockItems);
41
+ expect(result).toBeUndefined();
42
+ });
43
+ it('derives pivot configuration for Table charts with pivot config', () => {
44
+ const tableChartConfig = {
45
+ type: ChartType.TABLE,
46
+ config: {},
47
+ };
48
+ // Pivot on payments_payment_method so orders_status becomes index column
49
+ const savedChart = {
50
+ chartConfig: tableChartConfig,
51
+ pivotConfig: {
52
+ columns: ['payments_payment_method'],
53
+ },
54
+ };
55
+ const result = derivePivotConfigurationFromChart(savedChart, mockMetricQuery, mockItems);
56
+ expect(result).toEqual({
57
+ indexColumn: [
58
+ {
59
+ reference: 'orders_status',
60
+ type: VizIndexType.CATEGORY,
61
+ },
62
+ ],
63
+ valuesColumns: [
64
+ {
65
+ reference: 'payments_total_revenue',
66
+ aggregation: VizAggregationOptions.ANY,
67
+ },
68
+ ],
69
+ groupByColumns: [{ reference: 'payments_payment_method' }],
70
+ sortBy: [
71
+ {
72
+ reference: 'payments_payment_method',
73
+ direction: SortByDirection.ASC,
74
+ },
75
+ ],
76
+ });
77
+ });
78
+ it('returns undefined for unsupported chart types (PIE)', () => {
79
+ const pieChartConfig = {
80
+ type: ChartType.PIE,
81
+ config: {},
82
+ };
83
+ const savedChart = {
84
+ chartConfig: pieChartConfig,
85
+ pivotConfig: { columns: ['payments_payment_method'] },
86
+ };
87
+ const result = derivePivotConfigurationFromChart(savedChart, mockMetricQuery, mockItems);
88
+ expect(result).toBeUndefined();
89
+ });
90
+ it('filters out sorts that are not present in pivot configuration', () => {
91
+ const savedChart = {
92
+ chartConfig: mockCartesianChartConfig,
93
+ pivotConfig: {
94
+ columns: ['orders_status'],
95
+ },
96
+ };
97
+ const mq = {
98
+ ...mockMetricQuery,
99
+ sorts: [
100
+ { fieldId: 'payments_payment_method', descending: false }, // present as index
101
+ { fieldId: 'payments_total_revenue', descending: true }, // present as value column
102
+ { fieldId: 'non_existing_field', descending: false }, // should be filtered out
103
+ ],
104
+ };
105
+ const result = derivePivotConfigurationFromChart(savedChart, mq, mockItems);
106
+ expect(result?.sortBy).toEqual([
107
+ {
108
+ reference: 'payments_payment_method',
109
+ direction: SortByDirection.ASC,
110
+ },
111
+ {
112
+ reference: 'payments_total_revenue',
113
+ direction: SortByDirection.DESC,
114
+ },
115
+ ]);
116
+ });
117
+ });
118
+ //# sourceMappingURL=derivePivotConfigFromChart.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivePivotConfigFromChart.test.js","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.test.ts"],"names":[],"mappings":"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"}