Should respect first timestamp as bin_start

This commit is contained in:
Daniel García Aubert 2017-07-12 15:14:41 +02:00
parent 967dca9578
commit b67f6053e8
2 changed files with 49 additions and 5 deletions

View File

@ -562,10 +562,10 @@ function getTimezone(timezone) {
function populateBinStart(override, firstRow) {
var binStart;
if (override.hasOwnProperty('start')) {
binStart = getBinStart(override);
} else if (firstRow.hasOwnProperty('timestamp')) {
if (firstRow.hasOwnProperty('timestamp')) {
binStart = firstRow.timestamp;
} else if (override.hasOwnProperty('start')) {
binStart = getBinStart(override);
} else {
binStart = firstRow.min;
}

View File

@ -173,6 +173,16 @@ describe('histogram-dataview for date column type', function() {
options: {
column: 'd'
}
},
minute_histogram: {
source: {
id: 'minute-histogram-source'
},
type: 'histogram',
options: {
column: 'd',
aggregation: 'minute'
}
}
},
[
@ -211,6 +221,18 @@ describe('histogram-dataview for date column type', function() {
") date"
].join(' ')
}
},
{
"id": "minute-histogram-source",
"type": "source",
"params": {
"query": [
"select null::geometry the_geom_webmercator, date AS d",
"from generate_series(",
"'2007-02-15 23:50:00'::timestamp, '2007-02-16 00:10:00'::timestamp, '1 minute'::interval",
") date"
].join(' ')
}
}
]
);
@ -282,8 +304,8 @@ describe('histogram-dataview for date column type', function() {
it('should override start and end ' + test.desc, function (done) {
var params = {
start: 1180659600, // 2007-06-01 01:00:00
end: 1193792400 // 2007-10-31 01:00:00
start: 1180659600, // 2007-06-01 01:00:00 UTC => '2007-05-31T21:00:00-04:00'
end: 1193792400 // 2007-10-31 01:00:00 UTC
};
this.testClient = new TestClient(mapConfig, 1234);
@ -300,6 +322,28 @@ describe('histogram-dataview for date column type', function() {
});
});
it('should return same histogram ' + test.desc, function (done) {
var params = {
start: 1171501200, // 2007-02-15 01:00:00 = min(date_colum)
end: 1207702800 // 2008-04-09 01:00:00 = max(date_colum)
};
this.testClient = new TestClient(mapConfig, 1234);
this.testClient.getDataview(test.dataviewId, {}, function (err, dataview) {
assert.ok(!err, err);
this.testClient = new TestClient(mapConfig, 1234);
this.testClient.getDataview(test.dataviewId, params, function (err, filteredDataview) {
assert.ok(!err, err);
assert.deepEqual(dataview, filteredDataview);
done();
});
});
});
it('should aggregate histogram overriding default timezone to CEST ' + test.desc, function (done) {
var TIMEZONE_CEST_IN_SECONDS = 2 * 3600; // Central European Summer Time (Daylight Saving Time)
var TIMEZONE_CEST_IN_MINUTES = 2 * 60; // Central European Summer Time (Daylight Saving Time)