test_admin_index_view.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from django.test import override_settings
  2. from django.urls import reverse
  3. from ...test import assert_contains
  4. from ..views.index import check_misago_address
  5. admin_link = reverse("misago:admin:index")
  6. def test_view_has_no_showstoppers(admin_client):
  7. response = admin_client.get(admin_link)
  8. assert response.status_code == 200
  9. def test_view_has_misago_address_check(admin_client):
  10. response = admin_client.get(admin_link)
  11. assert_contains(response, "MISAGO_ADDRESS")
  12. class RequestMock:
  13. absolute_uri = "https://misago-project.org/somewhere/"
  14. def build_absolute_uri(self, location):
  15. assert location == "/"
  16. return self.absolute_uri
  17. request = RequestMock()
  18. incorrect_address = "http://somewhere.com"
  19. correct_address = request.absolute_uri
  20. @override_settings(MISAGO_ADDRESS=None)
  21. def test_misago_address_check_handles_setting_not_configured():
  22. result = check_misago_address(request)
  23. assert result == {
  24. "is_correct": False,
  25. "set_address": None,
  26. "correct_address": request.absolute_uri,
  27. }
  28. @override_settings(MISAGO_ADDRESS=incorrect_address)
  29. def test_misago_address_check_detects_invalid_address_configuration():
  30. result = check_misago_address(request)
  31. assert result == {
  32. "is_correct": False,
  33. "set_address": incorrect_address,
  34. "correct_address": request.absolute_uri,
  35. }
  36. @override_settings(MISAGO_ADDRESS=correct_address)
  37. def test_misago_address_check_detects_valid_address_configuration():
  38. result = check_misago_address(request)
  39. assert result == {
  40. "is_correct": True,
  41. "set_address": correct_address,
  42. "correct_address": request.absolute_uri,
  43. }