from django.test import TestCase, override_settings from django.urls import reverse from ..test import AdminTestCase from ..views.index import check_misago_address class AdminIndexViewTests(AdminTestCase): def test_view_returns_200(self): """admin index view returns 200""" response = self.client.get(reverse("misago:admin:index")) self.assertContains(response, self.user.username) def test_view_contains_address_check(self): """admin index view contains address check""" response = self.client.get(reverse("misago:admin:index")) self.assertContains(response, "MISAGO_ADDRESS") class RequestMock: absolute_uri = "https://misago-project.org/somewhere/" def build_absolute_uri(self, location): assert location == "/" return self.absolute_uri request = RequestMock() incorrect_address = "http://somewhere.com" correct_address = request.absolute_uri class AdminIndexAddressCheckTests(TestCase): @override_settings(MISAGO_ADDRESS=None) def test_address_not_set(self): """check handles address not set""" result = check_misago_address(request) self.assertEqual( result, { "is_correct": False, "set_address": None, "correct_address": request.absolute_uri, }, ) @override_settings(MISAGO_ADDRESS=incorrect_address) def test_address_set_invalid(self): """check handles incorrect address""" result = check_misago_address(request) self.assertEqual( result, { "is_correct": False, "set_address": incorrect_address, "correct_address": request.absolute_uri, }, ) @override_settings(MISAGO_ADDRESS=correct_address) def test_address_set_valid(self): """check handles correct address""" result = check_misago_address(request) self.assertEqual( result, { "is_correct": True, "set_address": correct_address, "correct_address": request.absolute_uri, }, )