예제 #1
0
    def test_get_map_centre_with_value(self):
        data = self._get_init_data()
        widget = MapInput(**data)

        given_address = 'Torchbox, Charlbury, Chipping Norton, UK'
        map_centre = widget.get_map_centre(given_address)
        self.assertEqual(map_centre, given_address)
예제 #2
0
    def test_get_map_id(self):
        data = self._get_init_data()
        widget = MapInput(**data)

        field_id = 'the-field'
        expected_map_id = '{}-map-canvas'.format(field_id)
        map_id = widget.get_map_id(field_id)
        self.assertEqual(map_id, expected_map_id)
예제 #3
0
    def test_get_context(self):
        data = self._get_init_data()
        widget = MapInput(**data)
        field_id = 'the-id'

        expected_context = {
            'address': data['default_centre'],
            'zoom': data['zoom'],
            'map_id': widget.get_map_id(field_id),
            'gmaps_api_key': settings.WAGTAIL_ADDRESS_MAP_KEY,
        }
        context = widget.get_context('the-name', None, {'id': field_id})

        self.assertTrue(expected_context.items() <= context.items())
예제 #4
0
    def test_factory_is_valid(self):
        data = self._get_init_data()
        widget = MapInput(**data)

        self.assertEqual(widget.default_centre, data['default_centre'])
        self.assertEqual(widget.zoom, data['zoom'])
        self.assertEqual(widget.latlng, data['latlng'])
예제 #5
0
    def test_init_raises_for_missing_api_key(self):
        del settings.WAGTAIL_ADDRESS_MAP_KEY

        data = self._get_init_data()
        with self.assertRaises(Exception) as cm:
            MapInput(**data)

        self.assertEqual(str(cm.exception), 'Google Maps API key is missing from settings')
예제 #6
0
    def test_media_js(self):
        data = self._get_init_data()
        widget = MapInput(**data)

        js = widget.media._js
        self.assertEqual(len(js), 2)
        self.assertEqual(
            js[0], 'https://maps.googleapis.com/maps/api/js?key={}'.format(settings.WAGTAIL_ADDRESS_MAP_KEY))
        self.assertEqual(js[1], 'wagtailgmaps/js/map-field-panel.js')
예제 #7
0
    def test_media_css(self):
        data = self._get_init_data()
        widget = MapInput(**data)

        css = widget.media._css
        self.assertEqual(len(css), 1)
        self.assertIn('screen', css)
        self.assertEqual(len(css['screen']), 1)
        self.assertEqual(css['screen'][0], 'wagtailgmaps/css/admin.css')
예제 #8
0
    def test_get_map_id_raises_with_no_field_id(self):
        data = self._get_init_data()
        widget = MapInput(**data)

        with self.assertRaises(AssertionError):
            widget.get_map_id(None)

        with self.assertRaises(AssertionError):
            widget.get_map_id('')
예제 #9
0
    def test_render_js_init_method_name(self):
        data = self._get_init_data()
        widget = MapInput(**data)

        js_init = widget.render_js_init('the-id', 'the-name', 'the address')
        self.assertIn('window.initialize_map', js_init)
예제 #10
0
    def test_get_map_centre_for_empty_value(self):
        data = self._get_init_data()
        widget = MapInput(**data)

        map_centre = widget.get_map_centre('')
        self.assertEqual(map_centre, data['default_centre'])
예제 #11
0
 def _get_widget(self):
     data = self._get_init_data()
     return MapInput(**data)
예제 #12
0
    def test_media_js_map_with_lang(self):
        data = self._get_init_data()
        widget = MapInput(**data)

        js = widget.media._js
        self.assertIn('&language=ru', js[0])