class AdminUserPageTest(TestCase): """ Unit tests for the UserAdmin view. """ def setUp(self): super(AdminUserPageTest, self).setUp() self.admin = UserAdmin(User, AdminSite()) def test_username_is_writable_for_user_creation(self): """ Ensures that the username is not readonly, when admin creates new user. """ request = Mock() self.assertNotIn('username', self.admin.get_readonly_fields(request)) def test_username_is_readonly_for_user(self): """ Ensures that the username field is readonly, when admin open user which already exists. This hook used for skip Django validation in the `auth_user_change` view. Changing the username is still possible using the database or from the model directly. However, changing the username might cause issues with the logs and/or the cs_comments_service since it stores the username in a different database. """ request = Mock() user = Mock() self.assertIn('username', self.admin.get_readonly_fields(request, user))
class AdminUserPageTest(TestCase): """ Unit tests for the UserAdmin view. """ def setUp(self): super(AdminUserPageTest, self).setUp() self.admin = UserAdmin(User, AdminSite()) def test_username_is_readonly(self): """ Ensures that the username is readonly to skip Django validation in the `auth_user_change` view. Changing the username is still possible using the database or from the model directly. However, changing the username might cause issues with the logs and/or the cs_comments_service since it stores the username in a different database. """ request = Mock() self.assertIn('username', self.admin.get_readonly_fields(request))