@cubejs-client/core 1.3.15 → 1.3.16

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 (100) hide show
  1. package/dist/{cubejs-client-core.js → cubejs-client-core.cjs.js} +1016 -411
  2. package/dist/cubejs-client-core.cjs.js.map +1 -0
  3. package/dist/cubejs-client-core.umd.js +2901 -12088
  4. package/dist/cubejs-client-core.umd.js.map +1 -1
  5. package/dist/src/HttpTransport.d.ts +54 -0
  6. package/dist/src/HttpTransport.d.ts.map +1 -0
  7. package/dist/src/HttpTransport.js +55 -0
  8. package/dist/src/Meta.d.ts +62 -0
  9. package/dist/src/Meta.d.ts.map +1 -0
  10. package/dist/src/Meta.js +150 -0
  11. package/dist/src/ProgressResult.d.ts +8 -0
  12. package/dist/src/ProgressResult.d.ts.map +1 -0
  13. package/dist/src/ProgressResult.js +11 -0
  14. package/dist/src/RequestError.d.ts +6 -0
  15. package/dist/src/RequestError.d.ts.map +1 -0
  16. package/dist/src/RequestError.js +7 -0
  17. package/dist/src/ResultSet.d.ts +430 -0
  18. package/dist/src/ResultSet.d.ts.map +1 -0
  19. package/dist/src/ResultSet.js +952 -0
  20. package/dist/src/SqlQuery.d.ts +17 -0
  21. package/dist/src/SqlQuery.d.ts.map +1 -0
  22. package/dist/src/SqlQuery.js +11 -0
  23. package/dist/src/index.d.ts +194 -0
  24. package/dist/src/index.d.ts.map +1 -0
  25. package/dist/src/index.js +411 -0
  26. package/dist/src/index.umd.d.ts +3 -0
  27. package/dist/src/index.umd.d.ts.map +1 -0
  28. package/dist/src/index.umd.js +6 -0
  29. package/dist/src/time.d.ts +70 -0
  30. package/dist/src/time.d.ts.map +1 -0
  31. package/dist/src/time.js +249 -0
  32. package/dist/src/types.d.ts +424 -0
  33. package/dist/src/types.d.ts.map +1 -0
  34. package/dist/src/types.js +1 -0
  35. package/dist/src/utils.d.ts +19 -0
  36. package/dist/src/utils.d.ts.map +1 -0
  37. package/dist/src/utils.js +294 -0
  38. package/dist/test/CubeApi.test.d.ts +7 -0
  39. package/dist/test/CubeApi.test.d.ts.map +1 -0
  40. package/dist/test/CubeApi.test.js +279 -0
  41. package/dist/test/HttpTransport.test.d.ts +2 -0
  42. package/dist/test/HttpTransport.test.d.ts.map +1 -0
  43. package/dist/test/HttpTransport.test.js +244 -0
  44. package/dist/test/ResultSet.test.d.ts +7 -0
  45. package/dist/test/ResultSet.test.d.ts.map +1 -0
  46. package/dist/test/ResultSet.test.js +1725 -0
  47. package/dist/test/compare-date-range.test.d.ts +2 -0
  48. package/dist/test/compare-date-range.test.d.ts.map +1 -0
  49. package/dist/test/compare-date-range.test.js +742 -0
  50. package/dist/test/data-blending.test.d.ts +2 -0
  51. package/dist/test/data-blending.test.d.ts.map +1 -0
  52. package/dist/test/data-blending.test.js +423 -0
  53. package/dist/test/default-heuristics.test.d.ts +2 -0
  54. package/dist/test/default-heuristics.test.d.ts.map +1 -0
  55. package/dist/test/default-heuristics.test.js +108 -0
  56. package/dist/test/drill-down.test.d.ts +2 -0
  57. package/dist/test/drill-down.test.d.ts.map +1 -0
  58. package/dist/test/drill-down.test.js +373 -0
  59. package/dist/test/fixtures/datablending/load-responses.json +261 -0
  60. package/dist/test/granularity.test.d.ts +2 -0
  61. package/dist/test/granularity.test.d.ts.map +1 -0
  62. package/dist/test/granularity.test.js +218 -0
  63. package/dist/test/helpers.d.ts +283 -0
  64. package/dist/test/helpers.d.ts.map +1 -0
  65. package/dist/test/helpers.js +974 -0
  66. package/dist/test/index.test.d.ts +7 -0
  67. package/dist/test/index.test.d.ts.map +1 -0
  68. package/dist/test/index.test.js +370 -0
  69. package/dist/test/table.test.d.ts +2 -0
  70. package/dist/test/table.test.d.ts.map +1 -0
  71. package/dist/test/table.test.js +757 -0
  72. package/dist/test/utils.test.d.ts +2 -0
  73. package/dist/test/utils.test.d.ts.map +1 -0
  74. package/dist/test/utils.test.js +32 -0
  75. package/package.json +26 -21
  76. package/dist/cubejs-client-core.esm.js +0 -1639
  77. package/dist/cubejs-client-core.esm.js.map +0 -1
  78. package/dist/cubejs-client-core.js.map +0 -1
  79. package/index.d.ts +0 -1338
  80. package/src/HttpTransport.js +0 -60
  81. package/src/HttpTransport.test.js +0 -117
  82. package/src/Meta.js +0 -142
  83. package/src/ProgressResult.js +0 -13
  84. package/src/RequestError.js +0 -7
  85. package/src/ResultSet.js +0 -746
  86. package/src/SqlQuery.js +0 -13
  87. package/src/index.js +0 -398
  88. package/src/index.test.js +0 -454
  89. package/src/index.umd.js +0 -8
  90. package/src/tests/ResultSet.test.js +0 -1655
  91. package/src/tests/compare-date-range.test.js +0 -753
  92. package/src/tests/data-blending.test.js +0 -432
  93. package/src/tests/default-heuristics.test.js +0 -118
  94. package/src/tests/drill-down.test.js +0 -402
  95. package/src/tests/fixtures/datablending/load-responses.json +0 -261
  96. package/src/tests/granularity.test.js +0 -225
  97. package/src/tests/table.test.js +0 -791
  98. package/src/tests/utils.test.js +0 -35
  99. package/src/time.js +0 -296
  100. package/src/utils.js +0 -368
