From fda405f35dea5d8fc6ae336f4679d36fcd66e9de Mon Sep 17 00:00:00 2001 From: Raul Ochoa Date: Tue, 27 Oct 2015 12:50:27 +0100 Subject: [PATCH] Unify widgets tests --- test/acceptance/histograms.js | 119 ----------------------- test/acceptance/{lists.js => widgets.js} | 95 +++++++++++++++++- 2 files changed, 94 insertions(+), 120 deletions(-) delete mode 100644 test/acceptance/histograms.js rename test/acceptance/{lists.js => widgets.js} (58%) diff --git a/test/acceptance/histograms.js b/test/acceptance/histograms.js deleted file mode 100644 index 24537640..00000000 --- a/test/acceptance/histograms.js +++ /dev/null @@ -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); - } - ); - }); - -}); diff --git a/test/acceptance/lists.js b/test/acceptance/widgets.js similarity index 58% rename from test/acceptance/lists.js rename to test/acceptance/widgets.js index ab94b79e..7014ec67 100644 --- a/test/acceptance/lists.js +++ b/test/acceptance/widgets.js @@ -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); + } + ); + }); + });