3 |
3 |
import mock
|
4 |
4 |
import pytest
|
5 |
5 |
|
|
6 |
from django.conf import settings
|
6 |
7 |
from django.contrib.auth.models import User
|
7 |
|
from django.test.client import RequestFactory
|
8 |
|
from django.core.urlresolvers import reverse
|
9 |
8 |
from django.contrib.auth.models import Group
|
|
9 |
from django.core.urlresolvers import reverse
|
|
10 |
from django.test.client import RequestFactory
|
|
11 |
from django.utils.html import escape
|
10 |
12 |
|
11 |
13 |
from combo.data.models import Page
|
12 |
14 |
from combo.apps.maps.models import MapLayer, Map, MapLayerOptions
|
... | ... | |
88 |
90 |
}'''
|
89 |
91 |
|
90 |
92 |
|
91 |
|
|
92 |
93 |
@pytest.fixture
|
93 |
94 |
def user():
|
94 |
95 |
try:
|
... | ... | |
97 |
98 |
user = User.objects.create_user('admin', email='admin@localhost', password='admin')
|
98 |
99 |
return user
|
99 |
100 |
|
|
101 |
|
100 |
102 |
@pytest.fixture
|
101 |
103 |
def layer():
|
102 |
104 |
try:
|
... | ... | |
111 |
113 |
layer.save()
|
112 |
114 |
return layer
|
113 |
115 |
|
|
116 |
|
|
117 |
@pytest.fixture
|
|
118 |
def tiles_layer():
|
|
119 |
return MapLayer.objects.create(
|
|
120 |
label='Test2',
|
|
121 |
kind='tiles',
|
|
122 |
tiles_template_url='http://somedomain.com/blabla/{z}/{x}/{y}{r}.png',
|
|
123 |
tiles_attribution='Foo bar',
|
|
124 |
tiles_default=True,
|
|
125 |
)
|
|
126 |
|
|
127 |
|
114 |
128 |
def test_cell_disabled():
|
115 |
129 |
MapLayer.objects.all().delete()
|
116 |
130 |
assert Map.is_enabled() is False
|
... | ... | |
118 |
132 |
def test_cell_enabled(layer):
|
119 |
133 |
assert Map.is_enabled() is True
|
120 |
134 |
|
121 |
|
def test_cell_rendering(app, layer):
|
|
135 |
def test_cell_rendering(app, layer, tiles_layer):
|
122 |
136 |
page = Page(title='xxx', slug='test_map_cell', template_name='standard')
|
123 |
137 |
page.save()
|
124 |
138 |
cell = Map(page=page, placeholder='content', order=0, title='Map with points')
|
... | ... | |
133 |
147 |
assert 'data-init-lng="2.3233688436448574"' in rendered
|
134 |
148 |
assert 'data-geojson-url="/ajax/mapcell/geojson/1/"' in rendered
|
135 |
149 |
assert 'data-group-markers="1"' not in rendered
|
|
150 |
assert 'data-tile-urltemplate="%s"' % tiles_layer.tiles_template_url in rendered
|
|
151 |
assert 'data-map-attribution="%s"' % tiles_layer.tiles_attribution in rendered
|
136 |
152 |
resp = app.get('/test_map_cell/')
|
137 |
153 |
assert 'xstatic/leaflet.js' in resp.text
|
138 |
154 |
assert 'js/combo.map.js' in resp.text
|
... | ... | |
144 |
160 |
rendered = cell.render(context)
|
145 |
161 |
assert 'data-group-markers="1"' in rendered
|
146 |
162 |
|
|
163 |
tiles_layer.tiles_default = False
|
|
164 |
tiles_layer.save()
|
|
165 |
rendered = cell.render(context)
|
|
166 |
assert 'data-tile-urltemplate="%s"' % settings.COMBO_MAP_TILE_URLTEMPLATE in rendered
|
|
167 |
assert 'data-map-attribution="%s"' % escape(settings.COMBO_MAP_ATTRIBUTION) in rendered
|
|
168 |
|
|
169 |
tiles_layer.delete()
|
|
170 |
rendered = cell.render(context)
|
|
171 |
assert 'data-tile-urltemplate="%s"' % settings.COMBO_MAP_TILE_URLTEMPLATE in rendered
|
|
172 |
assert 'data-map-attribution="%s"' % escape(settings.COMBO_MAP_ATTRIBUTION) in rendered
|
|
173 |
|
147 |
174 |
|
148 |
175 |
def test_get_geojson_on_non_public_page(app, layer):
|
149 |
176 |
page = Page(title='xxx', slug='new', template_name='standard',
|
150 |
|
-
|