diff --git a/gnuviechadmin/osusers/tests/test_admin.py b/gnuviechadmin/osusers/tests/test_admin.py index 41a3867..ac8f10d 100644 --- a/gnuviechadmin/osusers/tests/test_admin.py +++ b/gnuviechadmin/osusers/tests/test_admin.py @@ -10,6 +10,7 @@ from osusers.models import ( ) from osusers.admin import ( PASSWORD_MISMATCH_ERROR, + UserAdmin, UserCreationForm, UserTaskResultInline, ) @@ -64,3 +65,45 @@ class UserCreationFormTest(TestCase): user = form.save() self.assertIsNotNone(user) self.assertEqual(User.objects.get(pk=user.uid), user) + + +class UserAdminTest(TestCase): + def setUp(self): + site = AdminSite() + self.uadmin = UserAdmin(User, site) + super(UserAdminTest, self).setUp() + + def test_get_form_without_object(self): + form = self.uadmin.get_form(Mock(name='request')) + self.assertEqual( + form.Meta.fields, + ['password1', 'password2'] + ) + + @override_settings( + CELERY_ALWAYS_EAGER=True, + CELERY_CACHE_BACKEND='memory', + BROKER_BACKEND='memory' + ) + def test_get_form_with_object(self): + user = User.objects.create_user() + form = self.uadmin.get_form(Mock(name='request'), user) + self.assertEqual( + form.Meta.fields, + ['username', 'group', 'gecos', 'homedir', 'shell', 'uid'] + ) + + def test_get_inline_instances_without_object(self): + inlines = self.uadmin.get_inline_instances(Mock(name='request')) + self.assertEqual(inlines, []) + + @override_settings( + CELERY_ALWAYS_EAGER=True, + CELERY_CACHE_BACKEND='memory', + BROKER_BACKEND='memory' + ) + def test_get_inline_instances_with_object(self): + user = User.objects.create_user() + inlines = self.uadmin.get_inline_instances( + Mock(name='request'), user) + self.assertEqual(len(inlines), len(UserAdmin.inlines))