117 lines
4.3 KiB
JavaScript
117 lines
4.3 KiB
JavaScript
'use strict';
|
|
|
|
require('../../support/test-helper');
|
|
|
|
var assert = require('../../support/assert');
|
|
var TestClient = require('../../support/test-client');
|
|
|
|
describe('analysis-layers regressions', function () {
|
|
it('should return a complete list of nodes from analysis', function (done) {
|
|
var mapConfig = {
|
|
version: '1.5.0',
|
|
layers: [
|
|
{
|
|
type: 'cartodb',
|
|
options: {
|
|
cartocss: TestClient.CARTOCSS.POINTS,
|
|
cartocss_version: '2.1.1',
|
|
interactivity: [],
|
|
source: {
|
|
id: 'a4'
|
|
}
|
|
}
|
|
},
|
|
{
|
|
type: 'cartodb',
|
|
options: {
|
|
cartocss: TestClient.CARTOCSS.POINTS,
|
|
cartocss_version: '2.1.0',
|
|
interactivity: [],
|
|
source: {
|
|
id: 'b1'
|
|
}
|
|
}
|
|
}
|
|
],
|
|
dataviews: {
|
|
'74493a30-4679-4b72-a60c-b6f808b57c98': {
|
|
type: 'histogram',
|
|
source: {
|
|
id: 'b0'
|
|
},
|
|
options: {
|
|
column: 'customer_value',
|
|
bins: 10
|
|
}
|
|
}
|
|
},
|
|
analyses: [
|
|
{
|
|
id: 'a4',
|
|
type: 'point-in-polygon',
|
|
params: {
|
|
polygons_source: {
|
|
id: 'a3',
|
|
type: 'buffer',
|
|
params: {
|
|
source: {
|
|
id: 'a2',
|
|
type: 'centroid',
|
|
params: {
|
|
source: {
|
|
id: 'b1',
|
|
type: 'kmeans',
|
|
params: {
|
|
source: {
|
|
id: 'b0',
|
|
type: 'source',
|
|
params: {
|
|
query: 'SELECT * FROM populated_places_simple_reduced'
|
|
}
|
|
},
|
|
clusters: 5
|
|
}
|
|
},
|
|
category_column: 'cluster_no'
|
|
}
|
|
},
|
|
radius: 200000
|
|
}
|
|
},
|
|
points_source: {
|
|
id: 'customer_home_locations',
|
|
type: 'source',
|
|
params: {
|
|
query: 'SELECT * FROM populated_places_simple_reduced'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
};
|
|
|
|
var testClient = new TestClient(mapConfig, 1234);
|
|
|
|
testClient.getLayergroup(function (err, layergroupResult) {
|
|
assert.ok(!err, err);
|
|
|
|
assert.ok(layergroupResult);
|
|
assert.ok(layergroupResult.metadata);
|
|
var analyses = layergroupResult.metadata.analyses;
|
|
assert.ok(analyses);
|
|
assert.strictEqual(analyses.length, 1);
|
|
|
|
var expectedIds = ['customer_home_locations', 'b0', 'b1', 'a2', 'a3', 'a4'];
|
|
expectedIds.forEach(function (expectedId) {
|
|
assert.ok(
|
|
Object.prototype.hasOwnProperty.call(analyses[0].nodes, expectedId),
|
|
'Missing "' + expectedId + '" from node list.'
|
|
);
|
|
});
|
|
assert.strictEqual(Object.keys(analyses[0].nodes).length, expectedIds.length, Object.keys(analyses[0].nodes));
|
|
|
|
testClient.drain(done);
|
|
});
|
|
});
|
|
});
|