@@ -0,0 +1,2 @@
1
+ import 'jest';
2
+ //# sourceMappingURL=data-blending.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-blending.test.d.ts","sourceRoot":"","sources":["../../test/data-blending.test.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,CAAC"}
@@ -0,0 +1,423 @@
1
+ /* globals describe, test, expect */
2
+ import 'jest';
3
+ import ResultSet from '../src/ResultSet';
4
+ import { loadResponse, loadResponseWithoutDateRange } from './fixtures/datablending/load-responses.json';
5
+ describe('data blending', () => {
6
+ const resultSet1 = new ResultSet(loadResponse);
7
+ describe('with different dimensions', () => {
8
+ test('normalized pivotConfig', () => {
9
+ expect(resultSet1.normalizePivotConfig()).toStrictEqual({
10
+ x: ['time.day'],
11
+ y: ['Users.country', 'measures'],
12
+ fillMissingDates: true,
13
+ joinDateRange: false,
14
+ });
15
+ });
16
+ test('pivot', () => {
17
+ expect(resultSet1.pivot()).toStrictEqual([
18
+ {
19
+ xValues: ['2020-08-01T00:00:00.000'],
20
+ yValuesArray: [
21
+ [[null, 'Orders.count'], 1],
22
+ [['Australia', 'Users.count'], 20],
23
+ [['Spain', 'Users.count'], 0],
24
+ [['Italy', 'Users.count'], 0],
25
+ ],
26
+ },
27
+ {
28
+ xValues: ['2020-08-02T00:00:00.000'],
29
+ yValuesArray: [
30
+ [[null, 'Orders.count'], 2],
31
+ [['Australia', 'Users.count'], 0],
32
+ [['Spain', 'Users.count'], 0],
33
+ [['Italy', 'Users.count'], 0],
34
+ ],
35
+ },
36
+ {
37
+ xValues: ['2020-08-03T00:00:00.000'],
38
+ yValuesArray: [
39
+ [[null, 'Orders.count'], 0],
40
+ [['Australia', 'Users.count'], 0],
41
+ [['Spain', 'Users.count'], 0],
42
+ [['Italy', 'Users.count'], 0],
43
+ ],
44
+ },
45
+ {
46
+ xValues: ['2020-08-04T00:00:00.000'],
47
+ yValuesArray: [
48
+ [[null, 'Orders.count'], 0],
49
+ [['Australia', 'Users.count'], 0],
50
+ [['Spain', 'Users.count'], 0],
51
+ [['Italy', 'Users.count'], 0],
52
+ ],
53
+ },
54
+ {
55
+ xValues: ['2020-08-05T00:00:00.000'],
56
+ yValuesArray: [
57
+ [[null, 'Orders.count'], 0],
58
+ [['Australia', 'Users.count'], 0],
59
+ [['Spain', 'Users.count'], 34],
60
+ [['Italy', 'Users.count'], 18],
61
+ ],
62
+ },
63
+ {
64
+ xValues: ['2020-08-06T00:00:00.000'],
65
+ yValuesArray: [
66
+ [[null, 'Orders.count'], 0],
67
+ [['Australia', 'Users.count'], 0],
68
+ [['Spain', 'Users.count'], 0],
69
+ [['Italy', 'Users.count'], 0],
70
+ ],
71
+ },
72
+ {
73
+ xValues: ['2020-08-07T00:00:00.000'],
74
+ yValuesArray: [
75
+ [[null, 'Orders.count'], 0],
76
+ [['Australia', 'Users.count'], 0],
77
+ [['Spain', 'Users.count'], 0],
78
+ [['Italy', 'Users.count'], 0],
79
+ ],
80
+ },
81
+ ]);
82
+ });
83
+ });
84
+ test('query with a single measure', () => {
85
+ const resultSet = new ResultSet({
86
+ queryType: 'blendingQuery',
87
+ results: [
88
+ {
89
+ query: {
90
+ measures: ['Users.count'],
91
+ timeDimensions: [
92
+ {
93
+ dimension: 'Users.ts',
94
+ granularity: 'month',
95
+ dateRange: ['2020-07-01T00:00:00.000', '2020-11-01T00:00:00.000'],
96
+ },
97
+ ],
98
+ filters: [],
99
+ order: [],
100
+ dimensions: [],
101
+ },
102
+ data: [
103
+ {
104
+ 'Users.ts.month': '2020-08-01T00:00:00.000',
105
+ 'Users.ts': '2020-08-01T00:00:00.000',
106
+ 'Users.count': 14,
107
+ 'time.month': '2020-08-01T00:00:00.000',
108
+ },
109
+ {
110
+ 'Users.ts.month': '2020-09-01T00:00:00.000',
111
+ 'Users.ts': '2020-09-01T00:00:00.000',
112
+ 'Users.count': 23,
113
+ 'time.month': '2020-09-01T00:00:00.000',
114
+ },
115
+ ],
116
+ annotation: {
117
+ measures: {
118
+ 'Users.count': {
119
+ title: 'Users Count',
120
+ shortTitle: 'Count',
121
+ type: 'number',
122
+ drillMembers: ['Users.id', 'Users.name'],
123
+ drillMembersGrouped: {
124
+ measures: [],
125
+ dimensions: ['Users.id', 'Users.name'],
126
+ },
127
+ },
128
+ },
129
+ dimensions: {},
130
+ segments: {},
131
+ timeDimensions: {
132
+ 'Users.ts.month': { title: 'Users Ts', shortTitle: 'Ts', type: 'time' },
133
+ 'Users.ts': { title: 'Users Ts', shortTitle: 'Ts', type: 'time' },
134
+ },
135
+ },
136
+ },
137
+ {
138
+ query: {
139
+ measures: ['Users.count'],
140
+ timeDimensions: [
141
+ {
142
+ dimension: 'Users.ts',
143
+ granularity: 'month',
144
+ dateRange: ['2020-07-01T00:00:00.000', '2020-11-01T00:00:00.000'],
145
+ },
146
+ ],
147
+ filters: [
148
+ {
149
+ member: 'Users.country',
150
+ operator: 'equals',
151
+ value: ['USA'],
152
+ },
153
+ ],
154
+ order: [],
155
+ },
156
+ data: [
157
+ {
158
+ 'Users.ts.month': '2020-08-01T00:00:00.000',
159
+ 'Users.ts': '2020-08-01T00:00:00.000',
160
+ 'Users.count': 2,
161
+ 'time.month': '2020-08-01T00:00:00.000',
162
+ },
163
+ {
164
+ 'Users.ts.month': '2020-09-01T00:00:00.000',
165
+ 'Users.ts': '2020-09-05T00:00:00.000',
166
+ 'Users.count': 4,
167
+ 'time.month': '2020-09-01T00:00:00.000',
168
+ },
169
+ {
170
+ 'Users.ts.month': '2020-10-01T00:00:00.000',
171
+ 'Users.ts': '2020-10-05T00:00:00.000',
172
+ 'Users.count': 7,
173
+ 'time.month': '2020-10-01T00:00:00.000',
174
+ },
175
+ ],
176
+ annotation: {
177
+ measures: {
178
+ 'Users.count': {
179
+ title: 'Users Count',
180
+ shortTitle: 'Count',
181
+ type: 'number',
182
+ drillMembers: [],
183
+ drillMembersGrouped: {
184
+ measures: [],
185
+ dimensions: [],
186
+ },
187
+ },
188
+ },
189
+ dimensions: {},
190
+ segments: {},
191
+ timeDimensions: {
192
+ 'Users.ts.month': { title: 'Users Ts', shortTitle: 'Ts', type: 'time' },
193
+ 'Users.ts': { title: 'Users Ts', shortTitle: 'Ts', type: 'time' },
194
+ },
195
+ },
196
+ },
197
+ ],
198
+ pivotQuery: {
199
+ measures: ['Users.count', 'Users.count'],
200
+ timeDimensions: [
201
+ {
202
+ dimension: 'time',
203
+ granularity: 'month',
204
+ dateRange: ['2020-07-01T00:00:00.000', '2020-11-01T00:00:00.000'],
205
+ },
206
+ ],
207
+ dimensions: [],
208
+ },
209
+ });
210
+ expect(resultSet.chartPivot()).toEqual([
211
+ {
212
+ x: '2020-07-01T00:00:00.000',
213
+ '0,Users.count': 0,
214
+ '1,Users.count': 0,
215
+ xValues: ['2020-07-01T00:00:00.000'],
216
+ },
217
+ {
218
+ x: '2020-08-01T00:00:00.000',
219
+ '0,Users.count': 14,
220
+ '1,Users.count': 2,
221
+ xValues: ['2020-08-01T00:00:00.000'],
222
+ },
223
+ {
224
+ x: '2020-09-01T00:00:00.000',
225
+ '0,Users.count': 23,
226
+ '1,Users.count': 4,
227
+ xValues: ['2020-09-01T00:00:00.000'],
228
+ },
229
+ {
230
+ x: '2020-10-01T00:00:00.000',
231
+ '0,Users.count': 0,
232
+ '1,Users.count': 7,
233
+ xValues: ['2020-10-01T00:00:00.000'],
234
+ },
235
+ {
236
+ x: '2020-11-01T00:00:00.000',
237
+ '0,Users.count': 0,
238
+ '1,Users.count': 0,
239
+ xValues: ['2020-11-01T00:00:00.000'],
240
+ },
241
+ ]);
242
+ });
243
+ test('query without date range', () => {
244
+ const resultSet = new ResultSet(loadResponseWithoutDateRange);
245
+ expect(resultSet.chartPivot()).toEqual([
246
+ {
247
+ x: '2020-08-01T00:00:00.000',
248
+ xValues: ['2020-08-01T00:00:00.000'],
249
+ 'Orders.count': 1,
250
+ 'Australia,Users.count': 20,
251
+ 'Italy,Users.count': 0,
252
+ 'Spain,Users.count': 0
253
+ },
254
+ {
255
+ x: '2020-08-02T00:00:00.000',
256
+ xValues: ['2020-08-02T00:00:00.000'],
257
+ 'Orders.count': 2,
258
+ 'Australia,Users.count': 0,
259
+ 'Spain,Users.count': 34,
260
+ 'Italy,Users.count': 18,
261
+ },
262
+ ]);
263
+ });
264
+ test('query with a single measure and a custom series alias', () => {
265
+ const resultSet = new ResultSet({
266
+ queryType: 'blendingQuery',
267
+ results: [
268
+ {
269
+ query: {
270
+ measures: ['Users.count'],
271
+ timeDimensions: [
272
+ {
273
+ dimension: 'Users.ts',
274
+ granularity: 'month',
275
+ dateRange: ['2020-07-01T00:00:00.000', '2020-11-01T00:00:00.000'],
276
+ },
277
+ ],
278
+ filters: [],
279
+ order: [],
280
+ dimensions: [],
281
+ },
282
+ data: [
283
+ {
284
+ 'Users.ts.month': '2020-08-01T00:00:00.000',
285
+ 'Users.ts': '2020-08-01T00:00:00.000',
286
+ 'Users.count': 14,
287
+ 'time.month': '2020-08-01T00:00:00.000',
288
+ },
289
+ {
290
+ 'Users.ts.month': '2020-09-01T00:00:00.000',
291
+ 'Users.ts': '2020-09-01T00:00:00.000',
292
+ 'Users.count': 23,
293
+ 'time.month': '2020-09-01T00:00:00.000',
294
+ },
295
+ ],
296
+ annotation: {
297
+ measures: {
298
+ 'Users.count': {
299
+ title: 'Users Count',
300
+ shortTitle: 'Count',
301
+ type: 'number',
302
+ drillMembers: ['Users.id', 'Users.name'],
303
+ drillMembersGrouped: {
304
+ measures: [],
305
+ dimensions: ['Users.id', 'Users.name'],
306
+ },
307
+ },
308
+ },
309
+ dimensions: {},
310
+ segments: {},
311
+ timeDimensions: {
312
+ 'Users.ts.month': { title: 'Users Ts', shortTitle: 'Ts', type: 'time' },
313
+ 'Users.ts': { title: 'Users Ts', shortTitle: 'Ts', type: 'time' },
314
+ },
315
+ },
316
+ },
317
+ {
318
+ query: {
319
+ measures: ['Users.count'],
320
+ timeDimensions: [
321
+ {
322
+ dimension: 'Users.ts',
323
+ granularity: 'month',
324
+ dateRange: ['2020-07-01T00:00:00.000', '2020-11-01T00:00:00.000'],
325
+ },
326
+ ],
327
+ filters: [
328
+ {
329
+ member: 'Users.country',
330
+ operator: 'equals',
331
+ value: ['USA'],
332
+ },
333
+ ],
334
+ order: [],
335
+ },
336
+ data: [
337
+ {
338
+ 'Users.ts.month': '2020-08-01T00:00:00.000',
339
+ 'Users.ts': '2020-08-01T00:00:00.000',
340
+ 'Users.count': 2,
341
+ 'time.month': '2020-08-01T00:00:00.000',
342
+ },
343
+ {
344
+ 'Users.ts.month': '2020-09-01T00:00:00.000',
345
+ 'Users.ts': '2020-09-05T00:00:00.000',
346
+ 'Users.count': 4,
347
+ 'time.month': '2020-09-01T00:00:00.000',
348
+ },
349
+ {
350
+ 'Users.ts.month': '2020-10-01T00:00:00.000',
351
+ 'Users.ts': '2020-10-05T00:00:00.000',
352
+ 'Users.count': 7,
353
+ 'time.month': '2020-10-01T00:00:00.000',
354
+ },
355
+ ],
356
+ annotation: {
357
+ measures: {
358
+ 'Users.count': {
359
+ title: 'Users Count',
360
+ shortTitle: 'Count',
361
+ type: 'number',
362
+ drillMembers: [],
363
+ drillMembersGrouped: {
364
+ measures: [],
365
+ dimensions: [],
366
+ },
367
+ },
368
+ },
369
+ dimensions: {},
370
+ segments: {},
371
+ timeDimensions: {
372
+ 'Users.ts.month': { title: 'Users Ts', shortTitle: 'Ts', type: 'time' },
373
+ 'Users.ts': { title: 'Users Ts', shortTitle: 'Ts', type: 'time' },
374
+ },
375
+ },
376
+ },
377
+ ],
378
+ pivotQuery: {
379
+ measures: ['Users.count', 'Users.count'],
380
+ timeDimensions: [
381
+ {
382
+ dimension: 'time',
383
+ granularity: 'month',
384
+ dateRange: ['2020-07-01T00:00:00.000', '2020-11-01T00:00:00.000'],
385
+ },
386
+ ],
387
+ dimensions: [],
388
+ },
389
+ });
390
+ expect(resultSet.chartPivot({ aliasSeries: ['one', 'two'] })).toEqual([
391
+ {
392
+ x: '2020-07-01T00:00:00.000',
393
+ 'one,Users.count': 0,
394
+ 'two,Users.count': 0,
395
+ xValues: ['2020-07-01T00:00:00.000'],
396
+ },
397
+ {
398
+ x: '2020-08-01T00:00:00.000',
399
+ 'one,Users.count': 14,
400
+ 'two,Users.count': 2,
401
+ xValues: ['2020-08-01T00:00:00.000'],
402
+ },
403
+ {
404
+ x: '2020-09-01T00:00:00.000',
405
+ 'one,Users.count': 23,
406
+ 'two,Users.count': 4,
407
+ xValues: ['2020-09-01T00:00:00.000'],
408
+ },
409
+ {
410
+ x: '2020-10-01T00:00:00.000',
411
+ 'one,Users.count': 0,
412
+ 'two,Users.count': 7,
413
+ xValues: ['2020-10-01T00:00:00.000'],
414
+ },
415
+ {
416
+ x: '2020-11-01T00:00:00.000',
417
+ 'one,Users.count': 0,
418
+ 'two,Users.count': 0,
419
+ xValues: ['2020-11-01T00:00:00.000'],
420
+ },
421
+ ]);
422
+ });
423
+ });
@@ -0,0 +1,2 @@
1
+ import 'jest';
2
+ //# sourceMappingURL=default-heuristics.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-heuristics.test.d.ts","sourceRoot":"","sources":["../../test/default-heuristics.test.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,CAAC"}
@@ -0,0 +1,108 @@
1
+ /* globals jest, describe, expect, it */
2
+ import 'jest';
3
+ import { defaultHeuristics } from '../src/utils';
4
+ jest.mock('moment-range', () => {
5
+ const Moment = jest.requireActual('moment');
6
+ const MomentRange = jest.requireActual('moment-range');
7
+ const moment = MomentRange.extendMoment(Moment);
8
+ return {
9
+ extendMoment: () => moment,
10
+ };
11
+ });
12
+ describe('default heuristics', () => {
13
+ it('removes the time dimension when the measure is removed', () => {
14
+ const newState = {
15
+ query: {
16
+ timeDimensions: [
17
+ {
18
+ dimension: 'Orders.ts',
19
+ granularity: 'month',
20
+ dateRange: 'this year',
21
+ },
22
+ ],
23
+ },
24
+ };
25
+ const oldQuery = {
26
+ measures: ['Orders.count'],
27
+ timeDimensions: [
28
+ {
29
+ dimension: 'Orders.ts',
30
+ granularity: 'month',
31
+ dateRange: 'this year',
32
+ },
33
+ ],
34
+ };
35
+ expect(defaultHeuristics(newState, oldQuery, {
36
+ meta: {
37
+ defaultTimeDimensionNameFor() {
38
+ return 'Orders.ts';
39
+ },
40
+ },
41
+ })).toStrictEqual({
42
+ pivotConfig: null,
43
+ query: {
44
+ filters: [],
45
+ timeDimensions: [],
46
+ },
47
+ sessionGranularity: null,
48
+ shouldApplyHeuristicOrder: true,
49
+ });
50
+ });
51
+ it('respects the granularity', () => {
52
+ const meta = {
53
+ defaultTimeDimensionNameFor() {
54
+ return 'Orders.createdAt';
55
+ },
56
+ };
57
+ const newState = {
58
+ query: {
59
+ measures: ['Orders.count'],
60
+ timeDimensions: [
61
+ {
62
+ dimension: 'Orders.createdAt',
63
+ granularity: 'month',
64
+ },
65
+ ],
66
+ },
67
+ };
68
+ const oldQuery = {};
69
+ expect(defaultHeuristics(newState, oldQuery, { meta })).toMatchObject({
70
+ query: {
71
+ timeDimensions: [
72
+ {
73
+ granularity: 'month',
74
+ },
75
+ ],
76
+ },
77
+ });
78
+ });
79
+ it('handles dateRange correctly', () => {
80
+ const meta = {
81
+ defaultTimeDimensionNameFor() {
82
+ return 'Orders.createdAt';
83
+ },
84
+ };
85
+ const newState = {
86
+ query: {
87
+ measures: ['Orders.count'],
88
+ timeDimensions: [
89
+ {
90
+ dimension: 'Orders.createdAt',
91
+ granularity: 'month',
92
+ dateRange: 'This quarter',
93
+ },
94
+ ],
95
+ },
96
+ };
97
+ expect(defaultHeuristics(newState, {}, { meta })).toMatchObject({
98
+ query: {
99
+ timeDimensions: [
100
+ {
101
+ granularity: 'month',
102
+ dateRange: 'This quarter',
103
+ },
104
+ ],
105
+ },
106
+ });
107
+ });
108
+ });
@@ -0,0 +1,2 @@
1
+ import 'jest';
2
+ //# sourceMappingURL=drill-down.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drill-down.test.d.ts","sourceRoot":"","sources":["../../test/drill-down.test.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,CAAC"}