test_preferences.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from django.contrib.auth.models import User
  2. from django.test import override_settings, TestCase
  3. from users.preferences import UserPreference
  4. DEFAULT_USER_PREFERENCES = {
  5. 'pagination': {
  6. 'per_page': 250,
  7. }
  8. }
  9. class UserPreferencesTest(TestCase):
  10. def test_userpreference(self):
  11. CHOICES = (
  12. ('foo', 'Foo'),
  13. ('bar', 'Bar'),
  14. )
  15. kwargs = {
  16. 'label': 'Test Preference',
  17. 'choices': CHOICES,
  18. 'default': CHOICES[0][0],
  19. 'description': 'Description',
  20. }
  21. userpref = UserPreference(**kwargs)
  22. self.assertEqual(userpref.label, kwargs['label'])
  23. self.assertEqual(userpref.choices, kwargs['choices'])
  24. self.assertEqual(userpref.default, kwargs['default'])
  25. self.assertEqual(userpref.description, kwargs['description'])
  26. @override_settings(DEFAULT_USER_PREFERENCES=DEFAULT_USER_PREFERENCES)
  27. def test_default_preferences(self):
  28. user = User.objects.create(username='User 1')
  29. userconfig = user.config
  30. self.assertEqual(userconfig.data, DEFAULT_USER_PREFERENCES)