@devrev/meerkat-node 0.0.99 → 0.0.101

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.
@@ -42,7 +42,8 @@ INSERT INTO orders VALUES
42
42
  (9, '5', '2', '2022-05-05', 85, []),
43
43
  (10, '6', '3', '2022-06-01', 120, ['myntra', 'amazon']),
44
44
  (11, '6aa6', '3', '2024-06-01', 0, ['amazon']),
45
- (12, NULL, '3', '2024-07-01', 100, ['flipkart']);
45
+ (12, NULL, '3', '2024-07-01', 100, ['flipkart']),
46
+ (13, '7', '6', '2024-08-01', 100, ['swiggy''s']);
46
47
  `;
47
48
  const TABLE_SCHEMA = {
48
49
  name: 'orders',
@@ -96,7 +97,7 @@ const TEST_DATA = [
96
97
  [
97
98
  {
98
99
  testName: 'GroupBySQLInnerQuery',
99
- 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`,
100
+ 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`,
100
101
  cubeInput: {
101
102
  measures: [
102
103
  'orders.total_order_amount'
@@ -118,7 +119,7 @@ const TEST_DATA = [
118
119
  [
119
120
  {
120
121
  testName: 'GroupBy',
121
- 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`,
122
+ 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`,
122
123
  cubeInput: {
123
124
  measures: [
124
125
  'orders.total_order_amount'
@@ -145,6 +146,10 @@ const TEST_DATA = [
145
146
  orders__customer_id: '3',
146
147
  orders__total_order_amount: 100
147
148
  },
149
+ {
150
+ orders__customer_id: '7',
151
+ orders__total_order_amount: 100
152
+ },
148
153
  {
149
154
  orders__customer_id: null,
150
155
  orders__total_order_amount: 100
@@ -171,7 +176,7 @@ const TEST_DATA = [
171
176
  [
172
177
  {
173
178
  testName: 'Equals',
174
- expectedSQL: `SELECT orders.* FROM (SELECT *, customer_id AS orders__customer_id FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id = '1')`,
179
+ expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS orders__customer_id, * FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id = '1')`,
175
180
  cubeInput: {
176
181
  measures: [
177
182
  '*'
@@ -216,7 +221,7 @@ const TEST_DATA = [
216
221
  },
217
222
  {
218
223
  testName: 'Equals for multiple values',
219
- 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'))`,
224
+ 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'))`,
220
225
  cubeInput: {
221
226
  measures: [
222
227
  '*'
@@ -239,7 +244,7 @@ const TEST_DATA = [
239
244
  [
240
245
  {
241
246
  testName: 'NotEquals',
242
- expectedSQL: `SELECT orders.* FROM (SELECT *, customer_id AS orders__customer_id FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id != '1')`,
247
+ expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS orders__customer_id, * FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id != '1')`,
243
248
  cubeInput: {
244
249
  measures: [
245
250
  '*'
@@ -353,6 +358,17 @@ const TEST_DATA = [
353
358
  vendors: [
354
359
  'amazon'
355
360
  ]
361
+ },
362
+ {
363
+ order_id: 13,
364
+ customer_id: '7',
365
+ orders__customer_id: '7',
366
+ product_id: '6',
367
+ order_date: '2024-08-01',
368
+ order_amount: 100.0,
369
+ vendors: [
370
+ "swiggy's"
371
+ ]
356
372
  }
357
373
  ]
358
374
  }
@@ -360,7 +376,7 @@ const TEST_DATA = [
360
376
  [
361
377
  {
362
378
  testName: 'Contains',
363
- expectedSQL: `SELECT orders.* FROM (SELECT *, customer_id AS orders__customer_id FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id ~~* '%aa%')`,
379
+ expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS orders__customer_id, * FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id ~~* '%aa%')`,
364
380
  cubeInput: {
365
381
  measures: [
366
382
  '*'
@@ -394,7 +410,7 @@ const TEST_DATA = [
394
410
  [
395
411
  {
396
412
  testName: 'NotContains',
397
- 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%'))`,
413
+ 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%'))`,
398
414
  cubeInput: {
399
415
  measures: [
400
416
  '*'
@@ -461,6 +477,18 @@ const TEST_DATA = [
461
477
  'myntra',
462
478
  'amazon'
463
479
  ]
480
+ },
481
+ {
482
+ customer_id: '7',
483
+ order_amount: 100,
484
+ order_date: '2024-08-01T00:00:00.000Z',
485
+ order_id: 13,
486
+ orders__customer_id: '7',
487
+ orders__order_date: undefined,
488
+ product_id: '6',
489
+ vendors: [
490
+ "swiggy's"
491
+ ]
464
492
  }
465
493
  ]
466
494
  }
@@ -468,7 +496,7 @@ const TEST_DATA = [
468
496
  [
469
497
  {
470
498
  testName: 'GreaterThan',
471
- 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)`,
499
+ 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)`,
472
500
  cubeInput: {
473
501
  measures: [
474
502
  '*'
@@ -576,6 +604,18 @@ const TEST_DATA = [
576
604
  vendors: [
577
605
  'flipkart'
578
606
  ]
607
+ },
608
+ {
609
+ customer_id: '7',
610
+ order_amount: 100,
611
+ order_date: '2024-08-01T00:00:00.000Z',
612
+ order_id: 13,
613
+ orders__order_amount: 100,
614
+ orders__order_date: undefined,
615
+ product_id: '6',
616
+ vendors: [
617
+ "swiggy's"
618
+ ]
579
619
  }
580
620
  ]
581
621
  }
@@ -583,7 +623,7 @@ const TEST_DATA = [
583
623
  [
584
624
  {
585
625
  testName: 'LessThan',
586
- 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)`,
626
+ 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)`,
587
627
  cubeInput: {
588
628
  measures: [
589
629
  '*'
@@ -635,7 +675,7 @@ const TEST_DATA = [
635
675
  [
636
676
  {
637
677
  testName: 'InDateRange',
638
- 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'))`,
678
+ 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'))`,
639
679
  cubeInput: {
640
680
  measures: [
641
681
  '*'
@@ -692,7 +732,7 @@ const TEST_DATA = [
692
732
  [
693
733
  {
694
734
  testName: 'NotInDateRange',
695
- 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'))`,
735
+ 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'))`,
696
736
  cubeInput: {
697
737
  measures: [
698
738
  '*'
@@ -809,6 +849,17 @@ const TEST_DATA = [
809
849
  vendors: [
810
850
  'flipkart'
811
851
  ]
852
+ },
853
+ {
854
+ customer_id: '7',
855
+ order_amount: 100,
856
+ order_date: '2024-08-01T00:00:00.000Z',
857
+ order_id: 13,
858
+ orders__order_date: '2024-08-01T00:00:00.000Z',
859
+ product_id: '6',
860
+ vendors: [
861
+ "swiggy's"
862
+ ]
812
863
  }
813
864
  ]
814
865
  }
@@ -884,7 +935,7 @@ const TEST_DATA = [
884
935
  [
885
936
  {
886
937
  testName: 'And',
887
- 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')))`,
938
+ 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')))`,
888
939
  cubeInput: {
889
940
  measures: [
890
941
  '*'
@@ -994,7 +1045,7 @@ const TEST_DATA = [
994
1045
  [
995
1046
  {
996
1047
  testName: 'Set',
997
- 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'))`,
1048
+ 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'))`,
998
1049
  cubeInput: {
999
1050
  measures: [
1000
1051
  '*'
@@ -1090,7 +1141,7 @@ const TEST_DATA = [
1090
1141
  [
1091
1142
  {
1092
1143
  testName: 'Not Set',
1093
- 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'))`,
1144
+ 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'))`,
1094
1145
  cubeInput: {
1095
1146
  measures: [
1096
1147
  '*'
@@ -1134,7 +1185,7 @@ const TEST_DATA = [
1134
1185
  [
1135
1186
  {
1136
1187
  testName: 'In',
1137
- 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'])))`,
1188
+ 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'])))`,
1138
1189
  cubeInput: {
1139
1190
  measures: [
1140
1191
  '*'
@@ -1199,12 +1250,51 @@ const TEST_DATA = [
1199
1250
  ]
1200
1251
  }
1201
1252
  ]
1253
+ },
1254
+ {
1255
+ testName: 'In with single quotes',
1256
+ expectedSQL: `SELECT orders.* FROM (SELECT vendors AS orders__vendors, * FROM (select * from orders) AS orders) AS orders WHERE ((orders__vendors && (ARRAY['swiggy''s'])))`,
1257
+ cubeInput: {
1258
+ measures: [
1259
+ '*'
1260
+ ],
1261
+ filters: [
1262
+ {
1263
+ and: [
1264
+ {
1265
+ member: 'orders.vendors',
1266
+ operator: 'in',
1267
+ values: [
1268
+ "swiggy's"
1269
+ ]
1270
+ }
1271
+ ]
1272
+ }
1273
+ ],
1274
+ dimensions: []
1275
+ },
1276
+ expectedOutput: [
1277
+ {
1278
+ customer_id: '7',
1279
+ order_amount: 100,
1280
+ order_date: '2024-08-01T00:00:00.000Z',
1281
+ order_id: 13,
1282
+ orders__order_date: undefined,
1283
+ orders__vendors: [
1284
+ "swiggy's"
1285
+ ],
1286
+ product_id: '6',
1287
+ vendors: [
1288
+ "swiggy's"
1289
+ ]
1290
+ }
1291
+ ]
1202
1292
  }
1203
1293
  ],
1204
1294
  [
1205
1295
  {
1206
1296
  testName: 'Not In',
1207
- 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']))))`,
1297
+ 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']))))`,
1208
1298
  cubeInput: {
1209
1299
  measures: [
1210
1300
  '*'
@@ -1270,6 +1360,21 @@ const TEST_DATA = [
1270
1360
  vendors: [
1271
1361
  'amazon'
1272
1362
  ]
1363
+ },
1364
+ {
1365
+ customer_id: '7',
1366
+ order_amount: 100,
1367
+ order_date: '2024-08-01T00:00:00.000Z',
1368
+ order_id: 13,
1369
+ orders__customer_id: '7',
1370
+ orders__order_date: undefined,
1371
+ orders__vendors: [
1372
+ "swiggy's"
1373
+ ],
1374
+ product_id: '6',
1375
+ vendors: [
1376
+ "swiggy's"
1377
+ ]
1273
1378
  }
1274
1379
  ]
1275
1380
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../meerkat-node/src/__tests__/test-data.ts"],"sourcesContent":["export const CREATE_TEST_TABLE = `\nCREATE TABLE orders (\n order_id INTEGER,\n customer_id VARCHAR,\n product_id VARCHAR,\n order_date DATE,\n order_amount FLOAT,\n vendors VARCHAR[]\n);\n`;\n\nexport const INPUT_DATA_QUERY = `\nINSERT INTO orders VALUES\n(1, '1', '1', '2022-01-01', 50, ['myntra', 'amazon', 'flipkart']),\n(2, '1', '2', '2022-01-02', 80, ['myntra']),\n(3, '2', '3', '2022-02-01', 25, []),\n(4, '2', '1', '2022-03-01', 75, ['flipkart']),\n(5, '3', '1', '2022-03-02', 100, ['myntra', 'amazon', 'flipkart']),\n(6, '4', '2', '2022-04-01', 45, []),\n(7, '4', '3', '2022-05-01', 90, ['myntra', 'flipkart']),\n(8, '5', '1', '2022-05-02', 65, ['amazon', 'flipkart']),\n(9, '5', '2', '2022-05-05', 85, []),\n(10, '6', '3', '2022-06-01', 120, ['myntra', 'amazon']),\n(11, '6aa6', '3', '2024-06-01', 0, ['amazon']),\n(12, NULL, '3', '2024-07-01', 100, ['flipkart']);\n`;\n\nexport const TABLE_SCHEMA = {\n name: 'orders',\n sql: 'select * from orders',\n measures: [\n {\n name: 'order_amount',\n sql: 'order_amount',\n type: 'number',\n },\n {\n name: 'total_order_amount',\n sql: 'SUM(order_amount)',\n type: 'number',\n },\n ],\n dimensions: [\n {\n name: 'order_date',\n sql: 'order_date',\n type: 'time',\n },\n {\n name: 'order_id',\n sql: 'order_id',\n type: 'number',\n },\n {\n name: 'customer_id',\n sql: 'customer_id',\n type: 'string',\n },\n {\n name: 'product_id',\n sql: 'product_id',\n type: 'string',\n },\n {\n name: 'order_month',\n sql: `DATE_TRUNC('month', order_date)`,\n type: 'string',\n },\n {\n name: 'vendors',\n sql: 'vendors',\n type: 'string_array',\n },\n ],\n};\n\nexport const TEST_DATA = [\n [\n {\n testName: 'GroupBySQLInnerQuery',\n 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`,\n cubeInput: {\n measures: ['orders.total_order_amount'],\n filters: [],\n dimensions: ['orders.order_month'],\n limit: 1,\n },\n expectedOutput: [\n {\n orders__order_month: '2022-01-01T00:00:00.000Z',\n orders__total_order_amount: 130,\n },\n ],\n },\n ],\n [\n {\n testName: 'GroupBy',\n 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`,\n cubeInput: {\n measures: ['orders.total_order_amount'],\n filters: [],\n dimensions: ['orders.customer_id'],\n order: {\n 'orders.total_order_amount': 'asc',\n 'orders.customer_id': 'asc',\n },\n },\n expectedOutput: [\n {\n orders__customer_id: '6aa6',\n orders__total_order_amount: 0,\n },\n {\n orders__customer_id: '2',\n orders__total_order_amount: 100,\n },\n {\n orders__customer_id: '3',\n orders__total_order_amount: 100,\n },\n {\n orders__customer_id: null,\n orders__total_order_amount: 100,\n },\n {\n orders__customer_id: '6',\n orders__total_order_amount: 120,\n },\n {\n orders__customer_id: '1',\n orders__total_order_amount: 130,\n },\n {\n orders__customer_id: '4',\n orders__total_order_amount: 135,\n },\n {\n orders__customer_id: '5',\n orders__total_order_amount: 150,\n },\n ],\n },\n ],\n [\n {\n testName: 'Equals',\n expectedSQL: `SELECT orders.* FROM (SELECT *, customer_id AS orders__customer_id FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id = '1')`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.customer_id',\n operator: 'equals',\n values: ['1'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 1,\n customer_id: '1',\n orders__customer_id: '1',\n product_id: '1',\n order_date: '2022-01-01',\n order_amount: 50.0,\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n {\n order_id: 2,\n customer_id: '1',\n orders__customer_id: '1',\n product_id: '2',\n order_date: '2022-01-02',\n order_amount: 80.0,\n vendors: ['myntra'],\n },\n ],\n },\n {\n testName: 'Equals for multiple values',\n 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'))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.customer_id',\n operator: 'equals',\n values: ['1', '2'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [],\n },\n ],\n [\n {\n testName: 'NotEquals',\n expectedSQL: `SELECT orders.* FROM (SELECT *, customer_id AS orders__customer_id FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id != '1')`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.customer_id',\n operator: 'notEquals',\n values: ['1'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 3,\n customer_id: '2',\n orders__customer_id: '2',\n product_id: '3',\n order_date: '2022-02-01',\n order_amount: 25.0,\n vendors: [],\n },\n {\n order_id: 4,\n customer_id: '2',\n orders__customer_id: '2',\n product_id: '1',\n order_date: '2022-03-01',\n order_amount: 75.0,\n vendors: ['flipkart'],\n },\n {\n order_id: 5,\n customer_id: '3',\n orders__customer_id: '3',\n product_id: '1',\n order_date: '2022-03-02',\n order_amount: 100.0,\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n {\n order_id: 6,\n customer_id: '4',\n orders__customer_id: '4',\n product_id: '2',\n order_date: '2022-04-01',\n order_amount: 45.0,\n vendors: [],\n },\n {\n order_id: 7,\n customer_id: '4',\n orders__customer_id: '4',\n product_id: '3',\n order_date: '2022-05-01',\n order_amount: 90.0,\n vendors: ['myntra', 'flipkart'],\n },\n {\n order_id: 8,\n customer_id: '5',\n orders__customer_id: '5',\n product_id: '1',\n order_date: '2022-05-02',\n order_amount: 65.0,\n vendors: ['amazon', 'flipkart'],\n },\n {\n order_id: 9,\n customer_id: '5',\n orders__customer_id: '5',\n product_id: '2',\n order_date: '2022-05-05',\n order_amount: 85.0,\n vendors: [],\n },\n {\n order_id: 10,\n customer_id: '6',\n orders__customer_id: '6',\n product_id: '3',\n order_date: '2022-06-01',\n order_amount: 120.0,\n vendors: ['myntra', 'amazon'],\n },\n {\n order_id: 11,\n customer_id: '6aa6',\n orders__customer_id: '6aa6',\n product_id: '3',\n order_date: '2024-06-01',\n order_amount: 0.0,\n vendors: ['amazon'],\n },\n ],\n },\n ],\n [\n {\n testName: 'Contains',\n expectedSQL: `SELECT orders.* FROM (SELECT *, customer_id AS orders__customer_id FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id ~~* '%aa%')`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.customer_id',\n operator: 'contains',\n values: ['aa'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 11,\n customer_id: '6aa6',\n orders__customer_id: '6aa6',\n product_id: '3',\n order_date: '2024-06-01',\n order_amount: 0.0,\n vendors: ['amazon'],\n },\n ],\n },\n ],\n [\n {\n testName: 'NotContains',\n 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%'))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n and: [\n {\n member: 'orders.customer_id',\n operator: 'notContains',\n values: ['1'],\n },\n {\n member: 'orders.customer_id',\n operator: 'notContains',\n values: ['2'],\n },\n {\n member: 'orders.customer_id',\n operator: 'notContains',\n values: ['3'],\n },\n {\n member: 'orders.customer_id',\n operator: 'notContains',\n values: ['4'],\n },\n {\n member: 'orders.customer_id',\n operator: 'notContains',\n values: ['5'],\n },\n {\n member: 'orders.customer_id',\n operator: 'notContains',\n values: ['aa'],\n },\n ],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 10,\n customer_id: '6',\n orders__customer_id: '6',\n product_id: '3',\n order_date: '2022-06-01',\n order_amount: 120,\n vendors: ['myntra', 'amazon'],\n },\n ],\n },\n ],\n [\n {\n testName: 'GreaterThan',\n 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)`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.order_amount',\n operator: 'gt',\n values: ['50'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 2,\n customer_id: '1',\n product_id: '2',\n order_date: '2022-01-02',\n order_amount: 80.0,\n orders__order_amount: 80.0,\n vendors: ['myntra'],\n },\n {\n order_id: 4,\n customer_id: '2',\n product_id: '1',\n order_date: '2022-03-01',\n order_amount: 75.0,\n orders__order_amount: 75.0,\n vendors: ['flipkart'],\n },\n {\n order_id: 5,\n customer_id: '3',\n product_id: '1',\n order_date: '2022-03-02',\n order_amount: 100.0,\n orders__order_amount: 100.0,\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n {\n order_id: 7,\n customer_id: '4',\n product_id: '3',\n order_date: '2022-05-01',\n order_amount: 90.0,\n orders__order_amount: 90.0,\n vendors: ['myntra', 'flipkart'],\n },\n {\n order_id: 8,\n customer_id: '5',\n product_id: '1',\n order_date: '2022-05-02',\n order_amount: 65.0,\n orders__order_amount: 65.0,\n vendors: ['amazon', 'flipkart'],\n },\n {\n order_id: 9,\n customer_id: '5',\n product_id: '2',\n order_date: '2022-05-05',\n order_amount: 85.0,\n orders__order_amount: 85.0,\n vendors: [],\n },\n {\n order_id: 10,\n customer_id: '6',\n product_id: '3',\n order_date: '2022-06-01',\n order_amount: 120.0,\n orders__order_amount: 120.0,\n vendors: ['myntra', 'amazon'],\n },\n {\n customer_id: null,\n order_amount: 100,\n order_date: '2024-07-01T00:00:00.000Z',\n order_id: 12,\n orders__order_amount: 100,\n orders__order_date: undefined,\n product_id: '3',\n vendors: ['flipkart'],\n },\n ],\n },\n ],\n [\n {\n testName: 'LessThan',\n 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)`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.order_amount',\n operator: 'lt',\n values: ['50'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 3,\n customer_id: '2',\n product_id: '3',\n order_date: '2022-02-01',\n order_amount: 25.0,\n orders__order_amount: 25.0,\n vendors: [],\n },\n {\n order_id: 6,\n customer_id: '4',\n product_id: '2',\n order_date: '2022-04-01',\n order_amount: 45.0,\n orders__order_amount: 45.0,\n vendors: [],\n },\n {\n order_id: 11,\n customer_id: '6aa6',\n product_id: '3',\n order_date: '2024-06-01',\n order_amount: 0.0,\n orders__order_amount: 0.0,\n vendors: ['amazon'],\n },\n ],\n },\n ],\n [\n {\n testName: 'InDateRange',\n 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'))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.order_date',\n operator: 'inDateRange',\n values: ['2022-02-01', '2022-03-31'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 3,\n customer_id: '2',\n product_id: '3',\n order_date: '2022-02-01',\n orders__order_date: '2022-02-01',\n order_amount: 25.0,\n vendors: [],\n },\n {\n order_id: 4,\n customer_id: '2',\n product_id: '1',\n order_date: '2022-03-01',\n orders__order_date: '2022-03-01',\n order_amount: 75.0,\n vendors: ['flipkart'],\n },\n {\n order_id: 5,\n customer_id: '3',\n product_id: '1',\n order_date: '2022-03-02',\n orders__order_date: '2022-03-02',\n order_amount: 100.0,\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n ],\n },\n ],\n [\n {\n testName: 'NotInDateRange',\n 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'))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.order_date',\n operator: 'notInDateRange',\n values: ['2022-02-01', '2022-03-31'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 1,\n customer_id: '1',\n product_id: '1',\n order_date: '2022-01-01',\n order_amount: 50.0,\n orders__order_date: '2022-01-01',\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n {\n order_id: 2,\n customer_id: '1',\n product_id: '2',\n order_date: '2022-01-02',\n order_amount: 80.0,\n orders__order_date: '2022-01-02',\n vendors: ['myntra'],\n },\n {\n order_id: 6,\n customer_id: '4',\n product_id: '2',\n order_date: '2022-04-01',\n orders__order_date: '2022-04-01',\n order_amount: 45.0,\n vendors: [],\n },\n {\n order_id: 7,\n customer_id: '4',\n product_id: '3',\n order_date: '2022-05-01',\n orders__order_date: '2022-05-01',\n order_amount: 90.0,\n vendors: ['myntra', 'flipkart'],\n },\n {\n order_id: 8,\n customer_id: '5',\n product_id: '1',\n order_date: '2022-05-02',\n orders__order_date: '2022-05-02',\n order_amount: 65.0,\n vendors: ['amazon', 'flipkart'],\n },\n {\n order_id: 9,\n customer_id: '5',\n product_id: '2',\n order_date: '2022-05-05',\n orders__order_date: '2022-05-05',\n order_amount: 85.0,\n vendors: [],\n },\n {\n order_id: 10,\n customer_id: '6',\n product_id: '3',\n order_date: '2022-06-01',\n orders__order_date: '2022-06-01',\n order_amount: 120.0,\n vendors: ['myntra', 'amazon'],\n },\n {\n order_id: 11,\n customer_id: '6aa6',\n product_id: '3',\n order_date: '2024-06-01',\n orders__order_date: '2024-06-01',\n order_amount: 0.0,\n vendors: ['amazon'],\n },\n {\n customer_id: null,\n order_amount: 100,\n order_date: '2024-07-01T00:00:00.000Z',\n order_id: 12,\n orders__order_date: '2024-07-01T00:00:00.000Z',\n product_id: '3',\n vendors: ['flipkart'],\n },\n ],\n },\n ],\n // {\n // testName: 'Or',\n // expectedSQL: `SELECT orders.* FROM (select * from orders) AS orders WHERE ((orders.order_amount > 80) OR ((orders.order_date >= '2022-02-01') AND (orders.order_date <= '2022-03-01')))`,\n // cubeInput: {\n // measures: ['*'],\n // filters: [\n // {\n // or: [\n // {\n // member: 'orders.order_amount',\n // operator: 'gt',\n // values: ['80'],\n // },\n // {\n // member: 'orders.order_date',\n // operator: 'inDateRange',\n // values: ['2022-02-01', '2022-03-01'],\n // },\n // ],\n // },\n // ],\n // dimensions: [],\n // },\n // expectedOutput: [\n // {\n // order_id: 3,\n // customer_id: '2',\n // product_id: '3',\n // order_date: '2022-02-01',\n // order_amount: 25.0,\n // },\n // {\n // order_id: 4,\n // customer_id: '2',\n // product_id: '1',\n // order_date: '2022-03-01',\n // order_amount: 75.0,\n // },\n // {\n // order_id: 5,\n // customer_id: '3',\n // product_id: '1',\n // order_date: '2022-03-02',\n // order_amount: 100.0,\n // },\n // {\n // order_id: 7,\n // customer_id: '4',\n // product_id: '3',\n // order_date: '2022-05-01',\n // order_amount: 90.0,\n // },\n // {\n // order_id: 9,\n // customer_id: '5',\n // product_id: '2',\n // order_date: '2022-05-05',\n // order_amount: 85.0,\n // },\n // {\n // order_id: 10,\n // customer_id: '6',\n // product_id: '3',\n // order_date: '2022-06-01',\n // order_amount: 120.0,\n // },\n // ],\n // },\n [\n {\n testName: 'And',\n 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')))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n and: [\n {\n member: 'orders.order_amount',\n operator: 'gt',\n values: ['50'],\n },\n {\n member: 'orders.order_date',\n operator: 'inDateRange',\n values: ['2022-02-01', '2022-06-01'],\n },\n ],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 4,\n customer_id: '2',\n product_id: '1',\n order_date: '2022-03-01',\n order_amount: 75.0,\n orders__order_amount: 75.0,\n orders__order_date: '2022-03-01',\n vendors: ['flipkart'],\n },\n {\n order_id: 5,\n customer_id: '3',\n product_id: '1',\n order_date: '2022-03-02',\n orders__order_date: '2022-03-02',\n order_amount: 100.0,\n orders__order_amount: 100.0,\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n {\n order_id: 7,\n customer_id: '4',\n product_id: '3',\n order_date: '2022-05-01',\n orders__order_date: '2022-05-01',\n order_amount: 90.0,\n orders__order_amount: 90.0,\n vendors: ['myntra', 'flipkart'],\n },\n {\n order_id: 8,\n customer_id: '5',\n product_id: '1',\n order_date: '2022-05-02',\n orders__order_date: '2022-05-02',\n order_amount: 65,\n orders__order_amount: 65,\n vendors: ['amazon', 'flipkart'],\n },\n {\n order_id: 9,\n customer_id: '5',\n product_id: '2',\n order_date: '2022-05-05',\n orders__order_date: '2022-05-05',\n order_amount: 85.0,\n orders__order_amount: 85.0,\n vendors: [],\n },\n {\n order_id: 10,\n customer_id: '6',\n product_id: '3',\n order_date: '2022-06-01',\n orders__order_date: '2022-06-01',\n order_amount: 120.0,\n orders__order_amount: 120.0,\n vendors: ['myntra', 'amazon'],\n },\n ],\n },\n ],\n [\n {\n testName: 'Set',\n 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'))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n and: [\n {\n member: 'orders.order_amount',\n operator: 'set',\n },\n {\n member: 'orders.product_id',\n operator: 'equals',\n values: ['3'],\n },\n ],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n customer_id: '2',\n order_amount: 25,\n order_date: '2022-02-01T00:00:00.000Z',\n order_id: 3,\n orders__order_amount: 25,\n orders__order_date: undefined,\n orders__product_id: '3',\n product_id: '3',\n vendors: [],\n },\n {\n customer_id: '4',\n order_amount: 90,\n order_date: '2022-05-01T00:00:00.000Z',\n order_id: 7,\n orders__order_amount: 90,\n orders__order_date: undefined,\n orders__product_id: '3',\n product_id: '3',\n vendors: ['myntra', 'flipkart'],\n },\n {\n customer_id: '6',\n order_amount: 120,\n order_date: '2022-06-01T00:00:00.000Z',\n order_id: 10,\n orders__order_amount: 120,\n orders__order_date: undefined,\n orders__product_id: '3',\n product_id: '3',\n vendors: ['myntra', 'amazon'],\n },\n {\n customer_id: '6aa6',\n order_amount: 0,\n order_date: '2024-06-01T00:00:00.000Z',\n order_id: 11,\n orders__order_amount: 0,\n orders__order_date: undefined,\n orders__product_id: '3',\n product_id: '3',\n vendors: ['amazon'],\n },\n {\n customer_id: null,\n order_amount: 100,\n order_date: '2024-07-01T00:00:00.000Z',\n order_id: 12,\n orders__order_amount: 100,\n orders__order_date: undefined,\n orders__product_id: '3',\n product_id: '3',\n vendors: ['flipkart'],\n },\n ],\n },\n ],\n [\n {\n testName: 'Not Set',\n 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'))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n and: [\n {\n member: 'orders.customer_id',\n operator: 'notSet',\n },\n {\n member: 'orders.product_id',\n operator: 'equals',\n values: ['3'],\n },\n ],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n orders__customer_id: null,\n customer_id: null,\n order_amount: 100,\n order_date: '2024-07-01T00:00:00.000Z',\n order_id: 12,\n orders__order_date: undefined,\n orders__product_id: '3',\n product_id: '3',\n vendors: ['flipkart'],\n },\n ],\n },\n ],\n [\n {\n testName: 'In',\n 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'])))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n and: [\n {\n member: 'orders.customer_id',\n operator: 'in',\n values: ['1', '2'],\n },\n {\n member: 'orders.vendors',\n operator: 'in',\n values: ['myntra', 'amazon'],\n },\n ],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n customer_id: '1',\n order_amount: 50,\n order_date: '2022-01-01T00:00:00.000Z',\n order_id: 1,\n orders__customer_id: '1',\n orders__order_date: undefined,\n orders__vendors: ['myntra', 'amazon', 'flipkart'],\n product_id: '1',\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n {\n customer_id: '1',\n order_amount: 80,\n order_date: '2022-01-02T00:00:00.000Z',\n order_id: 2,\n orders__customer_id: '1',\n orders__order_date: undefined,\n orders__vendors: ['myntra'],\n product_id: '2',\n vendors: ['myntra'],\n },\n ],\n },\n ],\n [\n {\n testName: 'Not In',\n 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']))))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n and: [\n {\n member: 'orders.customer_id',\n operator: 'notIn',\n values: ['1', '2'],\n },\n {\n member: 'orders.vendors',\n operator: 'notIn',\n values: ['myntra', 'flipkart'],\n },\n ],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n customer_id: '4',\n order_amount: 45,\n order_date: '2022-04-01T00:00:00.000Z',\n order_id: 6,\n orders__customer_id: '4',\n orders__order_date: undefined,\n orders__vendors: [],\n product_id: '2',\n vendors: [],\n },\n {\n customer_id: '5',\n order_amount: 85,\n order_date: '2022-05-05T00:00:00.000Z',\n order_id: 9,\n orders__customer_id: '5',\n orders__order_date: undefined,\n orders__vendors: [],\n product_id: '2',\n vendors: [],\n },\n {\n customer_id: '6aa6',\n order_amount: 0,\n order_date: '2024-06-01T00:00:00.000Z',\n order_id: 11,\n orders__customer_id: '6aa6',\n orders__order_date: undefined,\n orders__vendors: ['amazon'],\n product_id: '3',\n vendors: ['amazon'],\n },\n ],\n },\n ],\n];\n"],"names":["CREATE_TEST_TABLE","INPUT_DATA_QUERY","TABLE_SCHEMA","TEST_DATA","name","sql","measures","type","dimensions","testName","expectedSQL","cubeInput","filters","limit","expectedOutput","orders__order_month","orders__total_order_amount","order","orders__customer_id","member","operator","values","order_id","customer_id","product_id","order_date","order_amount","vendors","and","orders__order_amount","orders__order_date","undefined","orders__product_id","orders__vendors"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../meerkat-node/src/__tests__/test-data.ts"],"sourcesContent":["export const CREATE_TEST_TABLE = `\nCREATE TABLE orders (\n order_id INTEGER,\n customer_id VARCHAR,\n product_id VARCHAR,\n order_date DATE,\n order_amount FLOAT,\n vendors VARCHAR[]\n);\n`;\n\nexport const INPUT_DATA_QUERY = `\nINSERT INTO orders VALUES\n(1, '1', '1', '2022-01-01', 50, ['myntra', 'amazon', 'flipkart']),\n(2, '1', '2', '2022-01-02', 80, ['myntra']),\n(3, '2', '3', '2022-02-01', 25, []),\n(4, '2', '1', '2022-03-01', 75, ['flipkart']),\n(5, '3', '1', '2022-03-02', 100, ['myntra', 'amazon', 'flipkart']),\n(6, '4', '2', '2022-04-01', 45, []),\n(7, '4', '3', '2022-05-01', 90, ['myntra', 'flipkart']),\n(8, '5', '1', '2022-05-02', 65, ['amazon', 'flipkart']),\n(9, '5', '2', '2022-05-05', 85, []),\n(10, '6', '3', '2022-06-01', 120, ['myntra', 'amazon']),\n(11, '6aa6', '3', '2024-06-01', 0, ['amazon']),\n(12, NULL, '3', '2024-07-01', 100, ['flipkart']),\n(13, '7', '6', '2024-08-01', 100, ['swiggy''s']);\n`;\n\nexport const TABLE_SCHEMA = {\n name: 'orders',\n sql: 'select * from orders',\n measures: [\n {\n name: 'order_amount',\n sql: 'order_amount',\n type: 'number',\n },\n {\n name: 'total_order_amount',\n sql: 'SUM(order_amount)',\n type: 'number',\n },\n ],\n dimensions: [\n {\n name: 'order_date',\n sql: 'order_date',\n type: 'time',\n },\n {\n name: 'order_id',\n sql: 'order_id',\n type: 'number',\n },\n {\n name: 'customer_id',\n sql: 'customer_id',\n type: 'string',\n },\n {\n name: 'product_id',\n sql: 'product_id',\n type: 'string',\n },\n {\n name: 'order_month',\n sql: `DATE_TRUNC('month', order_date)`,\n type: 'string',\n },\n {\n name: 'vendors',\n sql: 'vendors',\n type: 'string_array',\n },\n ],\n};\n\nexport const TEST_DATA = [\n [\n {\n testName: 'GroupBySQLInnerQuery',\n 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`,\n cubeInput: {\n measures: ['orders.total_order_amount'],\n filters: [],\n dimensions: ['orders.order_month'],\n limit: 1,\n },\n expectedOutput: [\n {\n orders__order_month: '2022-01-01T00:00:00.000Z',\n orders__total_order_amount: 130,\n },\n ],\n },\n ],\n [\n {\n testName: 'GroupBy',\n 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`,\n cubeInput: {\n measures: ['orders.total_order_amount'],\n filters: [],\n dimensions: ['orders.customer_id'],\n order: {\n 'orders.total_order_amount': 'asc',\n 'orders.customer_id': 'asc',\n },\n },\n expectedOutput: [\n {\n orders__customer_id: '6aa6',\n orders__total_order_amount: 0,\n },\n {\n orders__customer_id: '2',\n orders__total_order_amount: 100,\n },\n {\n orders__customer_id: '3',\n orders__total_order_amount: 100,\n },\n {\n orders__customer_id: '7',\n orders__total_order_amount: 100,\n },\n {\n orders__customer_id: null,\n orders__total_order_amount: 100,\n },\n {\n orders__customer_id: '6',\n orders__total_order_amount: 120,\n },\n {\n orders__customer_id: '1',\n orders__total_order_amount: 130,\n },\n {\n orders__customer_id: '4',\n orders__total_order_amount: 135,\n },\n {\n orders__customer_id: '5',\n orders__total_order_amount: 150,\n },\n ],\n },\n ],\n [\n {\n testName: 'Equals',\n expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS orders__customer_id, * FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id = '1')`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.customer_id',\n operator: 'equals',\n values: ['1'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 1,\n customer_id: '1',\n orders__customer_id: '1',\n product_id: '1',\n order_date: '2022-01-01',\n order_amount: 50.0,\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n {\n order_id: 2,\n customer_id: '1',\n orders__customer_id: '1',\n product_id: '2',\n order_date: '2022-01-02',\n order_amount: 80.0,\n vendors: ['myntra'],\n },\n ],\n },\n {\n testName: 'Equals for multiple values',\n 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'))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.customer_id',\n operator: 'equals',\n values: ['1', '2'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [],\n },\n ],\n [\n {\n testName: 'NotEquals',\n expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS orders__customer_id, * FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id != '1')`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.customer_id',\n operator: 'notEquals',\n values: ['1'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 3,\n customer_id: '2',\n orders__customer_id: '2',\n product_id: '3',\n order_date: '2022-02-01',\n order_amount: 25.0,\n vendors: [],\n },\n {\n order_id: 4,\n customer_id: '2',\n orders__customer_id: '2',\n product_id: '1',\n order_date: '2022-03-01',\n order_amount: 75.0,\n vendors: ['flipkart'],\n },\n {\n order_id: 5,\n customer_id: '3',\n orders__customer_id: '3',\n product_id: '1',\n order_date: '2022-03-02',\n order_amount: 100.0,\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n {\n order_id: 6,\n customer_id: '4',\n orders__customer_id: '4',\n product_id: '2',\n order_date: '2022-04-01',\n order_amount: 45.0,\n vendors: [],\n },\n {\n order_id: 7,\n customer_id: '4',\n orders__customer_id: '4',\n product_id: '3',\n order_date: '2022-05-01',\n order_amount: 90.0,\n vendors: ['myntra', 'flipkart'],\n },\n {\n order_id: 8,\n customer_id: '5',\n orders__customer_id: '5',\n product_id: '1',\n order_date: '2022-05-02',\n order_amount: 65.0,\n vendors: ['amazon', 'flipkart'],\n },\n {\n order_id: 9,\n customer_id: '5',\n orders__customer_id: '5',\n product_id: '2',\n order_date: '2022-05-05',\n order_amount: 85.0,\n vendors: [],\n },\n {\n order_id: 10,\n customer_id: '6',\n orders__customer_id: '6',\n product_id: '3',\n order_date: '2022-06-01',\n order_amount: 120.0,\n vendors: ['myntra', 'amazon'],\n },\n {\n order_id: 11,\n customer_id: '6aa6',\n orders__customer_id: '6aa6',\n product_id: '3',\n order_date: '2024-06-01',\n order_amount: 0.0,\n vendors: ['amazon'],\n },\n {\n order_id: 13,\n customer_id: '7',\n orders__customer_id: '7',\n product_id: '6',\n order_date: '2024-08-01',\n order_amount: 100.0,\n vendors: [\"swiggy's\"],\n },\n ],\n },\n ],\n [\n {\n testName: 'Contains',\n expectedSQL: `SELECT orders.* FROM (SELECT customer_id AS orders__customer_id, * FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id ~~* '%aa%')`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.customer_id',\n operator: 'contains',\n values: ['aa'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 11,\n customer_id: '6aa6',\n orders__customer_id: '6aa6',\n product_id: '3',\n order_date: '2024-06-01',\n order_amount: 0.0,\n vendors: ['amazon'],\n },\n ],\n },\n ],\n [\n {\n testName: 'NotContains',\n 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%'))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n and: [\n {\n member: 'orders.customer_id',\n operator: 'notContains',\n values: ['1'],\n },\n {\n member: 'orders.customer_id',\n operator: 'notContains',\n values: ['2'],\n },\n {\n member: 'orders.customer_id',\n operator: 'notContains',\n values: ['3'],\n },\n {\n member: 'orders.customer_id',\n operator: 'notContains',\n values: ['4'],\n },\n {\n member: 'orders.customer_id',\n operator: 'notContains',\n values: ['5'],\n },\n {\n member: 'orders.customer_id',\n operator: 'notContains',\n values: ['aa'],\n },\n ],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 10,\n customer_id: '6',\n orders__customer_id: '6',\n product_id: '3',\n order_date: '2022-06-01',\n order_amount: 120,\n vendors: ['myntra', 'amazon'],\n },\n {\n customer_id: '7',\n order_amount: 100,\n order_date: '2024-08-01T00:00:00.000Z',\n order_id: 13,\n orders__customer_id: '7',\n orders__order_date: undefined,\n product_id: '6',\n vendors: [\"swiggy's\"],\n },\n ],\n },\n ],\n [\n {\n testName: 'GreaterThan',\n 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)`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.order_amount',\n operator: 'gt',\n values: ['50'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 2,\n customer_id: '1',\n product_id: '2',\n order_date: '2022-01-02',\n order_amount: 80.0,\n orders__order_amount: 80.0,\n vendors: ['myntra'],\n },\n {\n order_id: 4,\n customer_id: '2',\n product_id: '1',\n order_date: '2022-03-01',\n order_amount: 75.0,\n orders__order_amount: 75.0,\n vendors: ['flipkart'],\n },\n {\n order_id: 5,\n customer_id: '3',\n product_id: '1',\n order_date: '2022-03-02',\n order_amount: 100.0,\n orders__order_amount: 100.0,\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n {\n order_id: 7,\n customer_id: '4',\n product_id: '3',\n order_date: '2022-05-01',\n order_amount: 90.0,\n orders__order_amount: 90.0,\n vendors: ['myntra', 'flipkart'],\n },\n {\n order_id: 8,\n customer_id: '5',\n product_id: '1',\n order_date: '2022-05-02',\n order_amount: 65.0,\n orders__order_amount: 65.0,\n vendors: ['amazon', 'flipkart'],\n },\n {\n order_id: 9,\n customer_id: '5',\n product_id: '2',\n order_date: '2022-05-05',\n order_amount: 85.0,\n orders__order_amount: 85.0,\n vendors: [],\n },\n {\n order_id: 10,\n customer_id: '6',\n product_id: '3',\n order_date: '2022-06-01',\n order_amount: 120.0,\n orders__order_amount: 120.0,\n vendors: ['myntra', 'amazon'],\n },\n {\n customer_id: null,\n order_amount: 100,\n order_date: '2024-07-01T00:00:00.000Z',\n order_id: 12,\n orders__order_amount: 100,\n orders__order_date: undefined,\n product_id: '3',\n vendors: ['flipkart'],\n },\n {\n customer_id: '7',\n order_amount: 100,\n order_date: '2024-08-01T00:00:00.000Z',\n order_id: 13,\n orders__order_amount: 100,\n orders__order_date: undefined,\n product_id: '6',\n vendors: [\"swiggy's\"],\n },\n ],\n },\n ],\n [\n {\n testName: 'LessThan',\n 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)`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.order_amount',\n operator: 'lt',\n values: ['50'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 3,\n customer_id: '2',\n product_id: '3',\n order_date: '2022-02-01',\n order_amount: 25.0,\n orders__order_amount: 25.0,\n vendors: [],\n },\n {\n order_id: 6,\n customer_id: '4',\n product_id: '2',\n order_date: '2022-04-01',\n order_amount: 45.0,\n orders__order_amount: 45.0,\n vendors: [],\n },\n {\n order_id: 11,\n customer_id: '6aa6',\n product_id: '3',\n order_date: '2024-06-01',\n order_amount: 0.0,\n orders__order_amount: 0.0,\n vendors: ['amazon'],\n },\n ],\n },\n ],\n [\n {\n testName: 'InDateRange',\n 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'))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.order_date',\n operator: 'inDateRange',\n values: ['2022-02-01', '2022-03-31'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 3,\n customer_id: '2',\n product_id: '3',\n order_date: '2022-02-01',\n orders__order_date: '2022-02-01',\n order_amount: 25.0,\n vendors: [],\n },\n {\n order_id: 4,\n customer_id: '2',\n product_id: '1',\n order_date: '2022-03-01',\n orders__order_date: '2022-03-01',\n order_amount: 75.0,\n vendors: ['flipkart'],\n },\n {\n order_id: 5,\n customer_id: '3',\n product_id: '1',\n order_date: '2022-03-02',\n orders__order_date: '2022-03-02',\n order_amount: 100.0,\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n ],\n },\n ],\n [\n {\n testName: 'NotInDateRange',\n 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'))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n member: 'orders.order_date',\n operator: 'notInDateRange',\n values: ['2022-02-01', '2022-03-31'],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 1,\n customer_id: '1',\n product_id: '1',\n order_date: '2022-01-01',\n order_amount: 50.0,\n orders__order_date: '2022-01-01',\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n {\n order_id: 2,\n customer_id: '1',\n product_id: '2',\n order_date: '2022-01-02',\n order_amount: 80.0,\n orders__order_date: '2022-01-02',\n vendors: ['myntra'],\n },\n {\n order_id: 6,\n customer_id: '4',\n product_id: '2',\n order_date: '2022-04-01',\n orders__order_date: '2022-04-01',\n order_amount: 45.0,\n vendors: [],\n },\n {\n order_id: 7,\n customer_id: '4',\n product_id: '3',\n order_date: '2022-05-01',\n orders__order_date: '2022-05-01',\n order_amount: 90.0,\n vendors: ['myntra', 'flipkart'],\n },\n {\n order_id: 8,\n customer_id: '5',\n product_id: '1',\n order_date: '2022-05-02',\n orders__order_date: '2022-05-02',\n order_amount: 65.0,\n vendors: ['amazon', 'flipkart'],\n },\n {\n order_id: 9,\n customer_id: '5',\n product_id: '2',\n order_date: '2022-05-05',\n orders__order_date: '2022-05-05',\n order_amount: 85.0,\n vendors: [],\n },\n {\n order_id: 10,\n customer_id: '6',\n product_id: '3',\n order_date: '2022-06-01',\n orders__order_date: '2022-06-01',\n order_amount: 120.0,\n vendors: ['myntra', 'amazon'],\n },\n {\n order_id: 11,\n customer_id: '6aa6',\n product_id: '3',\n order_date: '2024-06-01',\n orders__order_date: '2024-06-01',\n order_amount: 0.0,\n vendors: ['amazon'],\n },\n {\n customer_id: null,\n order_amount: 100,\n order_date: '2024-07-01T00:00:00.000Z',\n order_id: 12,\n orders__order_date: '2024-07-01T00:00:00.000Z',\n product_id: '3',\n vendors: ['flipkart'],\n },\n {\n customer_id: '7',\n order_amount: 100,\n order_date: '2024-08-01T00:00:00.000Z',\n order_id: 13,\n orders__order_date: '2024-08-01T00:00:00.000Z',\n product_id: '6',\n vendors: [\"swiggy's\"],\n },\n ],\n },\n ],\n // {\n // testName: 'Or',\n // expectedSQL: `SELECT orders.* FROM (select * from orders) AS orders WHERE ((orders.order_amount > 80) OR ((orders.order_date >= '2022-02-01') AND (orders.order_date <= '2022-03-01')))`,\n // cubeInput: {\n // measures: ['*'],\n // filters: [\n // {\n // or: [\n // {\n // member: 'orders.order_amount',\n // operator: 'gt',\n // values: ['80'],\n // },\n // {\n // member: 'orders.order_date',\n // operator: 'inDateRange',\n // values: ['2022-02-01', '2022-03-01'],\n // },\n // ],\n // },\n // ],\n // dimensions: [],\n // },\n // expectedOutput: [\n // {\n // order_id: 3,\n // customer_id: '2',\n // product_id: '3',\n // order_date: '2022-02-01',\n // order_amount: 25.0,\n // },\n // {\n // order_id: 4,\n // customer_id: '2',\n // product_id: '1',\n // order_date: '2022-03-01',\n // order_amount: 75.0,\n // },\n // {\n // order_id: 5,\n // customer_id: '3',\n // product_id: '1',\n // order_date: '2022-03-02',\n // order_amount: 100.0,\n // },\n // {\n // order_id: 7,\n // customer_id: '4',\n // product_id: '3',\n // order_date: '2022-05-01',\n // order_amount: 90.0,\n // },\n // {\n // order_id: 9,\n // customer_id: '5',\n // product_id: '2',\n // order_date: '2022-05-05',\n // order_amount: 85.0,\n // },\n // {\n // order_id: 10,\n // customer_id: '6',\n // product_id: '3',\n // order_date: '2022-06-01',\n // order_amount: 120.0,\n // },\n // ],\n // },\n [\n {\n testName: 'And',\n 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')))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n and: [\n {\n member: 'orders.order_amount',\n operator: 'gt',\n values: ['50'],\n },\n {\n member: 'orders.order_date',\n operator: 'inDateRange',\n values: ['2022-02-01', '2022-06-01'],\n },\n ],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n order_id: 4,\n customer_id: '2',\n product_id: '1',\n order_date: '2022-03-01',\n order_amount: 75.0,\n orders__order_amount: 75.0,\n orders__order_date: '2022-03-01',\n vendors: ['flipkart'],\n },\n {\n order_id: 5,\n customer_id: '3',\n product_id: '1',\n order_date: '2022-03-02',\n orders__order_date: '2022-03-02',\n order_amount: 100.0,\n orders__order_amount: 100.0,\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n {\n order_id: 7,\n customer_id: '4',\n product_id: '3',\n order_date: '2022-05-01',\n orders__order_date: '2022-05-01',\n order_amount: 90.0,\n orders__order_amount: 90.0,\n vendors: ['myntra', 'flipkart'],\n },\n {\n order_id: 8,\n customer_id: '5',\n product_id: '1',\n order_date: '2022-05-02',\n orders__order_date: '2022-05-02',\n order_amount: 65,\n orders__order_amount: 65,\n vendors: ['amazon', 'flipkart'],\n },\n {\n order_id: 9,\n customer_id: '5',\n product_id: '2',\n order_date: '2022-05-05',\n orders__order_date: '2022-05-05',\n order_amount: 85.0,\n orders__order_amount: 85.0,\n vendors: [],\n },\n {\n order_id: 10,\n customer_id: '6',\n product_id: '3',\n order_date: '2022-06-01',\n orders__order_date: '2022-06-01',\n order_amount: 120.0,\n orders__order_amount: 120.0,\n vendors: ['myntra', 'amazon'],\n },\n ],\n },\n ],\n [\n {\n testName: 'Set',\n 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'))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n and: [\n {\n member: 'orders.order_amount',\n operator: 'set',\n },\n {\n member: 'orders.product_id',\n operator: 'equals',\n values: ['3'],\n },\n ],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n customer_id: '2',\n order_amount: 25,\n order_date: '2022-02-01T00:00:00.000Z',\n order_id: 3,\n orders__order_amount: 25,\n orders__order_date: undefined,\n orders__product_id: '3',\n product_id: '3',\n vendors: [],\n },\n {\n customer_id: '4',\n order_amount: 90,\n order_date: '2022-05-01T00:00:00.000Z',\n order_id: 7,\n orders__order_amount: 90,\n orders__order_date: undefined,\n orders__product_id: '3',\n product_id: '3',\n vendors: ['myntra', 'flipkart'],\n },\n {\n customer_id: '6',\n order_amount: 120,\n order_date: '2022-06-01T00:00:00.000Z',\n order_id: 10,\n orders__order_amount: 120,\n orders__order_date: undefined,\n orders__product_id: '3',\n product_id: '3',\n vendors: ['myntra', 'amazon'],\n },\n {\n customer_id: '6aa6',\n order_amount: 0,\n order_date: '2024-06-01T00:00:00.000Z',\n order_id: 11,\n orders__order_amount: 0,\n orders__order_date: undefined,\n orders__product_id: '3',\n product_id: '3',\n vendors: ['amazon'],\n },\n {\n customer_id: null,\n order_amount: 100,\n order_date: '2024-07-01T00:00:00.000Z',\n order_id: 12,\n orders__order_amount: 100,\n orders__order_date: undefined,\n orders__product_id: '3',\n product_id: '3',\n vendors: ['flipkart'],\n },\n ],\n },\n ],\n [\n {\n testName: 'Not Set',\n 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'))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n and: [\n {\n member: 'orders.customer_id',\n operator: 'notSet',\n },\n {\n member: 'orders.product_id',\n operator: 'equals',\n values: ['3'],\n },\n ],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n orders__customer_id: null,\n customer_id: null,\n order_amount: 100,\n order_date: '2024-07-01T00:00:00.000Z',\n order_id: 12,\n orders__order_date: undefined,\n orders__product_id: '3',\n product_id: '3',\n vendors: ['flipkart'],\n },\n ],\n },\n ],\n [\n {\n testName: 'In',\n 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'])))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n and: [\n {\n member: 'orders.customer_id',\n operator: 'in',\n values: ['1', '2'],\n },\n {\n member: 'orders.vendors',\n operator: 'in',\n values: ['myntra', 'amazon'],\n },\n ],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n customer_id: '1',\n order_amount: 50,\n order_date: '2022-01-01T00:00:00.000Z',\n order_id: 1,\n orders__customer_id: '1',\n orders__order_date: undefined,\n orders__vendors: ['myntra', 'amazon', 'flipkart'],\n product_id: '1',\n vendors: ['myntra', 'amazon', 'flipkart'],\n },\n {\n customer_id: '1',\n order_amount: 80,\n order_date: '2022-01-02T00:00:00.000Z',\n order_id: 2,\n orders__customer_id: '1',\n orders__order_date: undefined,\n orders__vendors: ['myntra'],\n product_id: '2',\n vendors: ['myntra'],\n },\n ],\n },\n {\n testName: 'In with single quotes',\n expectedSQL: `SELECT orders.* FROM (SELECT vendors AS orders__vendors, * FROM (select * from orders) AS orders) AS orders WHERE ((orders__vendors && (ARRAY['swiggy''s'])))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n and: [\n {\n member: 'orders.vendors',\n operator: 'in',\n values: [\"swiggy's\"],\n },\n ],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n customer_id: '7',\n order_amount: 100,\n order_date: '2024-08-01T00:00:00.000Z',\n order_id: 13,\n orders__order_date: undefined,\n orders__vendors: [\"swiggy's\"],\n product_id: '6',\n vendors: [\"swiggy's\"],\n },\n ],\n },\n ],\n [\n {\n testName: 'Not In',\n 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']))))`,\n cubeInput: {\n measures: ['*'],\n filters: [\n {\n and: [\n {\n member: 'orders.customer_id',\n operator: 'notIn',\n values: ['1', '2'],\n },\n {\n member: 'orders.vendors',\n operator: 'notIn',\n values: ['myntra', 'flipkart'],\n },\n ],\n },\n ],\n dimensions: [],\n },\n expectedOutput: [\n {\n customer_id: '4',\n order_amount: 45,\n order_date: '2022-04-01T00:00:00.000Z',\n order_id: 6,\n orders__customer_id: '4',\n orders__order_date: undefined,\n orders__vendors: [],\n product_id: '2',\n vendors: [],\n },\n {\n customer_id: '5',\n order_amount: 85,\n order_date: '2022-05-05T00:00:00.000Z',\n order_id: 9,\n orders__customer_id: '5',\n orders__order_date: undefined,\n orders__vendors: [],\n product_id: '2',\n vendors: [],\n },\n {\n customer_id: '6aa6',\n order_amount: 0,\n order_date: '2024-06-01T00:00:00.000Z',\n order_id: 11,\n orders__customer_id: '6aa6',\n orders__order_date: undefined,\n orders__vendors: ['amazon'],\n product_id: '3',\n vendors: ['amazon'],\n },\n {\n customer_id: '7',\n order_amount: 100,\n order_date: '2024-08-01T00:00:00.000Z',\n order_id: 13,\n orders__customer_id: '7',\n orders__order_date: undefined,\n orders__vendors: [\"swiggy's\"],\n product_id: '6',\n vendors: [\"swiggy's\"],\n },\n ],\n },\n ],\n];\n"],"names":["CREATE_TEST_TABLE","INPUT_DATA_QUERY","TABLE_SCHEMA","TEST_DATA","name","sql","measures","type","dimensions","testName","expectedSQL","cubeInput","filters","limit","expectedOutput","orders__order_month","orders__total_order_amount","order","orders__customer_id","member","operator","values","order_id","customer_id","product_id","order_date","order_amount","vendors","and","orders__order_date","undefined","orders__order_amount","orders__product_id","orders__vendors"],"mappings":";;;;;;;;IAAaA,iBAAiB;eAAjBA;;IAWAC,gBAAgB;eAAhBA;;IAiBAC,YAAY;eAAZA;;IAiDAC,SAAS;eAATA;;;AA7EN,MAAMH,oBAAoB,CAAC;;;;;;;;;AASlC,CAAC;AAEM,MAAMC,mBAAmB,CAAC;;;;;;;;;;;;;;;AAejC,CAAC;AAEM,MAAMC,eAAe;IAC1BE,MAAM;IACNC,KAAK;IACLC,UAAU;QACR;YACEF,MAAM;YACNC,KAAK;YACLE,MAAM;QACR;QACA;YACEH,MAAM;YACNC,KAAK;YACLE,MAAM;QACR;KACD;IACDC,YAAY;QACV;YACEJ,MAAM;YACNC,KAAK;YACLE,MAAM;QACR;QACA;YACEH,MAAM;YACNC,KAAK;YACLE,MAAM;QACR;QACA;YACEH,MAAM;YACNC,KAAK;YACLE,MAAM;QACR;QACA;YACEH,MAAM;YACNC,KAAK;YACLE,MAAM;QACR;QACA;YACEH,MAAM;YACNC,KAAK,CAAC,+BAA+B,CAAC;YACtCE,MAAM;QACR;QACA;YACEH,MAAM;YACNC,KAAK;YACLE,MAAM;QACR;KACD;AACH;AAEO,MAAMJ,YAAY;IACvB;QACE;YACEM,UAAU;YACVC,aAAa,CAAC,2OAA2O,CAAC;YAC1PC,WAAW;gBACTL,UAAU;oBAAC;iBAA4B;gBACvCM,SAAS,EAAE;gBACXJ,YAAY;oBAAC;iBAAqB;gBAClCK,OAAO;YACT;YACAC,gBAAgB;gBACd;oBACEC,qBAAqB;oBACrBC,4BAA4B;gBAC9B;aACD;QACH;KACD;IACD;QACE;YACEP,UAAU;YACVC,aAAa,CAAC,gRAAgR,CAAC;YAC/RC,WAAW;gBACTL,UAAU;oBAAC;iBAA4B;gBACvCM,SAAS,EAAE;gBACXJ,YAAY;oBAAC;iBAAqB;gBAClCS,OAAO;oBACL,6BAA6B;oBAC7B,sBAAsB;gBACxB;YACF;YACAH,gBAAgB;gBACd;oBACEI,qBAAqB;oBACrBF,4BAA4B;gBAC9B;gBACA;oBACEE,qBAAqB;oBACrBF,4BAA4B;gBAC9B;gBACA;oBACEE,qBAAqB;oBACrBF,4BAA4B;gBAC9B;gBACA;oBACEE,qBAAqB;oBACrBF,4BAA4B;gBAC9B;gBACA;oBACEE,qBAAqB;oBACrBF,4BAA4B;gBAC9B;gBACA;oBACEE,qBAAqB;oBACrBF,4BAA4B;gBAC9B;gBACA;oBACEE,qBAAqB;oBACrBF,4BAA4B;gBAC9B;gBACA;oBACEE,qBAAqB;oBACrBF,4BAA4B;gBAC9B;gBACA;oBACEE,qBAAqB;oBACrBF,4BAA4B;gBAC9B;aACD;QACH;KACD;IACD;QACE;YACEP,UAAU;YACVC,aAAa,CAAC,qJAAqJ,CAAC;YACpKC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEO,QAAQ;wBACRC,UAAU;wBACVC,QAAQ;4BAAC;yBAAI;oBACf;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACEQ,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS;wBAAC;wBAAU;wBAAU;qBAAW;gBAC3C;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS;wBAAC;qBAAS;gBACrB;aACD;QACH;QACA;YACElB,UAAU;YACVC,aAAa,CAAC,uLAAuL,CAAC;YACtMC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEO,QAAQ;wBACRC,UAAU;wBACVC,QAAQ;4BAAC;4BAAK;yBAAI;oBACpB;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB,EAAE;QACpB;KACD;IACD;QACE;YACEL,UAAU;YACVC,aAAa,CAAC,sJAAsJ,CAAC;YACrKC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEO,QAAQ;wBACRC,UAAU;wBACVC,QAAQ;4BAAC;yBAAI;oBACf;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACEQ,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS,EAAE;gBACb;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS;wBAAC;qBAAW;gBACvB;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS;wBAAC;wBAAU;wBAAU;qBAAW;gBAC3C;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS,EAAE;gBACb;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS;wBAAC;wBAAU;qBAAW;gBACjC;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS;wBAAC;wBAAU;qBAAW;gBACjC;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS,EAAE;gBACb;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS;wBAAC;wBAAU;qBAAS;gBAC/B;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS;wBAAC;qBAAS;gBACrB;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS;wBAAC;qBAAW;gBACvB;aACD;QACH;KACD;IACD;QACE;YACElB,UAAU;YACVC,aAAa,CAAC,0JAA0J,CAAC;YACzKC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEO,QAAQ;wBACRC,UAAU;wBACVC,QAAQ;4BAAC;yBAAK;oBAChB;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACEQ,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS;wBAAC;qBAAS;gBACrB;aACD;QACH;KACD;IACD;QACE;YACElB,UAAU;YACVC,aAAa,CAAC,gVAAgV,CAAC;YAC/VC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEgB,KAAK;4BACH;gCACET,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;iCAAI;4BACf;4BACA;gCACEF,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;iCAAI;4BACf;4BACA;gCACEF,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;iCAAI;4BACf;4BACA;gCACEF,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;iCAAI;4BACf;4BACA;gCACEF,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;iCAAI;4BACf;4BACA;gCACEF,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;iCAAK;4BAChB;yBACD;oBACH;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACEQ,UAAU;oBACVC,aAAa;oBACbL,qBAAqB;oBACrBM,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdC,SAAS;wBAAC;wBAAU;qBAAS;gBAC/B;gBACA;oBACEJ,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVJ,qBAAqB;oBACrBW,oBAAoBC;oBACpBN,YAAY;oBACZG,SAAS;wBAAC;qBAAW;gBACvB;aACD;QACH;KACD;IACD;QACE;YACElB,UAAU;YACVC,aAAa,CAAC,8JAA8J,CAAC;YAC7KC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEO,QAAQ;wBACRC,UAAU;wBACVC,QAAQ;4BAAC;yBAAK;oBAChB;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACEQ,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS;wBAAC;qBAAS;gBACrB;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS;wBAAC;qBAAW;gBACvB;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS;wBAAC;wBAAU;wBAAU;qBAAW;gBAC3C;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS;wBAAC;wBAAU;qBAAW;gBACjC;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS;wBAAC;wBAAU;qBAAW;gBACjC;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS,EAAE;gBACb;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS;wBAAC;wBAAU;qBAAS;gBAC/B;gBACA;oBACEJ,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVS,sBAAsB;oBACtBF,oBAAoBC;oBACpBN,YAAY;oBACZG,SAAS;wBAAC;qBAAW;gBACvB;gBACA;oBACEJ,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVS,sBAAsB;oBACtBF,oBAAoBC;oBACpBN,YAAY;oBACZG,SAAS;wBAAC;qBAAW;gBACvB;aACD;QACH;KACD;IACD;QACE;YACElB,UAAU;YACVC,aAAa,CAAC,8JAA8J,CAAC;YAC7KC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEO,QAAQ;wBACRC,UAAU;wBACVC,QAAQ;4BAAC;yBAAK;oBAChB;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACEQ,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS,EAAE;gBACb;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS,EAAE;gBACb;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS;wBAAC;qBAAS;gBACrB;aACD;QACH;KACD;IACD;QACE;YACElB,UAAU;YACVC,aAAa,CAAC,uMAAuM,CAAC;YACtNC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEO,QAAQ;wBACRC,UAAU;wBACVC,QAAQ;4BAAC;4BAAc;yBAAa;oBACtC;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACEQ,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdC,SAAS,EAAE;gBACb;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdC,SAAS;wBAAC;qBAAW;gBACvB;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdC,SAAS;wBAAC;wBAAU;wBAAU;qBAAW;gBAC3C;aACD;QACH;KACD;IACD;QACE;YACElB,UAAU;YACVC,aAAa,CAAC,oMAAoM,CAAC;YACnNC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEO,QAAQ;wBACRC,UAAU;wBACVC,QAAQ;4BAAC;4BAAc;yBAAa;oBACtC;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACEQ,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdG,oBAAoB;oBACpBF,SAAS;wBAAC;wBAAU;wBAAU;qBAAW;gBAC3C;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdG,oBAAoB;oBACpBF,SAAS;wBAAC;qBAAS;gBACrB;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdC,SAAS,EAAE;gBACb;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdC,SAAS;wBAAC;wBAAU;qBAAW;gBACjC;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdC,SAAS;wBAAC;wBAAU;qBAAW;gBACjC;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdC,SAAS,EAAE;gBACb;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdC,SAAS;wBAAC;wBAAU;qBAAS;gBAC/B;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdC,SAAS;wBAAC;qBAAS;gBACrB;gBACA;oBACEJ,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVO,oBAAoB;oBACpBL,YAAY;oBACZG,SAAS;wBAAC;qBAAW;gBACvB;gBACA;oBACEJ,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVO,oBAAoB;oBACpBL,YAAY;oBACZG,SAAS;wBAAC;qBAAW;gBACvB;aACD;QACH;KACD;IACD,IAAI;IACJ,oBAAoB;IACpB,8LAA8L;IAC9L,iBAAiB;IACjB,uBAAuB;IACvB,iBAAiB;IACjB,UAAU;IACV,gBAAgB;IAChB,cAAc;IACd,6CAA6C;IAC7C,8BAA8B;IAC9B,8BAA8B;IAC9B,eAAe;IACf,cAAc;IACd,2CAA2C;IAC3C,uCAAuC;IACvC,oDAAoD;IACpD,eAAe;IACf,aAAa;IACb,WAAW;IACX,SAAS;IACT,sBAAsB;IACtB,OAAO;IACP,sBAAsB;IACtB,QAAQ;IACR,qBAAqB;IACrB,0BAA0B;IAC1B,yBAAyB;IACzB,kCAAkC;IAClC,4BAA4B;IAC5B,SAAS;IACT,QAAQ;IACR,qBAAqB;IACrB,0BAA0B;IAC1B,yBAAyB;IACzB,kCAAkC;IAClC,4BAA4B;IAC5B,SAAS;IACT,QAAQ;IACR,qBAAqB;IACrB,0BAA0B;IAC1B,yBAAyB;IACzB,kCAAkC;IAClC,6BAA6B;IAC7B,SAAS;IACT,QAAQ;IACR,qBAAqB;IACrB,0BAA0B;IAC1B,yBAAyB;IACzB,kCAAkC;IAClC,4BAA4B;IAC5B,SAAS;IACT,QAAQ;IACR,qBAAqB;IACrB,0BAA0B;IAC1B,yBAAyB;IACzB,kCAAkC;IAClC,4BAA4B;IAC5B,SAAS;IACT,QAAQ;IACR,sBAAsB;IACtB,0BAA0B;IAC1B,yBAAyB;IACzB,kCAAkC;IAClC,6BAA6B;IAC7B,SAAS;IACT,OAAO;IACP,KAAK;IACL;QACE;YACElB,UAAU;YACVC,aAAa,CAAC,sRAAsR,CAAC;YACrSC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEgB,KAAK;4BACH;gCACET,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;iCAAK;4BAChB;4BACA;gCACEF,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;oCAAc;iCAAa;4BACtC;yBACD;oBACH;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACEQ,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZC,cAAc;oBACdK,sBAAsB;oBACtBF,oBAAoB;oBACpBF,SAAS;wBAAC;qBAAW;gBACvB;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS;wBAAC;wBAAU;wBAAU;qBAAW;gBAC3C;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS;wBAAC;wBAAU;qBAAW;gBACjC;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS;wBAAC;wBAAU;qBAAW;gBACjC;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS,EAAE;gBACb;gBACA;oBACEL,UAAU;oBACVC,aAAa;oBACbC,YAAY;oBACZC,YAAY;oBACZI,oBAAoB;oBACpBH,cAAc;oBACdK,sBAAsB;oBACtBJ,SAAS;wBAAC;wBAAU;qBAAS;gBAC/B;aACD;QACH;KACD;IACD;QACE;YACElB,UAAU;YACVC,aAAa,CAAC,wOAAwO,CAAC;YACvPC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEgB,KAAK;4BACH;gCACET,QAAQ;gCACRC,UAAU;4BACZ;4BACA;gCACED,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;iCAAI;4BACf;yBACD;oBACH;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACES,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVS,sBAAsB;oBACtBF,oBAAoBC;oBACpBE,oBAAoB;oBACpBR,YAAY;oBACZG,SAAS,EAAE;gBACb;gBACA;oBACEJ,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVS,sBAAsB;oBACtBF,oBAAoBC;oBACpBE,oBAAoB;oBACpBR,YAAY;oBACZG,SAAS;wBAAC;wBAAU;qBAAW;gBACjC;gBACA;oBACEJ,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVS,sBAAsB;oBACtBF,oBAAoBC;oBACpBE,oBAAoB;oBACpBR,YAAY;oBACZG,SAAS;wBAAC;wBAAU;qBAAS;gBAC/B;gBACA;oBACEJ,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVS,sBAAsB;oBACtBF,oBAAoBC;oBACpBE,oBAAoB;oBACpBR,YAAY;oBACZG,SAAS;wBAAC;qBAAS;gBACrB;gBACA;oBACEJ,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVS,sBAAsB;oBACtBF,oBAAoBC;oBACpBE,oBAAoB;oBACpBR,YAAY;oBACZG,SAAS;wBAAC;qBAAW;gBACvB;aACD;QACH;KACD;IACD;QACE;YACElB,UAAU;YACVC,aAAa,CAAC,0NAA0N,CAAC;YACzOC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEgB,KAAK;4BACH;gCACET,QAAQ;gCACRC,UAAU;4BACZ;4BACA;gCACED,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;iCAAI;4BACf;yBACD;oBACH;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACEI,qBAAqB;oBACrBK,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVO,oBAAoBC;oBACpBE,oBAAoB;oBACpBR,YAAY;oBACZG,SAAS;wBAAC;qBAAW;gBACvB;aACD;QACH;KACD;IACD;QACE;YACElB,UAAU;YACVC,aAAa,CAAC,gPAAgP,CAAC;YAC/PC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEgB,KAAK;4BACH;gCACET,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;oCAAK;iCAAI;4BACpB;4BACA;gCACEF,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;oCAAU;iCAAS;4BAC9B;yBACD;oBACH;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACES,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVJ,qBAAqB;oBACrBW,oBAAoBC;oBACpBG,iBAAiB;wBAAC;wBAAU;wBAAU;qBAAW;oBACjDT,YAAY;oBACZG,SAAS;wBAAC;wBAAU;wBAAU;qBAAW;gBAC3C;gBACA;oBACEJ,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVJ,qBAAqB;oBACrBW,oBAAoBC;oBACpBG,iBAAiB;wBAAC;qBAAS;oBAC3BT,YAAY;oBACZG,SAAS;wBAAC;qBAAS;gBACrB;aACD;QACH;QACA;YACElB,UAAU;YACVC,aAAa,CAAC,6JAA6J,CAAC;YAC5KC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEgB,KAAK;4BACH;gCACET,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;iCAAW;4BACtB;yBACD;oBACH;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACES,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVO,oBAAoBC;oBACpBG,iBAAiB;wBAAC;qBAAW;oBAC7BT,YAAY;oBACZG,SAAS;wBAAC;qBAAW;gBACvB;aACD;QACH;KACD;IACD;QACE;YACElB,UAAU;YACVC,aAAa,CAAC,4PAA4P,CAAC;YAC3QC,WAAW;gBACTL,UAAU;oBAAC;iBAAI;gBACfM,SAAS;oBACP;wBACEgB,KAAK;4BACH;gCACET,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;oCAAK;iCAAI;4BACpB;4BACA;gCACEF,QAAQ;gCACRC,UAAU;gCACVC,QAAQ;oCAAC;oCAAU;iCAAW;4BAChC;yBACD;oBACH;iBACD;gBACDb,YAAY,EAAE;YAChB;YACAM,gBAAgB;gBACd;oBACES,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVJ,qBAAqB;oBACrBW,oBAAoBC;oBACpBG,iBAAiB,EAAE;oBACnBT,YAAY;oBACZG,SAAS,EAAE;gBACb;gBACA;oBACEJ,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVJ,qBAAqB;oBACrBW,oBAAoBC;oBACpBG,iBAAiB,EAAE;oBACnBT,YAAY;oBACZG,SAAS,EAAE;gBACb;gBACA;oBACEJ,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVJ,qBAAqB;oBACrBW,oBAAoBC;oBACpBG,iBAAiB;wBAAC;qBAAS;oBAC3BT,YAAY;oBACZG,SAAS;wBAAC;qBAAS;gBACrB;gBACA;oBACEJ,aAAa;oBACbG,cAAc;oBACdD,YAAY;oBACZH,UAAU;oBACVJ,qBAAqB;oBACrBW,oBAAoBC;oBACpBG,iBAAiB;wBAAC;qBAAW;oBAC7BT,YAAY;oBACZG,SAAS;wBAAC;qBAAW;gBACvB;aACD;QACH;KACD;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devrev/meerkat-node",
3
- "version": "0.0.99",
3
+ "version": "0.0.101",
4
4
  "dependencies": {
5
5
  "@swc/helpers": "~0.5.0",
6
6
  "@devrev/meerkat-core": "*",
@@ -1,5 +1,5 @@
1
1
  export declare const CREATE_TEST_TABLE = "\nCREATE TABLE orders (\n order_id INTEGER,\n customer_id VARCHAR,\n product_id VARCHAR,\n order_date DATE,\n order_amount FLOAT,\n vendors VARCHAR[]\n);\n";
2
- export declare const INPUT_DATA_QUERY = "\nINSERT INTO orders VALUES\n(1, '1', '1', '2022-01-01', 50, ['myntra', 'amazon', 'flipkart']),\n(2, '1', '2', '2022-01-02', 80, ['myntra']),\n(3, '2', '3', '2022-02-01', 25, []),\n(4, '2', '1', '2022-03-01', 75, ['flipkart']),\n(5, '3', '1', '2022-03-02', 100, ['myntra', 'amazon', 'flipkart']),\n(6, '4', '2', '2022-04-01', 45, []),\n(7, '4', '3', '2022-05-01', 90, ['myntra', 'flipkart']),\n(8, '5', '1', '2022-05-02', 65, ['amazon', 'flipkart']),\n(9, '5', '2', '2022-05-05', 85, []),\n(10, '6', '3', '2022-06-01', 120, ['myntra', 'amazon']),\n(11, '6aa6', '3', '2024-06-01', 0, ['amazon']),\n(12, NULL, '3', '2024-07-01', 100, ['flipkart']);\n";
2
+ export declare const INPUT_DATA_QUERY = "\nINSERT INTO orders VALUES\n(1, '1', '1', '2022-01-01', 50, ['myntra', 'amazon', 'flipkart']),\n(2, '1', '2', '2022-01-02', 80, ['myntra']),\n(3, '2', '3', '2022-02-01', 25, []),\n(4, '2', '1', '2022-03-01', 75, ['flipkart']),\n(5, '3', '1', '2022-03-02', 100, ['myntra', 'amazon', 'flipkart']),\n(6, '4', '2', '2022-04-01', 45, []),\n(7, '4', '3', '2022-05-01', 90, ['myntra', 'flipkart']),\n(8, '5', '1', '2022-05-02', 65, ['amazon', 'flipkart']),\n(9, '5', '2', '2022-05-05', 85, []),\n(10, '6', '3', '2022-06-01', 120, ['myntra', 'amazon']),\n(11, '6aa6', '3', '2024-06-01', 0, ['amazon']),\n(12, NULL, '3', '2024-07-01', 100, ['flipkart']),\n(13, '7', '6', '2024-08-01', 100, ['swiggy''s']);\n";
3
3
  export declare const TABLE_SCHEMA: {
4
4
  name: string;
5
5
  sql: string;
@@ -81,7 +81,7 @@ export declare const TEST_DATA: ({
81
81
  }[];
82
82
  dimensions: never[];
83
83
  };
84
- expectedOutput: {
84
+ expectedOutput: ({
85
85
  order_id: number;
86
86
  customer_id: string;
87
87
  orders__customer_id: string;
@@ -89,7 +89,17 @@ export declare const TEST_DATA: ({
89
89
  order_date: string;
90
90
  order_amount: number;
91
91
  vendors: string[];
92
- }[];
92
+ orders__order_date?: undefined;
93
+ } | {
94
+ customer_id: string;
95
+ order_amount: number;
96
+ order_date: string;
97
+ order_id: number;
98
+ orders__customer_id: string;
99
+ orders__order_date: undefined;
100
+ product_id: string;
101
+ vendors: string[];
102
+ })[];
93
103
  }[] | {
94
104
  testName: string;
95
105
  expectedSQL: string;
@@ -120,6 +130,15 @@ export declare const TEST_DATA: ({
120
130
  orders__order_date: undefined;
121
131
  product_id: string;
122
132
  vendors: string[];
133
+ } | {
134
+ customer_id: string;
135
+ order_amount: number;
136
+ order_date: string;
137
+ order_id: number;
138
+ orders__order_amount: number;
139
+ orders__order_date: undefined;
140
+ product_id: string;
141
+ vendors: string[];
123
142
  })[];
124
143
  }[] | {
125
144
  testName: string;
@@ -242,7 +261,7 @@ export declare const TEST_DATA: ({
242
261
  product_id: string;
243
262
  vendors: string[];
244
263
  }[];
245
- }[] | {
264
+ }[] | ({
246
265
  testName: string;
247
266
  expectedSQL: string;
248
267
  cubeInput: {
@@ -267,4 +286,28 @@ export declare const TEST_DATA: ({
267
286
  product_id: string;
268
287
  vendors: string[];
269
288
  }[];
270
- }[])[];
289
+ } | {
290
+ testName: string;
291
+ expectedSQL: string;
292
+ cubeInput: {
293
+ measures: string[];
294
+ filters: {
295
+ and: {
296
+ member: string;
297
+ operator: string;
298
+ values: string[];
299
+ }[];
300
+ }[];
301
+ dimensions: never[];
302
+ };
303
+ expectedOutput: {
304
+ customer_id: string;
305
+ order_amount: number;
306
+ order_date: string;
307
+ order_id: number;
308
+ orders__order_date: undefined;
309
+ orders__vendors: string[];
310
+ product_id: string;
311
+ vendors: string[];
312
+ }[];
313
+ })[])[];