tests.py 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. from django.core.urlresolvers import reverse
  2. from django.test import TestCase
  3. from misago.conf import settings
  4. class TermsOfServiceTests(TestCase):
  5. def tearDown(self):
  6. settings.reset_settings()
  7. def test_404_on_no_tos(self):
  8. """TOS view returns 404 when no TOS is set"""
  9. self.assertFalse(settings.terms_of_service_link)
  10. self.assertFalse(settings.terms_of_service)
  11. response = self.client.get(reverse('misago:terms_of_service'))
  12. self.assertEqual(response.status_code, 404)
  13. def test_301_on_link_tos(self):
  14. """TOS view returns 302 redirect when link is set"""
  15. settings.override_setting('terms_of_service_link', 'http://test.com')
  16. settings.override_setting('terms_of_service', 'Lorem ipsum')
  17. self.assertTrue(settings.terms_of_service_link)
  18. self.assertTrue(settings.terms_of_service)
  19. response = self.client.get(reverse('misago:terms_of_service'))
  20. self.assertEqual(response.status_code, 302)
  21. self.assertEqual(response['location'], 'http://test.com')
  22. def test_200_on_link_tos(self):
  23. """TOS view returns 200 when custom tos content is set"""
  24. settings.override_setting('terms_of_service_title', 'Test ToS')
  25. settings.override_setting('terms_of_service', 'Lorem ipsum dolor')
  26. self.assertTrue(settings.terms_of_service_title)
  27. self.assertTrue(settings.terms_of_service)
  28. response = self.client.get(reverse('misago:terms_of_service'))
  29. self.assertEqual(response.status_code, 200)
  30. self.assertIn('Test ToS', response.content)
  31. self.assertIn('Lorem ipsum dolor', response.content)
  32. class PrivacyPolicyTests(TestCase):
  33. def tearDown(self):
  34. settings.reset_settings()
  35. def test_404_on_no_policy(self):
  36. """policy view returns 404 when no policy is set"""
  37. self.assertFalse(settings.privacy_policy_link)
  38. self.assertFalse(settings.privacy_policy)
  39. response = self.client.get(reverse('misago:privacy_policy'))
  40. self.assertEqual(response.status_code, 404)
  41. def test_301_on_link_policy(self):
  42. """policy view returns 302 redirect when link is set"""
  43. settings.override_setting('privacy_policy_link', 'http://test.com')
  44. settings.override_setting('privacy_policy', 'Lorem ipsum')
  45. self.assertTrue(settings.privacy_policy_link)
  46. self.assertTrue(settings.privacy_policy)
  47. response = self.client.get(reverse('misago:privacy_policy'))
  48. self.assertEqual(response.status_code, 302)
  49. self.assertEqual(response['location'], 'http://test.com')
  50. def test_200_on_link_policy(self):
  51. """policy view returns 200 when custom tos content is set"""
  52. settings.override_setting('privacy_policy_title', 'Test Policy')
  53. settings.override_setting('privacy_policy', 'Lorem ipsum dolor')
  54. self.assertTrue(settings.privacy_policy_title)
  55. self.assertTrue(settings.privacy_policy)
  56. response = self.client.get(reverse('misago:privacy_policy'))
  57. self.assertEqual(response.status_code, 200)
  58. self.assertIn('Test Policy', response.content)
  59. self.assertIn('Lorem ipsum dolor', response.content)