@@ -86,13 +86,6 @@ describe('PreAggregationsMultiStage', () => {
86
86
createdAt: {
87
87
type: 'time',
88
88
sql: 'created_at',
89
- granularities: {
90
- three_days: {
91
- interval: '1 days',
92
- title: '1 days',
93
- origin: '2017-01-01'
94
- }
95
- }
96
89
},
97
90
checkinsCount: {
98
91
type: 'number',
@@ -107,7 +100,7 @@ describe('PreAggregationsMultiStage', () => {
107
100
108
101
createdAtDay: {
109
102
type: 'time',
110
- sql: \`\${createdAt.three_days }\`,
103
+ sql: \`\${createdAt.day }\`,
111
104
},
112
105
113
106
@@ -129,9 +122,9 @@ describe('PreAggregationsMultiStage', () => {
129
122
granularity: 'day',
130
123
partitionGranularity: 'month',
131
124
},
132
- revenueAndTimeRollup : {
125
+ revenueAndTimeAndCountRollup : {
133
126
type: 'rollup',
134
- measureReferences: [revenue],
127
+ measureReferences: [revenue, count ],
135
128
dimensionReferences: [source],
136
129
timeDimensionReference: createdAt,
137
130
granularity: 'day',
@@ -200,7 +193,6 @@ describe('PreAggregationsMultiStage', () => {
200
193
201
194
const preAggregationsDescription : any = query . preAggregations ?. preAggregationsDescription ( ) ;
202
195
const sqlAndParams = query . buildSqlAndParams ( ) ;
203
- console . log ( '!!!! sqlAndParamsl' , sqlAndParams ) ;
204
196
expect ( preAggregationsDescription [ 0 ] . tableName ) . toEqual ( 'vis_revenue_per_id_rollup' ) ;
205
197
expect ( sqlAndParams [ 0 ] ) . toContain ( 'vis_revenue_per_id_rollup' ) ;
206
198
@@ -228,9 +220,8 @@ describe('PreAggregationsMultiStage', () => {
228
220
) ;
229
221
} ) ;
230
222
} ) ) ;
231
- }
232
223
233
- it ( 'simple multi stage with add_group_by and time proxy dimension 11 ' , ( ) => compiler . compile ( ) . then ( ( ) => {
224
+ it ( 'simple multi stage with add_group_by and time proxy dimension' , ( ) => compiler . compile ( ) . then ( ( ) => {
234
225
const query = new PostgresQuery ( { joinGraph, cubeEvaluator, compiler } , {
235
226
measures : [
236
227
'visitors.revenueAndTime'
@@ -245,12 +236,10 @@ describe('PreAggregationsMultiStage', () => {
245
236
246
237
const preAggregationsDescription : any = query . preAggregations ?. preAggregationsDescription ( ) ;
247
238
const sqlAndParams = query . buildSqlAndParams ( ) ;
248
- console . log ( '!!!! sqlAndParamsl' , sqlAndParams ) ;
249
- expect ( preAggregationsDescription [ 0 ] . tableName ) . toEqual ( 'vis_revenue_and_time_rollup' ) ;
250
- expect ( sqlAndParams [ 0 ] ) . toContain ( 'vis_revenue_and_time_rollup' ) ;
239
+ expect ( preAggregationsDescription [ 0 ] . tableName ) . toEqual ( 'vis_revenue_and_time_and_count_rollup' ) ;
240
+ expect ( sqlAndParams [ 0 ] ) . toContain ( 'vis_revenue_and_time_and_count_rollup' ) ;
251
241
252
242
return dbRunner . evaluateQueryWithPreAggregations ( query ) . then ( res => {
253
- console . log ( '!!!! res' , res ) ;
254
243
expect ( res ) . toEqual (
255
244
[
256
245
{ vis__source : 'google' , vis__revenue_and_time : '25' } ,
@@ -262,36 +251,40 @@ describe('PreAggregationsMultiStage', () => {
262
251
} ) ;
263
252
} ) ) ;
264
253
265
- it ( 'simple multi stage with add_group_by and time proxy dimension tttmp ' , ( ) => compiler . compile ( ) . then ( ( ) => {
254
+ it ( 'multi stage with add_group_by and time proxy dimension and regular measure ' , ( ) => compiler . compile ( ) . then ( ( ) => {
266
255
const query = new PostgresQuery ( { joinGraph, cubeEvaluator, compiler } , {
267
256
measures : [
268
- 'visitors.testMeas'
257
+ 'visitors.revenueAndTime' ,
258
+ 'visitors.count'
269
259
] ,
270
- dimensions : [ 'visitor_checkins .source' ] ,
260
+ dimensions : [ 'visitors .source' ] ,
271
261
timezone : 'America/Los_Angeles' ,
272
262
order : [ {
273
- id : 'visitor_checkins .source'
263
+ id : 'visitors .source'
274
264
} ] ,
275
265
preAggregationsSchema : ''
276
266
} ) ;
277
267
278
268
const preAggregationsDescription : any = query . preAggregations ?. preAggregationsDescription ( ) ;
279
269
const sqlAndParams = query . buildSqlAndParams ( ) ;
280
- console . log ( '!!!! sqlAndParamsl' , sqlAndParams ) ;
281
- /* console.log('!!!! sqlAndParamsl', sqlAndParams);
282
- expect(preAggregationsDescription[0].tableName).toEqual('vis_revenue_and_time_rollup');
283
- expect(sqlAndParams[0]).toContain('vis_revenue_and_time_rollup'); */
270
+ expect ( preAggregationsDescription [ 0 ] . tableName ) . toEqual ( 'vis_revenue_and_time_and_count_rollup' ) ;
271
+ expect ( sqlAndParams [ 0 ] ) . toContain ( 'vis_revenue_and_time_and_count_rollup' ) ;
272
+ expect ( sqlAndParams [ 0 ] ) . not . toContain ( 'select * from visitors' ) ;
284
273
285
274
return dbRunner . evaluateQueryWithPreAggregations ( query ) . then ( res => {
286
- console . log ( '!!!! res' , res ) ;
287
275
expect ( res ) . toEqual (
288
276
[
289
- { vis__source : 'google' , vis__revenue_and_time : '25' } ,
290
- { vis__source : 'some' , vis__revenue_and_time : '50' } ,
291
- { vis__source : null , vis__revenue_and_time : '50' }
277
+ { vis__source : 'google' , vis__count : '1' , vis__revenue_and_time : '25' } ,
278
+ { vis__source : 'some' , vis__count : '2' , vis__revenue_and_time : '50' } ,
279
+ { vis__source : null , vis__count : '3' , vis__revenue_and_time : '50' }
292
280
]
293
281
294
282
) ;
295
283
} ) ;
296
284
} ) ) ;
285
+ } else {
286
+ it . skip ( 'multi stage pre-aggregations' , ( ) => {
287
+ // Skipping because it works only in Tesseract
288
+ } ) ;
289
+ }
297
290
} ) ;
0 commit comments