test_namechanges.py 989 B

1234567891011121314151617181920212223242526272829303132
  1. from django.contrib.auth import get_user_model
  2. from django.test import TestCase
  3. from misago.users.namechanges import get_available_namechanges_data
  4. UserModel = get_user_model()
  5. class UsernameChangesTests(TestCase):
  6. def test_username_changes_helper(self):
  7. """username changes are tracked correctly"""
  8. test_user = UserModel.objects.create_user('Bob', 'bob@bob.com', 'pass123')
  9. namechanges = get_available_namechanges_data(test_user)
  10. self.assertEqual(namechanges, {
  11. 'changes_left': 2,
  12. 'next_change_on': None,
  13. })
  14. self.assertEqual(test_user.namechanges.count(), 0)
  15. test_user.set_username('Boberson')
  16. test_user.save(update_fields=['username', 'slug'])
  17. namechanges = get_available_namechanges_data(test_user)
  18. self.assertEqual(namechanges, {
  19. 'changes_left': 1,
  20. 'next_change_on': None,
  21. })
  22. self.assertEqual(test_user.namechanges.count(), 1)