@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
@@ -1,753 +0,0 @@
1
- import 'jest';
2
- import ResultSet from '../ResultSet';
3
-
4
- const loadResponses = [
5
- {
6
- queryType: 'compareDateRangeQuery',
7
- results: [
8
- {
9
- query: {
10
- measures: ['Orders.count'],
11
- timeDimensions: [
12
- {
13
- dimension: 'Orders.ts',
14
- granularity: 'day',
15
- dateRange: ['2020-08-10T00:00:00.000', '2020-08-16T23:59:59.999'],
16
- },
17
- ],
18
- filters: [],
19
- timezone: 'UTC',
20
- order: [],
21
- dimensions: [],
22
- },
23
- data: [
24
- {
25
- 'Orders.ts.day': '2020-08-10T00:00:00.000',
26
- 'Orders.ts': '2020-08-10T00:00:00.000',
27
- 'Orders.count': 1,
28
- compareDateRange: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999',
29
- },
30
- {
31
- 'Orders.ts.day': '2020-08-12T00:00:00.000',
32
- 'Orders.ts': '2020-08-12T00:00:00.000',
33
- 'Orders.count': 1,
34
- compareDateRange: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999',
35
- },
36
- ],
37
- annotation: {
38
- measures: {
39
- 'Orders.count': {
40
- title: 'Orders Count',
41
- shortTitle: 'Count',
42
- type: 'number',
43
- drillMembers: ['Orders.id', 'Orders.title'],
44
- drillMembersGrouped: { measures: [], dimensions: ['Orders.id', 'Orders.title'] },
45
- },
46
- },
47
- dimensions: {},
48
- segments: {},
49
- timeDimensions: {
50
- 'Orders.ts.day': { title: 'Orders Ts', shortTitle: 'Ts', type: 'time' },
51
- 'Orders.ts': { title: 'Orders Ts', shortTitle: 'Ts', type: 'time' },
52
- },
53
- },
54
- },
55
- {
56
- query: {
57
- measures: ['Orders.count'],
58
- timeDimensions: [
59
- {
60
- dimension: 'Orders.ts',
61
- granularity: 'day',
62
- dateRange: ['2020-08-03T00:00:00.000', '2020-08-09T23:59:59.999'],
63
- },
64
- ],
65
- filters: [],
66
- timezone: 'UTC',
67
- order: [],
68
- dimensions: [],
69
- },
70
- data: [
71
- {
72
- 'Orders.ts.day': '2020-08-03T00:00:00.000',
73
- 'Orders.ts': '2020-08-03T00:00:00.000',
74
- 'Orders.count': 2,
75
- compareDateRange: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
76
- },
77
- {
78
- 'Orders.ts.day': '2020-08-04T00:00:00.000',
79
- 'Orders.ts': '2020-08-04T00:00:00.000',
80
- 'Orders.count': 1,
81
- compareDateRange: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
82
- },
83
- {
84
- 'Orders.ts.day': '2020-08-06T00:00:00.000',
85
- 'Orders.ts': '2020-08-06T00:00:00.000',
86
- 'Orders.count': 1,
87
- compareDateRange: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
88
- },
89
- {
90
- 'Orders.ts.day': '2020-08-08T00:00:00.000',
91
- 'Orders.ts': '2020-08-08T00:00:00.000',
92
- 'Orders.count': 1,
93
- compareDateRange: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
94
- },
95
- ],
96
- annotation: {
97
- measures: {
98
- 'Orders.count': {
99
- title: 'Orders Count',
100
- shortTitle: 'Count',
101
- type: 'number',
102
- drillMembers: ['Orders.id', 'Orders.title'],
103
- drillMembersGrouped: { measures: [], dimensions: ['Orders.id', 'Orders.title'] },
104
- },
105
- },
106
- dimensions: {},
107
- segments: {},
108
- timeDimensions: {
109
- 'Orders.ts.day': { title: 'Orders Ts', shortTitle: 'Ts', type: 'time' },
110
- 'Orders.ts': { title: 'Orders Ts', shortTitle: 'Ts', type: 'time' },
111
- },
112
- },
113
- },
114
- ],
115
- pivotQuery: {
116
- measures: ['Orders.count'],
117
- timeDimensions: [
118
- {
119
- dimension: 'Orders.ts',
120
- granularity: 'day',
121
- dateRange: ['2020-08-10T00:00:00.000', '2020-08-16T23:59:59.999'],
122
- },
123
- ],
124
- filters: [],
125
- timezone: 'UTC',
126
- order: [],
127
- dimensions: ['compareDateRange'],
128
- queryType: 'compareDateRangeQuery',
129
- },
130
- },
131
- {
132
- queryType: 'compareDateRangeQuery',
133
- results: [
134
- {
135
- query: {
136
- measures: ['Orders.count'],
137
- dimensions: ['Users.country'],
138
- timeDimensions: [
139
- {
140
- dimension: 'Orders.ts',
141
- granularity: 'day',
142
- dateRange: ['2020-08-10T00:00:00.000', '2020-08-16T23:59:59.999'],
143
- },
144
- ],
145
- filters: [],
146
- timezone: 'UTC',
147
- order: [],
148
- },
149
- data: [
150
- {
151
- 'Users.country': 'US',
152
- 'Orders.ts.day': '2020-08-10T00:00:00.000',
153
- 'Orders.ts': '2020-08-10T00:00:00.000',
154
- 'Orders.count': 1,
155
- compareDateRange: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999',
156
- },
157
- {
158
- 'Users.country': 'France',
159
- 'Orders.ts.day': '2020-08-12T00:00:00.000',
160
- 'Orders.ts': '2020-08-12T00:00:00.000',
161
- 'Orders.count': 1,
162
- compareDateRange: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999',
163
- },
164
- ],
165
- annotation: {
166
- measures: {
167
- 'Orders.count': {
168
- title: 'Orders Count',
169
- shortTitle: 'Count',
170
- type: 'number',
171
- drillMembers: ['Orders.id', 'Orders.title'],
172
- drillMembersGrouped: {
173
- measures: [],
174
- dimensions: ['Orders.id', 'Orders.title'],
175
- },
176
- },
177
- },
178
- dimensions: {
179
- 'Users.country': {
180
- title: 'Users Country',
181
- shortTitle: 'Country',
182
- type: 'string',
183
- },
184
- },
185
- segments: {},
186
- timeDimensions: {
187
- 'Orders.ts.day': {
188
- title: 'Orders Ts',
189
- shortTitle: 'Ts',
190
- type: 'time',
191
- },
192
- 'Orders.ts': { title: 'Orders Ts', shortTitle: 'Ts', type: 'time' },
193
- },
194
- },
195
- },
196
- {
197
- query: {
198
- measures: ['Orders.count'],
199
- dimensions: ['Users.country'],
200
- timeDimensions: [
201
- {
202
- dimension: 'Orders.ts',
203
- granularity: 'day',
204
- dateRange: ['2020-08-03T00:00:00.000', '2020-08-09T23:59:59.999'],
205
- },
206
- ],
207
- filters: [],
208
- timezone: 'UTC',
209
- order: [],
210
- },
211
- data: [
212
- {
213
- 'Users.country': 'Australia',
214
- 'Orders.ts.day': '2020-08-03T00:00:00.000',
215
- 'Orders.ts': '2020-08-03T00:00:00.000',
216
- 'Orders.count': 2,
217
- compareDateRange: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
218
- },
219
- {
220
- 'Users.country': 'France',
221
- 'Orders.ts.day': '2020-08-04T00:00:00.000',
222
- 'Orders.ts': '2020-08-04T00:00:00.000',
223
- 'Orders.count': 1,
224
- compareDateRange: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
225
- },
226
- {
227
- 'Users.country': 'US',
228
- 'Orders.ts.day': '2020-08-06T00:00:00.000',
229
- 'Orders.ts': '2020-08-06T00:00:00.000',
230
- 'Orders.count': 1,
231
- compareDateRange: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
232
- },
233
- {
234
- 'Users.country': 'France',
235
- 'Orders.ts.day': '2020-08-08T00:00:00.000',
236
- 'Orders.ts': '2020-08-08T00:00:00.000',
237
- 'Orders.count': 1,
238
- compareDateRange: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
239
- },
240
- ],
241
- annotation: {
242
- measures: {
243
- 'Orders.count': {
244
- title: 'Orders Count',
245
- shortTitle: 'Count',
246
- type: 'number',
247
- drillMembers: ['Orders.id', 'Orders.title'],
248
- drillMembersGrouped: {
249
- measures: [],
250
- dimensions: ['Orders.id', 'Orders.title'],
251
- },
252
- },
253
- },
254
- dimensions: {
255
- 'Users.country': {
256
- title: 'Users Country',
257
- shortTitle: 'Country',
258
- type: 'string',
259
- },
260
- },
261
- segments: {},
262
- timeDimensions: {
263
- 'Orders.ts.day': {
264
- title: 'Orders Ts',
265
- shortTitle: 'Ts',
266
- type: 'time',
267
- },
268
- 'Orders.ts': { title: 'Orders Ts', shortTitle: 'Ts', type: 'time' },
269
- },
270
- },
271
- },
272
- ],
273
- pivotQuery: {
274
- measures: ['Orders.count'],
275
- dimensions: ['compareDateRange', 'Users.country'],
276
- timeDimensions: [
277
- {
278
- dimension: 'Orders.ts',
279
- granularity: 'day',
280
- dateRange: ['2020-08-03T00:00:00.000', '2020-08-09T23:59:59.999'],
281
- },
282
- ],
283
- filters: [],
284
- timezone: 'UTC',
285
- order: [],
286
- queryType: 'compareDateRangeQuery',
287
- },
288
- },
289
- ];
290
-
291
- describe('compare date range', () => {
292
- const resultSet1 = new ResultSet(loadResponses[0]);
293
- const resultSet2 = new ResultSet(loadResponses[1]);
294
-
295
- describe('series and seriesNames', () => {
296
- test('with a single time dimension', () => {
297
- expect(resultSet1.seriesNames()).toStrictEqual([
298
- {
299
- key: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count',
300
- title: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999, Orders Count',
301
- shortTitle: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999, Count',
302
- yValues: ['2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999', 'Orders.count'],
303
- },
304
- {
305
- key: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count',
306
- title: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999, Orders Count',
307
- shortTitle: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999, Count',
308
- yValues: ['2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999', 'Orders.count'],
309
- },
310
- ]);
311
-
312
- expect(resultSet1.series()).toStrictEqual([
313
- {
314
- key: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count',
315
- series: [
316
- {
317
- value: 1,
318
- x: '2020-08-10T00:00:00.000',
319
- },
320
- {
321
- value: 0,
322
- x: '2020-08-11T00:00:00.000',
323
- },
324
- {
325
- value: 1,
326
- x: '2020-08-12T00:00:00.000',
327
- },
328
- {
329
- value: 0,
330
- x: '2020-08-13T00:00:00.000',
331
- },
332
- {
333
- value: 0,
334
- x: '2020-08-14T00:00:00.000',
335
- },
336
- {
337
- value: 0,
338
- x: '2020-08-15T00:00:00.000',
339
- },
340
- {
341
- value: 0,
342
- x: '2020-08-16T00:00:00.000',
343
- },
344
- ],
345
- shortTitle: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999, Count',
346
- title: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999, Orders Count',
347
- },
348
- {
349
- key: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count',
350
- series: [
351
- {
352
- value: 2,
353
- x: '2020-08-10T00:00:00.000',
354
- },
355
- {
356
- value: 1,
357
- x: '2020-08-11T00:00:00.000',
358
- },
359
- {
360
- value: 0,
361
- x: '2020-08-12T00:00:00.000',
362
- },
363
- {
364
- value: 1,
365
- x: '2020-08-13T00:00:00.000',
366
- },
367
- {
368
- value: 0,
369
- x: '2020-08-14T00:00:00.000',
370
- },
371
- {
372
- value: 1,
373
- x: '2020-08-15T00:00:00.000',
374
- },
375
- {
376
- value: 0,
377
- x: '2020-08-16T00:00:00.000',
378
- },
379
- ],
380
- shortTitle: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999, Count',
381
- title: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999, Orders Count',
382
- },
383
- ]);
384
- });
385
- });
386
-
387
- describe('chartPivot', () => {
388
- test('with a single time dimension', () => {
389
- expect(resultSet1.chartPivot()).toStrictEqual([
390
- {
391
- x: '2020-08-10T00:00:00.000',
392
- xValues: ['2020-08-10T00:00:00.000'],
393
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 1,
394
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 2,
395
- },
396
- {
397
- x: '2020-08-11T00:00:00.000',
398
- xValues: ['2020-08-11T00:00:00.000'],
399
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 0,
400
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 1,
401
- },
402
- {
403
- x: '2020-08-12T00:00:00.000',
404
- xValues: ['2020-08-12T00:00:00.000'],
405
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 1,
406
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 0,
407
- },
408
- {
409
- x: '2020-08-13T00:00:00.000',
410
- xValues: ['2020-08-13T00:00:00.000'],
411
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 0,
412
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 1,
413
- },
414
- {
415
- x: '2020-08-14T00:00:00.000',
416
- xValues: ['2020-08-14T00:00:00.000'],
417
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 0,
418
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 0,
419
- },
420
- {
421
- x: '2020-08-15T00:00:00.000',
422
- xValues: ['2020-08-15T00:00:00.000'],
423
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 0,
424
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 1,
425
- },
426
- {
427
- x: '2020-08-16T00:00:00.000',
428
- xValues: ['2020-08-16T00:00:00.000'],
429
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 0,
430
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 0,
431
- },
432
- ]);
433
- });
434
-
435
- test('with two dimensions', () => {
436
- expect(resultSet2.chartPivot()).toStrictEqual([
437
- {
438
- x: '2020-08-10T00:00:00.000',
439
- xValues: ['2020-08-10T00:00:00.000'],
440
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 1,
441
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 0,
442
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 2,
443
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 0,
444
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 0,
445
- },
446
- {
447
- x: '2020-08-11T00:00:00.000',
448
- xValues: ['2020-08-11T00:00:00.000'],
449
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 0,
450
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 0,
451
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 0,
452
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 1,
453
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 0,
454
- },
455
- {
456
- x: '2020-08-12T00:00:00.000',
457
- xValues: ['2020-08-12T00:00:00.000'],
458
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 0,
459
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 1,
460
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 0,
461
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 0,
462
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 0,
463
- },
464
- {
465
- x: '2020-08-13T00:00:00.000',
466
- xValues: ['2020-08-13T00:00:00.000'],
467
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 0,
468
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 0,
469
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 0,
470
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 0,
471
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 1,
472
- },
473
- {
474
- x: '2020-08-14T00:00:00.000',
475
- xValues: ['2020-08-14T00:00:00.000'],
476
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 0,
477
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 0,
478
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 0,
479
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 0,
480
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 0,
481
- },
482
- {
483
- x: '2020-08-15T00:00:00.000',
484
- xValues: ['2020-08-15T00:00:00.000'],
485
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 0,
486
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 0,
487
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 0,
488
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 1,
489
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 0,
490
- },
491
- {
492
- x: '2020-08-16T00:00:00.000',
493
- xValues: ['2020-08-16T00:00:00.000'],
494
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 0,
495
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 0,
496
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 0,
497
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 0,
498
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 0,
499
- },
500
- ]);
501
- });
502
- });
503
-
504
- describe('tablePivot and tableColumns', () => {
505
- test('with a single time dimension', () => {
506
- const pivotConfig = {
507
- x: ['Orders.ts.day'],
508
- y: ['compareDateRange', 'measures'],
509
- };
510
-
511
- expect(resultSet1.tableColumns(pivotConfig)).toMatchObject([
512
- {
513
- key: 'Orders.ts.day',
514
- title: 'Orders Ts',
515
- shortTitle: 'Ts',
516
- type: 'time',
517
- dataIndex: 'Orders.ts.day',
518
- },
519
- {
520
- key: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999',
521
- title: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999',
522
- shortTitle: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999',
523
- children: [
524
- {
525
- key: 'Orders.count',
526
- type: 'number',
527
- dataIndex: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count',
528
- title: 'Orders Count',
529
- shortTitle: 'Count',
530
- },
531
- ],
532
- },
533
- {
534
- key: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
535
- title: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
536
- shortTitle: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
537
- children: [
538
- {
539
- key: 'Orders.count',
540
- type: 'number',
541
- dataIndex: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count',
542
- title: 'Orders Count',
543
- shortTitle: 'Count',
544
- },
545
- ],
546
- },
547
- ]);
548
-
549
- expect(resultSet1.tablePivot(pivotConfig)).toStrictEqual([
550
- {
551
- 'Orders.ts.day': '2020-08-10T00:00:00.000',
552
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 1,
553
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 2,
554
- },
555
- {
556
- 'Orders.ts.day': '2020-08-11T00:00:00.000',
557
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 0,
558
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 1,
559
- },
560
- {
561
- 'Orders.ts.day': '2020-08-12T00:00:00.000',
562
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 1,
563
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 0,
564
- },
565
- {
566
- 'Orders.ts.day': '2020-08-13T00:00:00.000',
567
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 0,
568
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 1,
569
- },
570
- {
571
- 'Orders.ts.day': '2020-08-14T00:00:00.000',
572
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 0,
573
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 0,
574
- },
575
- {
576
- 'Orders.ts.day': '2020-08-15T00:00:00.000',
577
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 0,
578
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 1,
579
- },
580
- {
581
- 'Orders.ts.day': '2020-08-16T00:00:00.000',
582
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,Orders.count': 0,
583
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Orders.count': 0,
584
- },
585
- ]);
586
- });
587
-
588
- test('with two dimensions', () => {
589
- const pivotConfig = {
590
- x: ['Orders.ts.day'],
591
- y: ['compareDateRange', 'Users.country', 'measures'],
592
- };
593
-
594
- expect(resultSet2.tableColumns(pivotConfig)).toMatchObject([
595
- {
596
- key: 'Orders.ts.day',
597
- title: 'Orders Ts',
598
- shortTitle: 'Ts',
599
- type: 'time',
600
- dataIndex: 'Orders.ts.day',
601
- },
602
- {
603
- key: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999',
604
- title: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999',
605
- shortTitle: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999',
606
- children: [
607
- {
608
- key: 'US',
609
- type: 'string',
610
- title: 'Users Country US',
611
- shortTitle: 'US',
612
- children: [
613
- {
614
- key: 'Orders.count',
615
- type: 'number',
616
- dataIndex: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count',
617
- title: 'Orders Count',
618
- shortTitle: 'Count',
619
- },
620
- ],
621
- },
622
- {
623
- key: 'France',
624
- type: 'string',
625
- title: 'Users Country France',
626
- shortTitle: 'France',
627
- children: [
628
- {
629
- key: 'Orders.count',
630
- type: 'number',
631
- dataIndex: '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count',
632
- title: 'Orders Count',
633
- shortTitle: 'Count',
634
- },
635
- ],
636
- },
637
- ],
638
- },
639
- {
640
- key: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
641
- title: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
642
- shortTitle: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999',
643
- children: [
644
- {
645
- key: 'Australia',
646
- type: 'string',
647
- title: 'Users Country Australia',
648
- shortTitle: 'Australia',
649
- children: [
650
- {
651
- key: 'Orders.count',
652
- type: 'number',
653
- dataIndex: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count',
654
- title: 'Orders Count',
655
- shortTitle: 'Count',
656
- },
657
- ],
658
- },
659
- {
660
- key: 'France',
661
- type: 'string',
662
- title: 'Users Country France',
663
- shortTitle: 'France',
664
- children: [
665
- {
666
- key: 'Orders.count',
667
- type: 'number',
668
- dataIndex: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count',
669
- title: 'Orders Count',
670
- shortTitle: 'Count',
671
- },
672
- ],
673
- },
674
- {
675
- key: 'US',
676
- type: 'string',
677
- title: 'Users Country US',
678
- shortTitle: 'US',
679
- children: [
680
- {
681
- key: 'Orders.count',
682
- type: 'number',
683
- dataIndex: '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count',
684
- title: 'Orders Count',
685
- shortTitle: 'Count',
686
- },
687
- ],
688
- },
689
- ],
690
- },
691
- ]);
692
-
693
- expect(resultSet2.tablePivot(pivotConfig)).toStrictEqual([
694
- {
695
- 'Orders.ts.day': '2020-08-10T00:00:00.000',
696
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 1,
697
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 0,
698
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 2,
699
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 0,
700
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 0,
701
- },
702
- {
703
- 'Orders.ts.day': '2020-08-11T00:00:00.000',
704
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 0,
705
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 0,
706
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 0,
707
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 1,
708
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 0,
709
- },
710
- {
711
- 'Orders.ts.day': '2020-08-12T00:00:00.000',
712
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 0,
713
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 1,
714
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 0,
715
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 0,
716
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 0,
717
- },
718
- {
719
- 'Orders.ts.day': '2020-08-13T00:00:00.000',
720
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 0,
721
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 0,
722
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 0,
723
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 0,
724
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 1,
725
- },
726
- {
727
- 'Orders.ts.day': '2020-08-14T00:00:00.000',
728
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 0,
729
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 0,
730
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 0,
731
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 0,
732
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 0,
733
- },
734
- {
735
- 'Orders.ts.day': '2020-08-15T00:00:00.000',
736
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 0,
737
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 0,
738
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 0,
739
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 1,
740
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 0,
741
- },
742
- {
743
- 'Orders.ts.day': '2020-08-16T00:00:00.000',
744
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,US,Orders.count': 0,
745
- '2020-08-10T00:00:00.000 - 2020-08-16T23:59:59.999,France,Orders.count': 0,
746
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,Australia,Orders.count': 0,
747
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,France,Orders.count': 0,
748
- '2020-08-03T00:00:00.000 - 2020-08-09T23:59:59.999,US,Orders.count': 0,
749
- },
750
- ]);
751
- });
752
- });
753
- });