Skip to content

Commit 1e8d482

Browse files
committed
Added basic JS tests for OLMapWidget.js
Thanks Trey Hunner for cleaning the initial patch and Tim Graham for the review.
1 parent 914167a commit 1e8d482

3 files changed

Lines changed: 56 additions & 1 deletion

File tree

js_tests/gis/mapwidget.test.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/* global module, test, MapWidget */
2+
/* eslint global-strict: 0, strict: 0 */
3+
'use strict';
4+
5+
module('gis.OLMapWidget');
6+
7+
test('MapWidget.featureAdded', function(assert) {
8+
var options = {id: 'id_point', map_id: 'id_point_map', geom_name: 'Point'};
9+
var widget = new MapWidget(options);
10+
assert.equal(widget.layers.vector.features.length, 1);
11+
assert.equal(
12+
widget.layers.vector.features[0].geometry.toString(),
13+
'POINT(7.8177 47.397)',
14+
'Point addded to vector layer'
15+
);
16+
});
17+
18+
test('MapWidget.map_srid', function(assert) {
19+
var options = {id: 'id_point', map_id: 'id_point_map', geom_name: 'Point'};
20+
var widget = new MapWidget(options);
21+
assert.equal(widget.options.map_srid, 4326, 'SRID 4326');
22+
});
23+
24+
test('MapWidget.defaultCenter', function(assert) {
25+
var options = {id: 'id_point', map_id: 'id_point_map', geom_name: 'Point'};
26+
var widget = new MapWidget(options);
27+
assert.equal(widget.defaultCenter().toString(), 'lon=0,lat=0', 'Default center at 0, 0');
28+
options.default_lat = 47.08;
29+
options.default_lon = 6.81;
30+
widget = new MapWidget(options);
31+
assert.equal(
32+
widget.defaultCenter().toString(),
33+
'lon=6.81,lat=47.08',
34+
'Default center at 6.81, 47.08'
35+
);
36+
});
37+
38+
test('MapWidget.getControls', function(assert) {
39+
var options = {id: 'id_point', map_id: 'id_point_map', geom_name: 'Point'};
40+
var widget = new MapWidget(options);
41+
widget.getControls(widget.layers.vector);
42+
assert.equal(widget.controls.length, 3);
43+
assert.equal(widget.controls[0].displayClass, 'olControlNavigation', 'Navigation control');
44+
assert.equal(widget.controls[1].displayClass, 'olControlDrawFeaturePoint', 'Draw control');
45+
assert.equal(widget.controls[2].displayClass, 'olControlModifyFeature', 'Modify control');
46+
});

js_tests/tests.html

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,15 @@
7878
<script src='../django/contrib/admin/static/admin/js/prepopulate.js' data-cover></script>
7979
<script src='../django/contrib/admin/static/admin/js/urlify.js' data-cover></script>
8080

81+
<div id="id_point_map">
82+
<textarea id="id_point" name="point"
83+
class="vSerializedField required" style="display:none;"
84+
rows="10" cols="150">POINT (7.8177 47.397)</textarea>
85+
</div>
86+
<script src='http://openlayers.org/api/2.13.1/OpenLayers.js'></script>
87+
<script src='../django/contrib/gis/static/gis/js/OLMapWidget.js' data-cover></script>
88+
<script src='./gis/mapwidget.test.js'></script>
89+
8190
<script>
8291
if (location.href.match(/(\?|&)gruntReport($|&|=)/)) {
8392
blanket.options("reporter", "qunit/grunt-reporter.js");

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "Django",
33
"private": true,
44
"scripts": {
5-
"pretest": "eslint django/ js_tests/admin/",
5+
"pretest": "eslint django/ js_tests/admin/ js_tests/gis/",
66
"test": "grunt test --verbose"
77
},
88
"devDependencies": {

0 commit comments

Comments
 (0)