@devrev/meerkat-node 0.0.111 → 0.0.115

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.
@@ -0,0 +1,1228 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "WITH_DOT_ALIAS_TEST_DATA", {
3
+ enumerable: true,
4
+ get: function() {
5
+ return WITH_DOT_ALIAS_TEST_DATA;
6
+ }
7
+ });
8
+ const WITH_DOT_ALIAS_TEST_DATA = [
9
+ [
10
+ {
11
+ testName: 'GroupBySQLInnerQuery',
12
+ expectedSQL: `SELECT SUM(order_amount) AS "orders.total_order_amount" , "orders.order_month" FROM (SELECT DATE_TRUNC('month', order_date) AS "orders.order_month", * FROM (select * from orders) AS orders) AS orders GROUP BY "orders.order_month" LIMIT 1`,
13
+ cubeInput: {
14
+ measures: [
15
+ 'orders.total_order_amount'
16
+ ],
17
+ filters: [],
18
+ dimensions: [
19
+ 'orders.order_month'
20
+ ],
21
+ limit: 1
22
+ },
23
+ expectedOutput: [
24
+ {
25
+ 'orders.order_month': '2022-01-01T00:00:00.000Z',
26
+ 'orders.total_order_amount': 130
27
+ }
28
+ ]
29
+ }
30
+ ],
31
+ [
32
+ {
33
+ testName: 'GroupBy',
34
+ expectedSQL: `SELECT SUM(order_amount) AS "orders.total_order_amount" , "orders.customer_id" FROM (SELECT customer_id AS "orders.customer_id", * FROM (select * from orders) AS orders) AS orders GROUP BY "orders.customer_id" ORDER BY "orders.total_order_amount" ASC, "orders.customer_id" ASC`,
35
+ cubeInput: {
36
+ measures: [
37
+ 'orders.total_order_amount'
38
+ ],
39
+ filters: [],
40
+ dimensions: [
41
+ 'orders.customer_id'
42
+ ],
43
+ order: {
44
+ 'orders.total_order_amount': 'asc',
45
+ 'orders.customer_id': 'asc'
46
+ }
47
+ },
48
+ expectedOutput: [
49
+ {
50
+ 'orders.customer_id': '6aa6',
51
+ 'orders.total_order_amount': 0
52
+ },
53
+ {
54
+ 'orders.customer_id': '2',
55
+ 'orders.total_order_amount': 100
56
+ },
57
+ {
58
+ 'orders.customer_id': '3',
59
+ 'orders.total_order_amount': 100
60
+ },
61
+ {
62
+ 'orders.customer_id': '7',
63
+ 'orders.total_order_amount': 100
64
+ },
65
+ {
66
+ 'orders.customer_id': null,
67
+ 'orders.total_order_amount': 100
68
+ },
69
+ {
70
+ 'orders.customer_id': '6',
71
+ 'orders.total_order_amount': 120
72
+ },
73
+ {
74
+ 'orders.customer_id': '1',
75
+ 'orders.total_order_amount': 130
76
+ },
77
+ {
78
+ 'orders.customer_id': '4',
79
+ 'orders.total_order_amount': 135
80
+ },
81
+ {
82
+ 'orders.customer_id': '5',
83
+ 'orders.total_order_amount': 150
84
+ }
85
+ ]
86
+ }
87
+ ],
88
+ [
89
+ {
90
+ testName: 'Equals',
91
+ expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS "orders.customer_id", * FROM (select * from orders) AS orders) AS orders WHERE ("orders.customer_id" = '1')`,
92
+ cubeInput: {
93
+ measures: [
94
+ '*'
95
+ ],
96
+ filters: [
97
+ {
98
+ member: 'orders.customer_id',
99
+ operator: 'equals',
100
+ values: [
101
+ '1'
102
+ ]
103
+ }
104
+ ],
105
+ dimensions: []
106
+ },
107
+ expectedOutput: [
108
+ {
109
+ order_id: 1,
110
+ customer_id: '1',
111
+ 'orders.customer_id': '1',
112
+ product_id: '1',
113
+ order_date: '2022-01-01',
114
+ order_amount: 50.0,
115
+ vendors: [
116
+ 'myntra',
117
+ 'amazon',
118
+ 'flipkart'
119
+ ]
120
+ },
121
+ {
122
+ order_id: 2,
123
+ customer_id: '1',
124
+ 'orders.customer_id': '1',
125
+ product_id: '2',
126
+ order_date: '2022-01-02',
127
+ order_amount: 80.0,
128
+ vendors: [
129
+ 'myntra'
130
+ ]
131
+ }
132
+ ]
133
+ },
134
+ {
135
+ testName: 'Equals for multiple values',
136
+ expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS "orders.customer_id", * FROM (select * from orders) AS orders) AS orders WHERE (("orders.customer_id" = '1') AND ("orders.customer_id" = '2'))`,
137
+ cubeInput: {
138
+ measures: [
139
+ '*'
140
+ ],
141
+ filters: [
142
+ {
143
+ member: 'orders.customer_id',
144
+ operator: 'equals',
145
+ values: [
146
+ '1',
147
+ '2'
148
+ ]
149
+ }
150
+ ],
151
+ dimensions: []
152
+ },
153
+ expectedOutput: []
154
+ }
155
+ ],
156
+ [
157
+ {
158
+ testName: 'NotEquals',
159
+ expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS "orders.customer_id", * FROM (select * from orders) AS orders) AS orders WHERE ("orders.customer_id" != '1')`,
160
+ cubeInput: {
161
+ measures: [
162
+ '*'
163
+ ],
164
+ filters: [
165
+ {
166
+ member: 'orders.customer_id',
167
+ operator: 'notEquals',
168
+ values: [
169
+ '1'
170
+ ]
171
+ }
172
+ ],
173
+ dimensions: []
174
+ },
175
+ expectedOutput: [
176
+ {
177
+ order_id: 3,
178
+ customer_id: '2',
179
+ 'orders.customer_id': '2',
180
+ product_id: '3',
181
+ order_date: '2022-02-01',
182
+ order_amount: 25.0,
183
+ vendors: []
184
+ },
185
+ {
186
+ order_id: 4,
187
+ customer_id: '2',
188
+ 'orders.customer_id': '2',
189
+ product_id: '1',
190
+ order_date: '2022-03-01',
191
+ order_amount: 75.0,
192
+ vendors: [
193
+ 'flipkart'
194
+ ]
195
+ },
196
+ {
197
+ order_id: 5,
198
+ customer_id: '3',
199
+ 'orders.customer_id': '3',
200
+ product_id: '1',
201
+ order_date: '2022-03-02',
202
+ order_amount: 100.0,
203
+ vendors: [
204
+ 'myntra',
205
+ 'amazon',
206
+ 'flipkart'
207
+ ]
208
+ },
209
+ {
210
+ order_id: 6,
211
+ customer_id: '4',
212
+ 'orders.customer_id': '4',
213
+ product_id: '2',
214
+ order_date: '2022-04-01',
215
+ order_amount: 45.0,
216
+ vendors: []
217
+ },
218
+ {
219
+ order_id: 7,
220
+ customer_id: '4',
221
+ 'orders.customer_id': '4',
222
+ product_id: '3',
223
+ order_date: '2022-05-01',
224
+ order_amount: 90.0,
225
+ vendors: [
226
+ 'myntra',
227
+ 'flipkart'
228
+ ]
229
+ },
230
+ {
231
+ order_id: 8,
232
+ customer_id: '5',
233
+ 'orders.customer_id': '5',
234
+ product_id: '1',
235
+ order_date: '2022-05-02',
236
+ order_amount: 65.0,
237
+ vendors: [
238
+ 'amazon',
239
+ 'flipkart'
240
+ ]
241
+ },
242
+ {
243
+ order_id: 9,
244
+ customer_id: '5',
245
+ 'orders.customer_id': '5',
246
+ product_id: '2',
247
+ order_date: '2022-05-05',
248
+ order_amount: 85.0,
249
+ vendors: []
250
+ },
251
+ {
252
+ order_id: 10,
253
+ customer_id: '6',
254
+ 'orders.customer_id': '6',
255
+ product_id: '3',
256
+ order_date: '2022-06-01',
257
+ order_amount: 120.0,
258
+ vendors: [
259
+ 'myntra',
260
+ 'amazon'
261
+ ]
262
+ },
263
+ {
264
+ order_id: 11,
265
+ customer_id: '6aa6',
266
+ 'orders.customer_id': '6aa6',
267
+ product_id: '3',
268
+ order_date: '2024-06-01',
269
+ order_amount: 0.0,
270
+ vendors: [
271
+ 'amazon'
272
+ ]
273
+ },
274
+ {
275
+ order_id: 13,
276
+ customer_id: '7',
277
+ 'orders.customer_id': '7',
278
+ product_id: '6',
279
+ order_date: '2024-08-01',
280
+ order_amount: 100.0,
281
+ vendors: [
282
+ "swiggy's"
283
+ ]
284
+ }
285
+ ]
286
+ }
287
+ ],
288
+ [
289
+ {
290
+ testName: 'Contains',
291
+ expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS "orders.customer_id", * FROM (select * from orders) AS orders) AS orders WHERE ("orders.customer_id" ~~* '%aa%')`,
292
+ cubeInput: {
293
+ measures: [
294
+ '*'
295
+ ],
296
+ filters: [
297
+ {
298
+ member: 'orders.customer_id',
299
+ operator: 'contains',
300
+ values: [
301
+ 'aa'
302
+ ]
303
+ }
304
+ ],
305
+ dimensions: []
306
+ },
307
+ expectedOutput: [
308
+ {
309
+ order_id: 11,
310
+ customer_id: '6aa6',
311
+ 'orders.customer_id': '6aa6',
312
+ product_id: '3',
313
+ order_date: '2024-06-01',
314
+ order_amount: 0.0,
315
+ vendors: [
316
+ 'amazon'
317
+ ]
318
+ }
319
+ ]
320
+ }
321
+ ],
322
+ [
323
+ {
324
+ testName: 'NotContains',
325
+ expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS "orders.customer_id", * FROM (select * from orders) AS orders) AS orders WHERE (("orders.customer_id" !~~ '%1%') AND ("orders.customer_id" !~~ '%2%') AND ("orders.customer_id" !~~ '%3%') AND ("orders.customer_id" !~~ '%4%') AND ("orders.customer_id" !~~ '%5%') AND ("orders.customer_id" !~~ '%aa%'))`,
326
+ cubeInput: {
327
+ measures: [
328
+ '*'
329
+ ],
330
+ filters: [
331
+ {
332
+ and: [
333
+ {
334
+ member: 'orders.customer_id',
335
+ operator: 'notContains',
336
+ values: [
337
+ '1'
338
+ ]
339
+ },
340
+ {
341
+ member: 'orders.customer_id',
342
+ operator: 'notContains',
343
+ values: [
344
+ '2'
345
+ ]
346
+ },
347
+ {
348
+ member: 'orders.customer_id',
349
+ operator: 'notContains',
350
+ values: [
351
+ '3'
352
+ ]
353
+ },
354
+ {
355
+ member: 'orders.customer_id',
356
+ operator: 'notContains',
357
+ values: [
358
+ '4'
359
+ ]
360
+ },
361
+ {
362
+ member: 'orders.customer_id',
363
+ operator: 'notContains',
364
+ values: [
365
+ '5'
366
+ ]
367
+ },
368
+ {
369
+ member: 'orders.customer_id',
370
+ operator: 'notContains',
371
+ values: [
372
+ 'aa'
373
+ ]
374
+ }
375
+ ]
376
+ }
377
+ ],
378
+ dimensions: []
379
+ },
380
+ expectedOutput: [
381
+ {
382
+ order_id: 10,
383
+ customer_id: '6',
384
+ 'orders.customer_id': '6',
385
+ product_id: '3',
386
+ order_date: '2022-06-01',
387
+ order_amount: 120,
388
+ vendors: [
389
+ 'myntra',
390
+ 'amazon'
391
+ ]
392
+ },
393
+ {
394
+ customer_id: '7',
395
+ order_amount: 100,
396
+ order_date: '2024-08-01T00:00:00.000Z',
397
+ order_id: 13,
398
+ 'orders.customer_id': '7',
399
+ 'orders.order_date': undefined,
400
+ product_id: '6',
401
+ vendors: [
402
+ "swiggy's"
403
+ ]
404
+ }
405
+ ]
406
+ }
407
+ ],
408
+ [
409
+ {
410
+ testName: 'GreaterThan',
411
+ expectedSQL: `SELECT orders.* FROM (SELECT orders.order_amount AS "orders.order_amount", * FROM (select * from orders) AS orders) AS orders WHERE ("orders.order_amount" > 50)`,
412
+ cubeInput: {
413
+ measures: [
414
+ '*'
415
+ ],
416
+ filters: [
417
+ {
418
+ member: 'orders.order_amount',
419
+ operator: 'gt',
420
+ values: [
421
+ '50'
422
+ ]
423
+ }
424
+ ],
425
+ dimensions: []
426
+ },
427
+ expectedOutput: [
428
+ {
429
+ order_id: 2,
430
+ customer_id: '1',
431
+ product_id: '2',
432
+ order_date: '2022-01-02',
433
+ order_amount: 80.0,
434
+ 'orders.order_amount': 80.0,
435
+ vendors: [
436
+ 'myntra'
437
+ ]
438
+ },
439
+ {
440
+ order_id: 4,
441
+ customer_id: '2',
442
+ product_id: '1',
443
+ order_date: '2022-03-01',
444
+ order_amount: 75.0,
445
+ 'orders.order_amount': 75.0,
446
+ vendors: [
447
+ 'flipkart'
448
+ ]
449
+ },
450
+ {
451
+ order_id: 5,
452
+ customer_id: '3',
453
+ product_id: '1',
454
+ order_date: '2022-03-02',
455
+ order_amount: 100.0,
456
+ 'orders.order_amount': 100.0,
457
+ vendors: [
458
+ 'myntra',
459
+ 'amazon',
460
+ 'flipkart'
461
+ ]
462
+ },
463
+ {
464
+ order_id: 7,
465
+ customer_id: '4',
466
+ product_id: '3',
467
+ order_date: '2022-05-01',
468
+ order_amount: 90.0,
469
+ 'orders.order_amount': 90.0,
470
+ vendors: [
471
+ 'myntra',
472
+ 'flipkart'
473
+ ]
474
+ },
475
+ {
476
+ order_id: 8,
477
+ customer_id: '5',
478
+ product_id: '1',
479
+ order_date: '2022-05-02',
480
+ order_amount: 65.0,
481
+ 'orders.order_amount': 65.0,
482
+ vendors: [
483
+ 'amazon',
484
+ 'flipkart'
485
+ ]
486
+ },
487
+ {
488
+ order_id: 9,
489
+ customer_id: '5',
490
+ product_id: '2',
491
+ order_date: '2022-05-05',
492
+ order_amount: 85.0,
493
+ 'orders.order_amount': 85.0,
494
+ vendors: []
495
+ },
496
+ {
497
+ order_id: 10,
498
+ customer_id: '6',
499
+ product_id: '3',
500
+ order_date: '2022-06-01',
501
+ order_amount: 120.0,
502
+ 'orders.order_amount': 120.0,
503
+ vendors: [
504
+ 'myntra',
505
+ 'amazon'
506
+ ]
507
+ },
508
+ {
509
+ customer_id: null,
510
+ order_amount: 100,
511
+ order_date: '2024-07-01T00:00:00.000Z',
512
+ order_id: 12,
513
+ 'orders.order_amount': 100,
514
+ 'orders.order_date': undefined,
515
+ product_id: '3',
516
+ vendors: [
517
+ 'flipkart'
518
+ ]
519
+ },
520
+ {
521
+ customer_id: '7',
522
+ order_amount: 100,
523
+ order_date: '2024-08-01T00:00:00.000Z',
524
+ order_id: 13,
525
+ 'orders.order_amount': 100,
526
+ 'orders.order_date': undefined,
527
+ product_id: '6',
528
+ vendors: [
529
+ "swiggy's"
530
+ ]
531
+ }
532
+ ]
533
+ }
534
+ ],
535
+ [
536
+ {
537
+ testName: 'LessThan',
538
+ expectedSQL: `SELECT orders.* FROM (SELECT orders.order_amount AS "orders.order_amount", * FROM (select * from orders) AS orders) AS orders WHERE ("orders.order_amount" < 50)`,
539
+ cubeInput: {
540
+ measures: [
541
+ '*'
542
+ ],
543
+ filters: [
544
+ {
545
+ member: 'orders.order_amount',
546
+ operator: 'lt',
547
+ values: [
548
+ '50'
549
+ ]
550
+ }
551
+ ],
552
+ dimensions: []
553
+ },
554
+ expectedOutput: [
555
+ {
556
+ order_id: 3,
557
+ customer_id: '2',
558
+ product_id: '3',
559
+ order_date: '2022-02-01',
560
+ order_amount: 25.0,
561
+ 'orders.order_amount': 25.0,
562
+ vendors: []
563
+ },
564
+ {
565
+ order_id: 6,
566
+ customer_id: '4',
567
+ product_id: '2',
568
+ order_date: '2022-04-01',
569
+ order_amount: 45.0,
570
+ 'orders.order_amount': 45.0,
571
+ vendors: []
572
+ },
573
+ {
574
+ order_id: 11,
575
+ customer_id: '6aa6',
576
+ product_id: '3',
577
+ order_date: '2024-06-01',
578
+ order_amount: 0.0,
579
+ 'orders.order_amount': 0.0,
580
+ vendors: [
581
+ 'amazon'
582
+ ]
583
+ }
584
+ ]
585
+ }
586
+ ],
587
+ [
588
+ {
589
+ testName: 'InDateRange',
590
+ expectedSQL: `SELECT orders.* FROM (SELECT order_date AS "orders.order_date", * FROM (select * from orders) AS orders) AS orders WHERE (("orders.order_date" >= '2022-02-01') AND ("orders.order_date" <= '2022-03-31'))`,
591
+ cubeInput: {
592
+ measures: [
593
+ '*'
594
+ ],
595
+ filters: [
596
+ {
597
+ member: 'orders.order_date',
598
+ operator: 'inDateRange',
599
+ values: [
600
+ '2022-02-01',
601
+ '2022-03-31'
602
+ ]
603
+ }
604
+ ],
605
+ dimensions: []
606
+ },
607
+ expectedOutput: [
608
+ {
609
+ order_id: 3,
610
+ customer_id: '2',
611
+ product_id: '3',
612
+ order_date: '2022-02-01',
613
+ 'orders.order_date': '2022-02-01',
614
+ order_amount: 25.0,
615
+ vendors: []
616
+ },
617
+ {
618
+ order_id: 4,
619
+ customer_id: '2',
620
+ product_id: '1',
621
+ order_date: '2022-03-01',
622
+ 'orders.order_date': '2022-03-01',
623
+ order_amount: 75.0,
624
+ vendors: [
625
+ 'flipkart'
626
+ ]
627
+ },
628
+ {
629
+ order_id: 5,
630
+ customer_id: '3',
631
+ product_id: '1',
632
+ order_date: '2022-03-02',
633
+ 'orders.order_date': '2022-03-02',
634
+ order_amount: 100.0,
635
+ vendors: [
636
+ 'myntra',
637
+ 'amazon',
638
+ 'flipkart'
639
+ ]
640
+ }
641
+ ]
642
+ }
643
+ ],
644
+ [
645
+ {
646
+ testName: 'NotInDateRange',
647
+ expectedSQL: `SELECT orders.* FROM (SELECT order_date AS "orders.order_date", * FROM (select * from orders) AS orders) AS orders WHERE (("orders.order_date" < '2022-02-01') OR ("orders.order_date" > '2022-03-31'))`,
648
+ cubeInput: {
649
+ measures: [
650
+ '*'
651
+ ],
652
+ filters: [
653
+ {
654
+ member: 'orders.order_date',
655
+ operator: 'notInDateRange',
656
+ values: [
657
+ '2022-02-01',
658
+ '2022-03-31'
659
+ ]
660
+ }
661
+ ],
662
+ dimensions: []
663
+ },
664
+ expectedOutput: [
665
+ {
666
+ order_id: 1,
667
+ customer_id: '1',
668
+ product_id: '1',
669
+ order_date: '2022-01-01',
670
+ order_amount: 50.0,
671
+ 'orders.order_date': '2022-01-01',
672
+ vendors: [
673
+ 'myntra',
674
+ 'amazon',
675
+ 'flipkart'
676
+ ]
677
+ },
678
+ {
679
+ order_id: 2,
680
+ customer_id: '1',
681
+ product_id: '2',
682
+ order_date: '2022-01-02',
683
+ order_amount: 80.0,
684
+ 'orders.order_date': '2022-01-02',
685
+ vendors: [
686
+ 'myntra'
687
+ ]
688
+ },
689
+ {
690
+ order_id: 6,
691
+ customer_id: '4',
692
+ product_id: '2',
693
+ order_date: '2022-04-01',
694
+ 'orders.order_date': '2022-04-01',
695
+ order_amount: 45.0,
696
+ vendors: []
697
+ },
698
+ {
699
+ order_id: 7,
700
+ customer_id: '4',
701
+ product_id: '3',
702
+ order_date: '2022-05-01',
703
+ 'orders.order_date': '2022-05-01',
704
+ order_amount: 90.0,
705
+ vendors: [
706
+ 'myntra',
707
+ 'flipkart'
708
+ ]
709
+ },
710
+ {
711
+ order_id: 8,
712
+ customer_id: '5',
713
+ product_id: '1',
714
+ order_date: '2022-05-02',
715
+ 'orders.order_date': '2022-05-02',
716
+ order_amount: 65.0,
717
+ vendors: [
718
+ 'amazon',
719
+ 'flipkart'
720
+ ]
721
+ },
722
+ {
723
+ order_id: 9,
724
+ customer_id: '5',
725
+ product_id: '2',
726
+ order_date: '2022-05-05',
727
+ 'orders.order_date': '2022-05-05',
728
+ order_amount: 85.0,
729
+ vendors: []
730
+ },
731
+ {
732
+ order_id: 10,
733
+ customer_id: '6',
734
+ product_id: '3',
735
+ order_date: '2022-06-01',
736
+ 'orders.order_date': '2022-06-01',
737
+ order_amount: 120.0,
738
+ vendors: [
739
+ 'myntra',
740
+ 'amazon'
741
+ ]
742
+ },
743
+ {
744
+ order_id: 11,
745
+ customer_id: '6aa6',
746
+ product_id: '3',
747
+ order_date: '2024-06-01',
748
+ 'orders.order_date': '2024-06-01',
749
+ order_amount: 0.0,
750
+ vendors: [
751
+ 'amazon'
752
+ ]
753
+ },
754
+ {
755
+ customer_id: null,
756
+ order_amount: 100,
757
+ order_date: '2024-07-01T00:00:00.000Z',
758
+ order_id: 12,
759
+ 'orders.order_date': '2024-07-01T00:00:00.000Z',
760
+ product_id: '3',
761
+ vendors: [
762
+ 'flipkart'
763
+ ]
764
+ },
765
+ {
766
+ customer_id: '7',
767
+ order_amount: 100,
768
+ order_date: '2024-08-01T00:00:00.000Z',
769
+ order_id: 13,
770
+ 'orders.order_date': '2024-08-01T00:00:00.000Z',
771
+ product_id: '6',
772
+ vendors: [
773
+ "swiggy's"
774
+ ]
775
+ }
776
+ ]
777
+ }
778
+ ],
779
+ [
780
+ {
781
+ testName: 'And',
782
+ expectedSQL: `SELECT orders.* FROM (SELECT orders.order_amount AS "orders.order_amount", order_date AS "orders.order_date", * FROM (select * from orders) AS orders) AS orders WHERE (("orders.order_amount" > 50) AND (("orders.order_date" >= '2022-02-01') AND ("orders.order_date" <= '2022-06-01')))`,
783
+ cubeInput: {
784
+ measures: [
785
+ '*'
786
+ ],
787
+ filters: [
788
+ {
789
+ and: [
790
+ {
791
+ member: 'orders.order_amount',
792
+ operator: 'gt',
793
+ values: [
794
+ '50'
795
+ ]
796
+ },
797
+ {
798
+ member: 'orders.order_date',
799
+ operator: 'inDateRange',
800
+ values: [
801
+ '2022-02-01',
802
+ '2022-06-01'
803
+ ]
804
+ }
805
+ ]
806
+ }
807
+ ],
808
+ dimensions: []
809
+ },
810
+ expectedOutput: [
811
+ {
812
+ order_id: 4,
813
+ customer_id: '2',
814
+ product_id: '1',
815
+ order_date: '2022-03-01',
816
+ order_amount: 75.0,
817
+ 'orders.order_amount': 75.0,
818
+ 'orders.order_date': '2022-03-01',
819
+ vendors: [
820
+ 'flipkart'
821
+ ]
822
+ },
823
+ {
824
+ order_id: 5,
825
+ customer_id: '3',
826
+ product_id: '1',
827
+ order_date: '2022-03-02',
828
+ 'orders.order_date': '2022-03-02',
829
+ order_amount: 100.0,
830
+ 'orders.order_amount': 100.0,
831
+ vendors: [
832
+ 'myntra',
833
+ 'amazon',
834
+ 'flipkart'
835
+ ]
836
+ },
837
+ {
838
+ order_id: 7,
839
+ customer_id: '4',
840
+ product_id: '3',
841
+ order_date: '2022-05-01',
842
+ 'orders.order_date': '2022-05-01',
843
+ order_amount: 90.0,
844
+ 'orders.order_amount': 90.0,
845
+ vendors: [
846
+ 'myntra',
847
+ 'flipkart'
848
+ ]
849
+ },
850
+ {
851
+ order_id: 8,
852
+ customer_id: '5',
853
+ product_id: '1',
854
+ order_date: '2022-05-02',
855
+ 'orders.order_date': '2022-05-02',
856
+ order_amount: 65,
857
+ 'orders.order_amount': 65,
858
+ vendors: [
859
+ 'amazon',
860
+ 'flipkart'
861
+ ]
862
+ },
863
+ {
864
+ order_id: 9,
865
+ customer_id: '5',
866
+ product_id: '2',
867
+ order_date: '2022-05-05',
868
+ 'orders.order_date': '2022-05-05',
869
+ order_amount: 85.0,
870
+ 'orders.order_amount': 85.0,
871
+ vendors: []
872
+ },
873
+ {
874
+ order_id: 10,
875
+ customer_id: '6',
876
+ product_id: '3',
877
+ order_date: '2022-06-01',
878
+ 'orders.order_date': '2022-06-01',
879
+ order_amount: 120.0,
880
+ 'orders.order_amount': 120.0,
881
+ vendors: [
882
+ 'myntra',
883
+ 'amazon'
884
+ ]
885
+ }
886
+ ]
887
+ }
888
+ ],
889
+ [
890
+ {
891
+ testName: 'Set',
892
+ expectedSQL: `SELECT orders.* FROM (SELECT orders.order_amount AS "orders.order_amount", product_id AS "orders.product_id", * FROM (select * from orders) AS orders) AS orders WHERE (("orders.order_amount" IS NOT NULL) AND ("orders.product_id" = '3'))`,
893
+ cubeInput: {
894
+ measures: [
895
+ '*'
896
+ ],
897
+ filters: [
898
+ {
899
+ and: [
900
+ {
901
+ member: 'orders.order_amount',
902
+ operator: 'set'
903
+ },
904
+ {
905
+ member: 'orders.product_id',
906
+ operator: 'equals',
907
+ values: [
908
+ '3'
909
+ ]
910
+ }
911
+ ]
912
+ }
913
+ ],
914
+ dimensions: []
915
+ },
916
+ expectedOutput: [
917
+ {
918
+ customer_id: '2',
919
+ order_amount: 25,
920
+ order_date: '2022-02-01T00:00:00.000Z',
921
+ order_id: 3,
922
+ 'orders.order_amount': 25,
923
+ 'orders.order_date': undefined,
924
+ 'orders.product_id': '3',
925
+ product_id: '3',
926
+ vendors: []
927
+ },
928
+ {
929
+ customer_id: '4',
930
+ order_amount: 90,
931
+ order_date: '2022-05-01T00:00:00.000Z',
932
+ order_id: 7,
933
+ 'orders.order_amount': 90,
934
+ 'orders.order_date': undefined,
935
+ 'orders.product_id': '3',
936
+ product_id: '3',
937
+ vendors: [
938
+ 'myntra',
939
+ 'flipkart'
940
+ ]
941
+ },
942
+ {
943
+ customer_id: '6',
944
+ order_amount: 120,
945
+ order_date: '2022-06-01T00:00:00.000Z',
946
+ order_id: 10,
947
+ 'orders.order_amount': 120,
948
+ 'orders.order_date': undefined,
949
+ 'orders.product_id': '3',
950
+ product_id: '3',
951
+ vendors: [
952
+ 'myntra',
953
+ 'amazon'
954
+ ]
955
+ },
956
+ {
957
+ customer_id: '6aa6',
958
+ order_amount: 0,
959
+ order_date: '2024-06-01T00:00:00.000Z',
960
+ order_id: 11,
961
+ 'orders.order_amount': 0,
962
+ 'orders.order_date': undefined,
963
+ 'orders.product_id': '3',
964
+ product_id: '3',
965
+ vendors: [
966
+ 'amazon'
967
+ ]
968
+ },
969
+ {
970
+ customer_id: null,
971
+ order_amount: 100,
972
+ order_date: '2024-07-01T00:00:00.000Z',
973
+ order_id: 12,
974
+ 'orders.order_amount': 100,
975
+ 'orders.order_date': undefined,
976
+ 'orders.product_id': '3',
977
+ product_id: '3',
978
+ vendors: [
979
+ 'flipkart'
980
+ ]
981
+ }
982
+ ]
983
+ }
984
+ ],
985
+ [
986
+ {
987
+ testName: 'Not Set',
988
+ expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS "orders.customer_id", product_id AS "orders.product_id", * FROM (select * from orders) AS orders) AS orders WHERE (("orders.customer_id" IS NULL) AND ("orders.product_id" = '3'))`,
989
+ cubeInput: {
990
+ measures: [
991
+ '*'
992
+ ],
993
+ filters: [
994
+ {
995
+ and: [
996
+ {
997
+ member: 'orders.customer_id',
998
+ operator: 'notSet'
999
+ },
1000
+ {
1001
+ member: 'orders.product_id',
1002
+ operator: 'equals',
1003
+ values: [
1004
+ '3'
1005
+ ]
1006
+ }
1007
+ ]
1008
+ }
1009
+ ],
1010
+ dimensions: []
1011
+ },
1012
+ expectedOutput: [
1013
+ {
1014
+ 'orders.customer_id': null,
1015
+ customer_id: null,
1016
+ order_amount: 100,
1017
+ order_date: '2024-07-01T00:00:00.000Z',
1018
+ order_id: 12,
1019
+ 'orders.order_date': undefined,
1020
+ 'orders.product_id': '3',
1021
+ product_id: '3',
1022
+ vendors: [
1023
+ 'flipkart'
1024
+ ]
1025
+ }
1026
+ ]
1027
+ }
1028
+ ],
1029
+ [
1030
+ {
1031
+ testName: 'In',
1032
+ expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS "orders.customer_id", vendors AS "orders.vendors", * FROM (select * from orders) AS orders) AS orders WHERE (("orders.customer_id" IN ('1', '2')) AND ("orders.vendors" && (ARRAY['myntra', 'amazon'])))`,
1033
+ cubeInput: {
1034
+ measures: [
1035
+ '*'
1036
+ ],
1037
+ filters: [
1038
+ {
1039
+ and: [
1040
+ {
1041
+ member: 'orders.customer_id',
1042
+ operator: 'in',
1043
+ values: [
1044
+ '1',
1045
+ '2'
1046
+ ]
1047
+ },
1048
+ {
1049
+ member: 'orders.vendors',
1050
+ operator: 'in',
1051
+ values: [
1052
+ 'myntra',
1053
+ 'amazon'
1054
+ ]
1055
+ }
1056
+ ]
1057
+ }
1058
+ ],
1059
+ dimensions: []
1060
+ },
1061
+ expectedOutput: [
1062
+ {
1063
+ customer_id: '1',
1064
+ order_amount: 50,
1065
+ order_date: '2022-01-01T00:00:00.000Z',
1066
+ order_id: 1,
1067
+ 'orders.customer_id': '1',
1068
+ 'orders.order_date': undefined,
1069
+ 'orders.vendors': [
1070
+ 'myntra',
1071
+ 'amazon',
1072
+ 'flipkart'
1073
+ ],
1074
+ product_id: '1',
1075
+ vendors: [
1076
+ 'myntra',
1077
+ 'amazon',
1078
+ 'flipkart'
1079
+ ]
1080
+ },
1081
+ {
1082
+ customer_id: '1',
1083
+ order_amount: 80,
1084
+ order_date: '2022-01-02T00:00:00.000Z',
1085
+ order_id: 2,
1086
+ 'orders.customer_id': '1',
1087
+ 'orders.order_date': undefined,
1088
+ 'orders.vendors': [
1089
+ 'myntra'
1090
+ ],
1091
+ product_id: '2',
1092
+ vendors: [
1093
+ 'myntra'
1094
+ ]
1095
+ }
1096
+ ]
1097
+ },
1098
+ {
1099
+ testName: 'In with single quotes',
1100
+ expectedSQL: `SELECT orders.* FROM (SELECT vendors AS "orders.vendors", * FROM (select * from orders) AS orders) AS orders WHERE (("orders.vendors" && (ARRAY['swiggy''s'])))`,
1101
+ cubeInput: {
1102
+ measures: [
1103
+ '*'
1104
+ ],
1105
+ filters: [
1106
+ {
1107
+ and: [
1108
+ {
1109
+ member: 'orders.vendors',
1110
+ operator: 'in',
1111
+ values: [
1112
+ "swiggy's"
1113
+ ]
1114
+ }
1115
+ ]
1116
+ }
1117
+ ],
1118
+ dimensions: []
1119
+ },
1120
+ expectedOutput: [
1121
+ {
1122
+ customer_id: '7',
1123
+ order_amount: 100,
1124
+ order_date: '2024-08-01T00:00:00.000Z',
1125
+ order_id: 13,
1126
+ 'orders.order_date': undefined,
1127
+ 'orders.vendors': [
1128
+ "swiggy's"
1129
+ ],
1130
+ product_id: '6',
1131
+ vendors: [
1132
+ "swiggy's"
1133
+ ]
1134
+ }
1135
+ ]
1136
+ }
1137
+ ],
1138
+ [
1139
+ {
1140
+ testName: 'Not In',
1141
+ expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS "orders.customer_id", vendors AS "orders.vendors", * FROM (select * from orders) AS orders) AS orders WHERE (("orders.customer_id" NOT IN ('1', '2')) AND (NOT ("orders.vendors" && (ARRAY['myntra', 'flipkart']))))`,
1142
+ cubeInput: {
1143
+ measures: [
1144
+ '*'
1145
+ ],
1146
+ filters: [
1147
+ {
1148
+ and: [
1149
+ {
1150
+ member: 'orders.customer_id',
1151
+ operator: 'notIn',
1152
+ values: [
1153
+ '1',
1154
+ '2'
1155
+ ]
1156
+ },
1157
+ {
1158
+ member: 'orders.vendors',
1159
+ operator: 'notIn',
1160
+ values: [
1161
+ 'myntra',
1162
+ 'flipkart'
1163
+ ]
1164
+ }
1165
+ ]
1166
+ }
1167
+ ],
1168
+ dimensions: []
1169
+ },
1170
+ expectedOutput: [
1171
+ {
1172
+ customer_id: '4',
1173
+ order_amount: 45,
1174
+ order_date: '2022-04-01T00:00:00.000Z',
1175
+ order_id: 6,
1176
+ 'orders.customer_id': '4',
1177
+ 'orders.order_date': undefined,
1178
+ 'orders.vendors': [],
1179
+ product_id: '2',
1180
+ vendors: []
1181
+ },
1182
+ {
1183
+ customer_id: '5',
1184
+ order_amount: 85,
1185
+ order_date: '2022-05-05T00:00:00.000Z',
1186
+ order_id: 9,
1187
+ 'orders.customer_id': '5',
1188
+ 'orders.order_date': undefined,
1189
+ 'orders.vendors': [],
1190
+ product_id: '2',
1191
+ vendors: []
1192
+ },
1193
+ {
1194
+ customer_id: '6aa6',
1195
+ order_amount: 0,
1196
+ order_date: '2024-06-01T00:00:00.000Z',
1197
+ order_id: 11,
1198
+ 'orders.customer_id': '6aa6',
1199
+ 'orders.order_date': undefined,
1200
+ 'orders.vendors': [
1201
+ 'amazon'
1202
+ ],
1203
+ product_id: '3',
1204
+ vendors: [
1205
+ 'amazon'
1206
+ ]
1207
+ },
1208
+ {
1209
+ customer_id: '7',
1210
+ order_amount: 100,
1211
+ order_date: '2024-08-01T00:00:00.000Z',
1212
+ order_id: 13,
1213
+ 'orders.customer_id': '7',
1214
+ 'orders.order_date': undefined,
1215
+ 'orders.vendors': [
1216
+ "swiggy's"
1217
+ ],
1218
+ product_id: '6',
1219
+ vendors: [
1220
+ "swiggy's"
1221
+ ]
1222
+ }
1223
+ ]
1224
+ }
1225
+ ]
1226
+ ];
1227
+
1228
+ //# sourceMappingURL=with-dot-alias.js.map