|
@@ -1,7 +1,10 @@
|
|
|
|
+from django.conf import settings
|
|
from django.contrib.auth import get_user_model
|
|
from django.contrib.auth import get_user_model
|
|
from django.core.urlresolvers import reverse
|
|
from django.core.urlresolvers import reverse
|
|
from django.test import TestCase
|
|
from django.test import TestCase
|
|
|
|
|
|
|
|
+from misago.users.views.avatarserver import clean_size
|
|
|
|
+
|
|
|
|
|
|
class AvatarServerTests(TestCase):
|
|
class AvatarServerTests(TestCase):
|
|
def test_user_avatar_serving(self):
|
|
def test_user_avatar_serving(self):
|
|
@@ -33,3 +36,29 @@ class AvatarServerTests(TestCase):
|
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
self.assertEqual(response.status_code, 200)
|
|
self.assertEqual(response['Content-Type'], 'image/png')
|
|
self.assertEqual(response['Content-Type'], 'image/png')
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class CleanSizeTests(TestCase):
|
|
|
|
+ def test_size_too_big(self):
|
|
|
|
+ """clean_size returns max for too big size"""
|
|
|
|
+ max_size = max(settings.MISAGO_AVATARS_SIZES)
|
|
|
|
+ too_big = max_size * 2
|
|
|
|
+
|
|
|
|
+ self.assertEqual(clean_size(too_big), max_size)
|
|
|
|
+
|
|
|
|
+ def test_size_too_small(self):
|
|
|
|
+ """clean_size returns min for too small size"""
|
|
|
|
+ min_size = min(settings.MISAGO_AVATARS_SIZES)
|
|
|
|
+ too_small = min_size / 2
|
|
|
|
+
|
|
|
|
+ self.assertEqual(clean_size(too_small), min_size)
|
|
|
|
+
|
|
|
|
+ def test_mid_sizes(self):
|
|
|
|
+ """clean_size returns approximates for little invalid sizes"""
|
|
|
|
+ for size in settings.MISAGO_AVATARS_SIZES:
|
|
|
|
+ self.assertEqual(clean_size(size - 1), size)
|
|
|
|
+
|
|
|
|
+ def test_valid_sizes(self):
|
|
|
|
+ """clean_size returns valid sizes untouched"""
|
|
|
|
+ for size in settings.MISAGO_AVATARS_SIZES:
|
|
|
|
+ self.assertEqual(clean_size(size), size)
|