test_shortcuts.py 2.0 KB

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