test_admin_index.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. from django.test import TestCase, override_settings
  2. from django.urls import reverse
  3. from misago.admin.testutils import AdminTestCase
  4. from misago.admin.views.index import check_misago_address
  5. class AdminIndexViewTests(AdminTestCase):
  6. def test_view_returns_200(self):
  7. """admin index view returns 200"""
  8. response = self.client.get(reverse("misago:admin:index"))
  9. self.assertContains(response, self.user.username)
  10. def test_view_contains_address_check(self):
  11. """admin index view contains address check"""
  12. response = self.client.get(reverse("misago:admin:index"))
  13. self.assertContains(response, "MISAGO_ADDRESS")
  14. class RequestMock(object):
  15. absolute_uri = "https://misago-project.org/somewhere/"
  16. def build_absolute_uri(self, location):
  17. assert location == "/"
  18. return self.absolute_uri
  19. request = RequestMock()
  20. incorrect_address = "http://somewhere.com"
  21. correct_address = request.absolute_uri
  22. class AdminIndexAddressCheckTests(TestCase):
  23. @override_settings(MISAGO_ADDRESS=None)
  24. def test_address_not_set(self):
  25. """check handles address not set"""
  26. result = check_misago_address(request)
  27. self.assertEqual(
  28. result,
  29. {
  30. "is_correct": False,
  31. "set_address": None,
  32. "correct_address": request.absolute_uri,
  33. },
  34. )
  35. @override_settings(MISAGO_ADDRESS=incorrect_address)
  36. def test_address_set_invalid(self):
  37. """check handles incorrect address"""
  38. result = check_misago_address(request)
  39. self.assertEqual(
  40. result,
  41. {
  42. "is_correct": False,
  43. "set_address": incorrect_address,
  44. "correct_address": request.absolute_uri,
  45. },
  46. )
  47. @override_settings(MISAGO_ADDRESS=correct_address)
  48. def test_address_set_valid(self):
  49. """check handles correct address"""
  50. result = check_misago_address(request)
  51. self.assertEqual(
  52. result,
  53. {
  54. "is_correct": True,
  55. "set_address": correct_address,
  56. "correct_address": request.absolute_uri,
  57. },
  58. )