Added basic JS tests for OLMapWidget.js

Thanks Trey Hunner for cleaning the initial patch and Tim Graham for
the review.
This commit is contained in:
Claude Paroz 2015-10-03 12:04:32 +02:00
parent 914167abf1
commit 1e8d48252b
3 changed files with 56 additions and 1 deletions

View File

@ -0,0 +1,46 @@
/* global module, test, MapWidget */
/* eslint global-strict: 0, strict: 0 */
'use strict';
module('gis.OLMapWidget');
test('MapWidget.featureAdded', function(assert) {
var options = {id: 'id_point', map_id: 'id_point_map', geom_name: 'Point'};
var widget = new MapWidget(options);
assert.equal(widget.layers.vector.features.length, 1);
assert.equal(
widget.layers.vector.features[0].geometry.toString(),
'POINT(7.8177 47.397)',
'Point addded to vector layer'
);
});
test('MapWidget.map_srid', function(assert) {
var options = {id: 'id_point', map_id: 'id_point_map', geom_name: 'Point'};
var widget = new MapWidget(options);
assert.equal(widget.options.map_srid, 4326, 'SRID 4326');
});
test('MapWidget.defaultCenter', function(assert) {
var options = {id: 'id_point', map_id: 'id_point_map', geom_name: 'Point'};
var widget = new MapWidget(options);
assert.equal(widget.defaultCenter().toString(), 'lon=0,lat=0', 'Default center at 0, 0');
options.default_lat = 47.08;
options.default_lon = 6.81;
widget = new MapWidget(options);
assert.equal(
widget.defaultCenter().toString(),
'lon=6.81,lat=47.08',
'Default center at 6.81, 47.08'
);
});
test('MapWidget.getControls', function(assert) {
var options = {id: 'id_point', map_id: 'id_point_map', geom_name: 'Point'};
var widget = new MapWidget(options);
widget.getControls(widget.layers.vector);
assert.equal(widget.controls.length, 3);
assert.equal(widget.controls[0].displayClass, 'olControlNavigation', 'Navigation control');
assert.equal(widget.controls[1].displayClass, 'olControlDrawFeaturePoint', 'Draw control');
assert.equal(widget.controls[2].displayClass, 'olControlModifyFeature', 'Modify control');
});

View File

@ -78,6 +78,15 @@
<script src='../django/contrib/admin/static/admin/js/prepopulate.js' data-cover></script>
<script src='../django/contrib/admin/static/admin/js/urlify.js' data-cover></script>
<div id="id_point_map">
<textarea id="id_point" name="point"
class="vSerializedField required" style="display:none;"
rows="10" cols="150">POINT (7.8177 47.397)</textarea>
</div>
<script src='http://openlayers.org/api/2.13.1/OpenLayers.js'></script>
<script src='../django/contrib/gis/static/gis/js/OLMapWidget.js' data-cover></script>
<script src='./gis/mapwidget.test.js'></script>
<script>
if (location.href.match(/(\?|&)gruntReport($|&|=)/)) {
blanket.options("reporter", "qunit/grunt-reporter.js");

View File

@ -2,7 +2,7 @@
"name": "Django",
"private": true,
"scripts": {
"pretest": "eslint django/ js_tests/admin/",
"pretest": "eslint django/ js_tests/admin/ js_tests/gis/",
"test": "grunt test --verbose"
},
"devDependencies": {