37
42
class TestWLMaps_ValidUpload_ExceptCorrectResult(_LoginToSite):
39
45
url = reverse('wlmaps_upload')
40
c = self.client.post(url, {'file': open(elven_forests,"rb"), 'test': True })
47
url, {'file': open(elven_forests, 'rb'), 'test': True})
42
49
o = Map.objects.get(pk=1)
43
self.assertEqual(o.name, "Elven Forests")
44
self.assertEqual(o.author, "Winterwind")
50
self.assertEqual(o.name, 'Elven Forests')
51
self.assertEqual(o.author, 'Winterwind')
45
54
class TestWLMaps_AnonUpload_ExceptRedirect(DjangoTest):
47
57
url = reverse('wlmaps_upload')
48
k = self.client.post(url, {'file': open(elven_forests,"rb") })
49
self.assertRedirects( k, reverse('django.contrib.auth.views.login') + '?next=%s' %url )
58
k = self.client.post(url, {'file': open(elven_forests, 'rb')})
59
self.assertRedirects(k, reverse(
60
'django.contrib.auth.views.login') + '?next=%s' % url)
52
63
# Invalid Uploading
53
64
class TestWLMaps_UploadWithoutMap_ExceptError(_LoginToSite):
55
67
url = reverse('wlmaps_upload')
56
k = self.client.post(url, {'test': True })
68
k = self.client.post(url, {'test': True})
57
69
self.assertEqual(len(Map.objects.all()), 0)
58
72
class TestWLMaps_UploadTwice_ExceptCorrectResult(_LoginToSite):
60
75
url = reverse('wlmaps_upload')
61
self.client.post(url, {'file': open(elven_forests,"rb"), 'test': True })
62
self.assertEqual(len(Map.objects.all()), 1)
64
self.client.post(url, {'file': open(elven_forests,"rb"), 'test': True })
65
self.assertEqual(len(Map.objects.all()), 1)
77
url, {'file': open(elven_forests, 'rb'), 'test': True})
78
self.assertEqual(len(Map.objects.all()), 1)
81
url, {'file': open(elven_forests, 'rb'), 'test': True})
82
self.assertEqual(len(Map.objects.all()), 1)
66
85
class TestWLMaps_UploadWithInvalidMap_ExceptError(_LoginToSite):
68
88
url = reverse('wlmaps_upload')
69
self.client.post(url, {'file': open(__file__,"rb"), 'test': True })
89
self.client.post(url, {'file': open(__file__, 'rb'), 'test': True})
70
90
self.assertEqual(len(Map.objects.all()), 0)
73
95
class TestWLMapsViews_Viewing(DjangoTest):
75
self.user = User.objects.create(username="testuser")
98
self.user = User.objects.create(username='testuser')
79
102
nm = Map.objects.create(
85
descr = "a good map to play with",
86
minimap = "/wlmaps/minimaps/Map.png",
87
world_name = "blackland",
108
descr='a good map to play with',
109
minimap='/wlmaps/minimaps/Map.png',
110
world_name='blackland',
90
uploader_comment = "Rockdamap"
113
uploader_comment='Rockdamap'
94
117
nm = Map.objects.create(
95
name = "Map with a long slug",
96
author = "Author Paul",
100
descr = "a good map to play with",
101
minimap = "/wlmaps/minimaps/Map with long slug.png",
102
world_name = "blackland",
118
name='Map with a long slug',
119
author='Author Paul',
123
descr='a good map to play with',
124
minimap='/wlmaps/minimaps/Map with long slug.png',
125
world_name='blackland',
104
uploader = self.user,
105
uploader_comment = "Rockdamap"
128
uploader_comment='Rockdamap'
110
133
def test_ViewingValidMap_ExceptCorrectResult(self):
111
c = self.client.get(reverse("wlmaps_view",args=("map-with-a-long-slug",)))
112
self.assertEqual(c.status_code, 200 )
113
self.assertEqual(c.context["object"], Map.objects.get(slug="map-with-a-long-slug"))
114
self.assertTemplateUsed( c, 'wlmaps/map_detail.html' )
135
reverse('wlmaps_view', args=('map-with-a-long-slug',)))
136
self.assertEqual(c.status_code, 200)
137
self.assertEqual(c.context['object'], Map.objects.get(
138
slug='map-with-a-long-slug'))
139
self.assertTemplateUsed(c, 'wlmaps/map_detail.html')
116
141
def test_ViewingNonExistingMap_Except404(self):
117
c = self.client.get(reverse("wlmaps_view",args=("a-map-that-doesnt-exist",)))
118
self.assertEqual(c.status_code, 404 )
143
reverse('wlmaps_view', args=('a-map-that-doesnt-exist',)))
144
self.assertEqual(c.status_code, 404)
124
150
class TestWLMapsViews_Rating(_LoginToSite):
126
153
_LoginToSite.setUp(self)
129
156
nm = Map.objects.create(
135
descr = "a good map to play with",
136
minimap = "/wlmaps/minimaps/Map.png",
137
world_name = "blackland",
162
descr='a good map to play with',
163
minimap='/wlmaps/minimaps/Map.png',
164
world_name='blackland',
139
uploader = self.user,
140
uploader_comment = "Rockdamap"
167
uploader_comment='Rockdamap'
145
172
def test_RatingNonExistingMap_Except404(self):
146
173
c = self.client.post(
147
reverse("wlmaps_rate",args=("a-map-that-doesnt-exist",)),
149
self.assertEqual(c.status_code, 404 )
174
reverse('wlmaps_rate', args=('a-map-that-doesnt-exist',)),
176
self.assertEqual(c.status_code, 404)
151
178
def test_RatingGet_Except405(self):
152
179
c = self.client.get(
153
reverse("wlmaps_rate",args=("map",)),
155
self.assertEqual(c.status_code, 405 )
180
reverse('wlmaps_rate', args=('map',)),
182
self.assertEqual(c.status_code, 405)
157
184
def test_RatingInvalidValue_Except400(self):
158
185
c = self.client.post(
159
reverse("wlmaps_rate",args=("map",)),
161
self.assertEqual(c.status_code, 400 )
186
reverse('wlmaps_rate', args=('map',)),
188
self.assertEqual(c.status_code, 400)
163
190
def test_RatingNonIntegerValue_Except400(self):
164
191
c = self.client.post(
165
reverse("wlmaps_rate",args=("map",)),
166
{ "vote": "shubidu" } )
167
self.assertEqual(c.status_code, 400 )
192
reverse('wlmaps_rate', args=('map',)),
194
self.assertEqual(c.status_code, 400)
169
196
def test_RatingExistingMap_ExceptCorrectResult(self):
170
197
c = self.client.post(
171
reverse("wlmaps_rate",args=("map",)),
198
reverse('wlmaps_rate', args=('map',)),
173
200
# Except redirect
174
self.assertEqual(c.status_code, 302 )
201
self.assertEqual(c.status_code, 302)
176
203
# We have to refetch this map, because
177
204
# votes doesn't hit the database
178
m = Map.objects.get(slug="map")
205
m = Map.objects.get(slug='map')
180
207
self.assertEqual(m.rating.votes, 1)
181
208
self.assertEqual(m.rating.score, 7)