test_shortcuts.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from django.core.urlresolvers import reverse
  2. from django.test import TestCase
  3. class PaginateTests(TestCase):
  4. urls = 'misago.core.testproject.urls'
  5. def test_valid_page_handling(self):
  6. """Valid page number causes no errors"""
  7. response = self.client.get(
  8. reverse('test_pagination', kwargs={'page': 2}))
  9. self.assertEqual("5,6,7,8,9", response.content)
  10. def test_invalid_page_handling(self):
  11. """Invalid page number results in 404 error"""
  12. response = self.client.get(
  13. reverse('test_pagination', kwargs={'page': 42}))
  14. self.assertEqual(response.status_code, 404)
  15. def test_implicit_page_handling(self):
  16. """Implicit page number causes no errors"""
  17. response = self.client.get(
  18. reverse('test_pagination'))
  19. self.assertEqual("0,1,2,3,4", response.content)
  20. def test_explicit_page_handling(self):
  21. """Explicit page number results in redirect"""
  22. response = self.client.get(
  23. reverse('test_pagination', kwargs={'page': 1}))
  24. valid_url = "http://testserver/forum/test-pagination/"
  25. self.assertEqual(response['Location'], valid_url)
  26. class ValidateSlugTests(TestCase):
  27. urls = 'misago.core.testproject.urls'
  28. def test_valid_slug_handling(self):
  29. """Valid slug causes no interruption in view processing"""
  30. test_kwargs = {'model_slug': 'eric-the-fish', 'model_id': 1}
  31. response = self.client.get(
  32. reverse('validate_slug_view', kwargs=test_kwargs))
  33. self.assertIn("Allright", response.content)
  34. def test_invalid_slug_handling(self):
  35. """Invalid slug returns in redirect to valid page"""
  36. test_kwargs = {'model_slug': 'lion-the-eric', 'model_id': 1}
  37. response = self.client.get(
  38. reverse('validate_slug_view', kwargs=test_kwargs))
  39. valid_url = "http://testserver/forum/test-valid-slug/eric-the-fish-1/"
  40. self.assertEqual(response['Location'], valid_url)