Skip to content

Commit 21a7cc2

Browse files
authored
fix(cubejs-client/core): drillDown - check dateRange before destructuring (#7138)
Thanks @DPHonys
1 parent 1d58d4f commit 21a7cc2

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

packages/cubejs-client-core/src/ResultSet.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ class ResultSet {
169169
range.end
170170
];
171171

172-
if (originalTimeDimension) {
172+
if (originalTimeDimension?.dateRange) {
173173
const [originalStart, originalEnd] = originalTimeDimension.dateRange;
174174

175175
dateRange = [

packages/cubejs-client-core/src/tests/drill-down.test.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,16 @@ describe('drill down query', () => {
241241
timeDimensions: [],
242242
})
243243
);
244+
const resultSet5 = new ResultSet(
245+
loadResponse({
246+
timeDimensions: [
247+
{
248+
dimension: 'Orders.ts',
249+
granularity: 'week',
250+
}
251+
]
252+
})
253+
);
244254

245255
it('handles a query with a time dimension', () => {
246256
expect(
@@ -366,4 +376,27 @@ describe('drill down query', () => {
366376
timezone: 'UTC'
367377
});
368378
});
379+
380+
it('snap date range to granularity if the date range is not defined in the time dimension', () => {
381+
expect(
382+
resultSet5.drillDown({ xValues: ['2020-08-01T00:00:00.000'] })
383+
).toEqual({
384+
measures: [],
385+
segments: [],
386+
dimensions: ['Orders.id', 'Orders.title'],
387+
filters: [
388+
{
389+
member: 'Orders.count',
390+
operator: 'measureFilter',
391+
},
392+
],
393+
timeDimensions: [
394+
{
395+
dimension: 'Orders.ts',
396+
dateRange: ['2020-07-27T00:00:00.000', '2020-08-02T23:59:59.999'],
397+
},
398+
],
399+
timezone: 'UTC',
400+
});
401+
});
369402
});

0 commit comments

Comments
 (0)