@@ -195,6 +195,16 @@ const getQueries = (compiler, joinGraph, cubeEvaluator) => ([
195195 } ] ,
196196 timezone : 'America/Los_Angeles' ,
197197 } ) ,
198+ // no granularity
199+ new PostgresQuery ( { joinGraph, cubeEvaluator, compiler } , {
200+ measures : [ 'cube.totalQuantity' , 'cube.totalProfit' ] ,
201+ dimensions : [ 'cube.city' ] ,
202+ timeDimensions : [ {
203+ dimension : 'cube.orderDate' ,
204+ dateRange : [ '2020-01-01 00:00:00.000' , '2020-03-30 22:50:50.999' ] ,
205+ } ] ,
206+ timezone : 'America/Los_Angeles' ,
207+ } ) ,
198208] ) ;
199209
200210describe (
@@ -259,6 +269,15 @@ describe(
259269 expect ( query . indexOf ( 'cube__daily_data' ) ) . toEqual ( - 1 ) ;
260270 expect ( query . indexOf ( 'cube__hourly_data' ) ) . toEqual ( - 1 ) ;
261271 } ) ;
272+
273+ it ( 'query with no granularity match MonthlyData' , async ( ) => {
274+ await compiler . compile ( ) ;
275+ const [ , , , , , , request ] = getQueries ( compiler , joinGraph , cubeEvaluator ) ;
276+ const [ query ] = request . buildSqlAndParams ( ) ;
277+ expect ( query . indexOf ( 'cube__monthly_data' ) ) . toBeGreaterThanOrEqual ( 0 ) ;
278+ expect ( query . indexOf ( 'cube__daily_data' ) ) . toEqual ( - 1 ) ;
279+ expect ( query . indexOf ( 'cube__hourly_data' ) ) . toEqual ( - 1 ) ;
280+ } ) ;
262281 } ) ;
263282
264283 describe ( 'The `DailyData` pre-aggregation with the `allowNonStrictDateRangeMatch` enabled' , ( ) => {
@@ -320,6 +339,15 @@ describe(
320339 expect ( query . indexOf ( 'cube__daily_data' ) ) . toBeGreaterThanOrEqual ( 0 ) ;
321340 expect ( query . indexOf ( 'cube__hourly_data' ) ) . toEqual ( - 1 ) ;
322341 } ) ;
342+
343+ it ( 'query with no granularity match MonthlyData' , async ( ) => {
344+ await compiler . compile ( ) ;
345+ const [ , , , , , , request ] = getQueries ( compiler , joinGraph , cubeEvaluator ) ;
346+ const [ query ] = request . buildSqlAndParams ( ) ;
347+ expect ( query . indexOf ( 'cube__monthly_data' ) ) . toEqual ( - 1 ) ;
348+ expect ( query . indexOf ( 'cube__daily_data' ) ) . toBeGreaterThanOrEqual ( 0 ) ;
349+ expect ( query . indexOf ( 'cube__hourly_data' ) ) . toEqual ( - 1 ) ;
350+ } ) ;
323351 } ) ;
324352
325353 describe ( 'The `HourlyData` pre-aggregation with the `allowNonStrictDateRangeMatch` enabled' , ( ) => {
@@ -381,6 +409,15 @@ describe(
381409 expect ( query . indexOf ( 'cube__daily_data' ) ) . toEqual ( - 1 ) ;
382410 expect ( query . indexOf ( 'cube__hourly_data' ) ) . toBeGreaterThanOrEqual ( 0 ) ;
383411 } ) ;
412+
413+ it ( 'query with no granularity match HourlyData' , async ( ) => {
414+ await compiler . compile ( ) ;
415+ const [ , , , , , , request ] = getQueries ( compiler , joinGraph , cubeEvaluator ) ;
416+ const [ query ] = request . buildSqlAndParams ( ) ;
417+ expect ( query . indexOf ( 'cube__monthly_data' ) ) . toEqual ( - 1 ) ;
418+ expect ( query . indexOf ( 'cube__daily_data' ) ) . toEqual ( - 1 ) ;
419+ expect ( query . indexOf ( 'cube__hourly_data' ) ) . toBeGreaterThanOrEqual ( 0 ) ;
420+ } ) ;
384421 } ) ;
385422
386423 describe ( '`MonthlyData` and `DailyData` pre-aggregations with the `allowNonStrictDateRangeMatch` enabled' , ( ) => {
0 commit comments