Commit 1e8d4825 authored by Claude Paroz's avatar Claude Paroz
Browse files

Added basic JS tests for OLMapWidget.js

Thanks Trey Hunner for cleaning the initial patch and Tim Graham for
the review.
parent 914167ab
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
/* 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');
});
+9 −0
Original line number Diff line number Diff line
@@ -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");
+1 −1
Original line number Diff line number Diff line
@@ -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": {