Browse Source

Test suite for users avatars service

Rafał Pitoń 11 years ago
parent
commit
0c63327f03
1 changed files with 49 additions and 1 deletions
  1. 49 1
      misago/users/tests/test_avatars.py

+ 49 - 1
misago/users/tests/test_avatars.py

@@ -6,7 +6,7 @@ from django.test import TestCase
 
 from misago.conf import settings
 
-from misago.users.avatars import store
+from misago.users.avatars import store, dynamic, gallery, gravatar
 from misago.users.avatars.paths import AVATARS_STORE
 
 
@@ -42,3 +42,51 @@ class AvatarsStoreTests(TestCase):
 
         # Delete avatar
         store.delete_avatar(test_user)
+
+
+class AvatarSetterTests(TestCase):
+    def setUp(self):
+        User = get_user_model()
+        self.user = User.objects.create_user(
+            'Bob', 'kontakt@rpiton.com', 'pass123')
+        store.delete_avatar(self.user)
+
+    def tearDown(self):
+        store.delete_avatar(self.user)
+
+    def assertNoAvatarIsSet(self):
+        avatar_dir = store.get_existing_avatars_dir(self.user)
+        for size in settings.MISAGO_AVATARS_SIZES:
+            avatar = path('%s/%s_%s.png' % (avatar_dir, self.user.pk, size))
+            self.assertFalse(avatar.exists())
+
+    def assertAvatarWasSet(self):
+        avatar_dir = store.get_existing_avatars_dir(self.user)
+        for size in settings.MISAGO_AVATARS_SIZES:
+            avatar = path('%s/%s_%s.png' % (avatar_dir, self.user.pk, size))
+            self.assertTrue(avatar.exists())
+            self.assertTrue(avatar.isfile())
+
+    def test_dynamic_avatar(self):
+        """dynamic avatar gets created"""
+        self.assertNoAvatarIsSet()
+        dynamic.set_avatar(self.user)
+        self.assertAvatarWasSet()
+
+    def test_random_gallery_avatar(self):
+        """dynamic avatar gets created"""
+        self.assertNoAvatarIsSet()
+        gallery.set_random_avatar(self.user)
+        self.assertAvatarWasSet()
+
+    def test_selected_gallery_avatar(self):
+        """dynamic avatar gets created"""
+        self.assertNoAvatarIsSet()
+        gallery.set_avatar(self.user, 'avatars/Nature/serval.jpg')
+        self.assertAvatarWasSet()
+
+    def test_gravatar(self):
+        """dynamic avatar gets created"""
+        self.assertNoAvatarIsSet()
+        gravatar.set_avatar(self.user)
+        self.assertAvatarWasSet()