test_registration_views.py 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. from django.contrib.auth import get_user_model
  2. from django.core.urlresolvers import reverse
  3. from django.test import TestCase
  4. from misago.conf import settings
  5. class RegisterDecoratorTests(TestCase):
  6. def tearDown(self):
  7. settings.reset_settings()
  8. def test_register_decorator_calls_valid_view_200(self):
  9. """register decorator calls valid view"""
  10. settings.override_setting('account_activation', 'disabled')
  11. response = self.client.get(reverse('misago:register'))
  12. self.assertEqual(response.status_code, 200)
  13. self.assertIn('new registrations are not currently accepted',
  14. response.content)
  15. settings.override_setting('account_activation', 'none')
  16. response = self.client.get(reverse('misago:register'))
  17. self.assertEqual(response.status_code, 200)
  18. self.assertIn('Register new account',
  19. response.content)
  20. class RegisterViewTests(TestCase):
  21. def test_register_view_get_returns_200(self):
  22. """register view returns 200 on GET"""
  23. response = self.client.get(reverse('misago:register'))
  24. self.assertEqual(response.status_code, 200)
  25. def test_register_view_post_creates_active_user(self):
  26. """register view creates active and signed in user on POST"""
  27. settings.override_setting('account_activation', 'none')
  28. response = self.client.post(reverse('misago:register'),
  29. data={'username': 'Bob',
  30. 'email': 'bob@bob.com',
  31. 'password': 'pass123'})
  32. self.assertEqual(response.status_code, 302)
  33. response = self.client.get(reverse('misago:index'))
  34. self.assertIn('Bob', response.content)
  35. User = get_user_model()
  36. user = User.objects.get_by_username('Bob')
  37. user = User.objects.get_by_email('bob@bob.com')
  38. response = self.client.get(reverse('misago:index'))
  39. self.assertIn('Bob', response.content)
  40. def test_register_view_post_creates_inactive_user(self):
  41. """register view creates inactive user on POST"""
  42. settings.override_setting('account_activation', 'user')
  43. response = self.client.post(reverse('misago:register'),
  44. data={'username': 'Bob',
  45. 'email': 'bob@bob.com',
  46. 'password': 'pass123'})
  47. self.assertEqual(response.status_code, 302)
  48. response = self.client.get(reverse('misago:register_completed'))
  49. self.assertIn('bob@bob.com', response.content)
  50. User = get_user_model()
  51. user = User.objects.get_by_username('Bob')
  52. user = User.objects.get_by_email('bob@bob.com')
  53. def test_register_view_post_creates_admin_activated_user(self):
  54. """register view creates admin activated user on POST"""
  55. settings.override_setting('account_activation', 'admin')
  56. response = self.client.post(reverse('misago:register'),
  57. data={'username': 'Bob',
  58. 'email': 'bob@bob.com',
  59. 'password': 'pass123'})
  60. self.assertEqual(response.status_code, 302)
  61. response = self.client.get(reverse('misago:register_completed'))
  62. self.assertIn('administrator', response.content)
  63. User = get_user_model()
  64. user = User.objects.get_by_username('Bob')
  65. user = User.objects.get_by_email('bob@bob.com')