Replace test for multiple cartocss errors

This commit is contained in:
Raul Ochoa 2015-03-30 12:41:34 +02:00
parent 4ea1199014
commit ecc67b1d0f
2 changed files with 28 additions and 26 deletions

View File

@ -24,21 +24,27 @@ describe('tests from old api translated to multilayer', function() {
});
});
it("layergroup creation fails if CartoCSS is bogus", function(done) {
var layergroup = {
var wadusSql = 'select 1 as cartodb_id, null::geometry as the_geom_webmercator';
function singleLayergroupConfig(sql, cartocss) {
return {
stat_tag: 'random_tag',
version: '1.0.0',
layers: [
{
type: 'mapnik',
options: {
sql: 'select 1 as cartodb_id, null::geometry as the_geom_webmercator',
cartocss: '#my_table3{',
sql: sql,
cartocss: cartocss,
cartocss_version: '2.0.1'
}
}
]
};
}
it("layergroup creation fails if CartoCSS is bogus", function(done) {
var layergroup = singleLayergroupConfig(wadusSql, '#my_table3{');
assert.response(server, {
url: layergroupUrl,
method: 'POST',
@ -53,4 +59,22 @@ describe('tests from old api translated to multilayer', function() {
});
});
it("multiple bad styles returns 400 with all errors", function(done) {
var layergroup = singleLayergroupConfig(wadusSql, '#my_table4{backgxxxxxround-color:#fff;foo:bar}');
assert.response(server, {
url: layergroupUrl,
method: 'POST',
headers: {host: 'localhost', 'Content-Type': 'application/json' },
data: JSON.stringify(layergroup)
}, {}, function(res) {
assert.equal(res.statusCode, 400, res.body);
var parsed = JSON.parse(res.body);
assert.equal(parsed.errors.length, 1);
assert.ok(parsed.errors[0].match(/^style0/));
assert.ok(parsed.errors[0].match(/Unrecognized rule: backgxxxxxround-color/));
assert.ok(parsed.errors[0].match(/Unrecognized rule: foo/));
done();
});
});
});

View File

@ -115,28 +115,6 @@ suite.skip('server old_api', function() {
var test_style_black_200 = "#test_table{marker-fill:black;marker-line-color:red;marker-width:10}";
var test_style_black_210 = "#test_table{marker-fill:black;marker-line-color:red;marker-width:20}";
/////////////////////////////////////////////////////////////////////////////////
//
// POST STYLE
//
/////////////////////////////////////////////////////////////////////////////////
test("post'ing multiple bad styles returns 400 with error array", function(done){
assert.response(server, {
url: '/tiles/my_table4/style?map_key=1234',
method: 'POST',
headers: {host: 'localhost', 'Content-Type': 'application/x-www-form-urlencoded' },
data: querystring.stringify({style: '#my_table4{backgxxxxxround-color:#fff;foo:bar}'})
},{
status: 400
}, function(res) {
var parsed = JSON.parse(res.body);
assert.equal(parsed.length, 2);
assert.ok( new RegExp(/Unrecognized rule: backgxxxxxround-color/).test(parsed[0]) );
assert.ok( new RegExp(/Unrecognized rule: foo/).test(parsed[1]) );
done();
});
});
test("post'ing good style returns 200", function(done){
assert.response(server, {