Unify widgets tests

This commit is contained in:
Raul Ochoa
2015-10-27 12:50:27 +01:00
parent 4047cb82b9
commit fda405f35d
2 changed files with 94 additions and 120 deletions

View File

@@ -1,119 +0,0 @@
var assert = require('../support/assert');
var step = require('step');
var helper = require(__dirname + '/../support/test_helper');
var LayergroupToken = require('../../lib/cartodb/models/layergroup_token');
var CartodbWindshaft = require('../../lib/cartodb/server');
var serverOptions = require('../../lib/cartodb/server_options');
var server = new CartodbWindshaft(serverOptions);
server.setMaxListeners(0);
describe('histograms', function() {
var keysToDelete;
beforeEach(function() {
keysToDelete = {};
});
afterEach(function(done) {
helper.deleteRedisKeys(keysToDelete, done);
});
it("should expose layer histogram", function(done) {
var layergroup = {
version: '1.5.0',
layers: [
{
type: 'mapnik',
options: {
sql: 'select * from populated_places_simple_reduced',
cartocss: '#layer { marker-fill: red; marker-width: 32; marker-allow-overlap: true; }',
cartocss_version: '2.3.0',
widgets: {
pop_max: {
type: 'histogram',
options: {
column: 'pop_max'
}
}
}
}
}
]
};
var layergroupId;
step(
function createLayergroup() {
var next = this;
assert.response(server,
{
url: '/api/v1/map',
method: 'POST',
headers: {
host: 'localhost',
'Content-Type': 'application/json'
},
data: JSON.stringify(layergroup)
},
{
status: 200,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
},
function(res, err) {
if (err) {
return next(err);
}
return next(null, JSON.parse(res.body).layergroupid);
}
);
},
function getHistogram(err, _layergroupId) {
assert.ifError(err);
var next = this;
layergroupId = _layergroupId;
assert.response(server,
{
url: '/api/v1/map/' + layergroupId + '/0/widget/pop_max',
method: 'GET',
headers: {
host: 'localhost'
}
},
{
status: 200,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
},
function(res, err) {
if (err) {
return next(err);
}
var histogram = JSON.parse(res.body);
assert.ok(histogram.length);
next(null);
}
);
},
function finish(err) {
keysToDelete['map_cfg|' + LayergroupToken.parse(layergroupId).token] = 0;
keysToDelete['user:localhost:mapviews:global'] = 5;
done(err);
}
);
});
});

View File

@@ -10,7 +10,7 @@ var server = new CartodbWindshaft(serverOptions);
server.setMaxListeners(0);
describe('lists', function() {
describe('widgets', function() {
var keysToDelete;
@@ -128,4 +128,97 @@ describe('lists', function() {
);
});
it("should expose layer histogram", function(done) {
var layergroup = {
version: '1.5.0',
layers: [
{
type: 'mapnik',
options: {
sql: 'select * from populated_places_simple_reduced',
cartocss: '#layer { marker-fill: red; marker-width: 32; marker-allow-overlap: true; }',
cartocss_version: '2.3.0',
widgets: {
pop_max: {
type: 'histogram',
options: {
column: 'pop_max'
}
}
}
}
}
]
};
var layergroupId;
step(
function createLayergroup() {
var next = this;
assert.response(server,
{
url: '/api/v1/map',
method: 'POST',
headers: {
host: 'localhost',
'Content-Type': 'application/json'
},
data: JSON.stringify(layergroup)
},
{
status: 200,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
},
function(res, err) {
if (err) {
return next(err);
}
return next(null, JSON.parse(res.body).layergroupid);
}
);
},
function getHistogram(err, _layergroupId) {
assert.ifError(err);
var next = this;
layergroupId = _layergroupId;
assert.response(server,
{
url: '/api/v1/map/' + layergroupId + '/0/widget/pop_max',
method: 'GET',
headers: {
host: 'localhost'
}
},
{
status: 200,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
},
function(res, err) {
if (err) {
return next(err);
}
var histogram = JSON.parse(res.body);
assert.ok(histogram.length);
next(null);
}
);
},
function finish(err) {
keysToDelete['map_cfg|' + LayergroupToken.parse(layergroupId).token] = 0;
keysToDelete['user:localhost:mapviews:global'] = 5;
done(err);
}
);
});
});