rafalp 6 лет назад
Родитель
Сommit
6359d07b2f

+ 5 - 7
misago/users/models/user.py

@@ -43,8 +43,8 @@ class UserManager(BaseUserManager):
             user.rank = Rank.objects.get_default()
 
         now = timezone.now()
-        user.last_login=now
-        user.joined_on=now
+        user.last_login = now
+        user.joined_on = now
 
         user.save(using=self._db)
         self._assert_user_has_authenticated_role(user)
@@ -74,15 +74,13 @@ class UserManager(BaseUserManager):
         if extra_fields.get('is_superuser') is not True:
             raise ValueError('Superuser must have is_superuser=True.')
 
-        user = self._create_user(username, email, password, **extra_fields)
-
         try:
-            user.rank = Rank.objects.get(name=_("Forum team"))
-            user.update_acl_key()
+            if not extra_fields.get('rank'):
+                extra_fields["rank"] = Rank.objects.get(name=_("Forum team"))
         except Rank.DoesNotExist:
             pass
 
-        return user
+        return self._create_user(username, email, password, **extra_fields)
 
     def get_by_username(self, username):
         return self.get(slug=slugify(username))

+ 3 - 3
misago/users/tests/test_mention_api.py

@@ -32,7 +32,7 @@ class AuthenticateApiTests(TestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.json(), [
             {
-                'avatar': 'http://placekitten.com/400/400',
+                'avatar': 'http://placekitten.com/100/100',
                 'username': 'BobBoberson',
             }
         ])
@@ -42,7 +42,7 @@ class AuthenticateApiTests(TestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.json(), [
             {
-                'avatar': 'http://placekitten.com/400/400',
+                'avatar': 'http://placekitten.com/100/100',
                 'username': 'BobBoberson',
             }
         ])
@@ -52,7 +52,7 @@ class AuthenticateApiTests(TestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.json(), [
             {
-                'avatar': 'http://placekitten.com/400/400',
+                'avatar': 'http://placekitten.com/100/100',
                 'username': 'BobBoberson',
             }
         ])

+ 6 - 4
misago/users/tests/test_profile_views.py

@@ -5,7 +5,9 @@ from misago.acl.test import patch_user_acl
 from misago.categories.models import Category
 from misago.threads import testutils
 from misago.users.models import Ban
-from misago.users.testutils import AuthenticatedUserTestCase
+from misago.users.testutils import (
+    AuthenticatedUserTestCase, create_test_user
+)
 
 
 UserModel = get_user_model()
@@ -34,7 +36,7 @@ class UserProfileViewsTests(AuthenticatedUserTestCase):
         self.user.is_staff = False
         self.user.save()
 
-        test_user = UserModel.objects.create_user('Tyrael', 't123@test.com', 'pass123')
+        test_user = create_test_user('Tyrael', 't123@test.com')
 
         test_user.is_active = False
         test_user.save()
@@ -50,7 +52,7 @@ class UserProfileViewsTests(AuthenticatedUserTestCase):
 
         # profile page displays notice about user being disabled
         response = self.client.get(response['location'])
-        self.assertContains(response, "account has been disabled", status_code=200)
+        self.assertContains(response, "account has been disabled")
 
     def test_user_posts_list(self):
         """user profile posts list has no showstoppers"""
@@ -184,7 +186,7 @@ class UserProfileViewsTests(AuthenticatedUserTestCase):
 
     def test_user_ban_details(self):
         """user ban details page has no showstoppers"""
-        test_user = UserModel.objects.create_user("Bob", "bob@bob.com", 'pass.123')
+        test_user = create_test_user("Bob", "bob@bob.com", 'pass.123')
         link_kwargs = {'slug': test_user.slug, 'pk': test_user.pk}
 
         with patch_user_acl({'can_see_ban_details': 0}):

+ 23 - 2
misago/users/tests/test_twitter_profilefield.py

@@ -145,7 +145,18 @@ class TwitterProfileFieldTests(AdminTestCase):
         response = self.client.get(test_link)
         self.assertEqual(
             response.json()['groups'],
-            []
+            [
+                {
+                    'name': 'IP address',
+                    'fields': [
+                        {
+                            'fieldname': 'join_ip',
+                            'name': 'Join IP',
+                            'text': '127.0.0.1',
+                        },
+                    ],
+                },
+            ]
         )
 
         self.user.profile_fields['twitter'] = 'lorem_ipsum'
@@ -165,7 +176,17 @@ class TwitterProfileFieldTests(AdminTestCase):
                             'url': 'https://twitter.com/lorem_ipsum',
                         }
                     ],
-                }
+                },
+                {
+                    'name': 'IP address',
+                    'fields': [
+                        {
+                            'fieldname': 'join_ip',
+                            'name': 'Join IP',
+                            'text': '127.0.0.1',
+                        },
+                    ],
+                },
             ]
         )