123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- from django.urls import reverse
- from misago.admin.testutils import AdminTestCase
- from misago.conf.models import SettingsGroup
- class AdminSettingsViewsTests(AdminTestCase):
- def test_link_registered(self):
- """admin index view contains settings link"""
- response = self.client.get(reverse("misago:admin:index"))
- self.assertContains(response, reverse("misago:admin:system:settings:index"))
- def test_groups_list_view(self):
- """settings group view returns 200 and contains all settings groups"""
- response = self.client.get(reverse("misago:admin:system:settings:index"))
- self.assertEqual(response.status_code, 200)
- for group in SettingsGroup.objects.all():
- group_link = reverse(
- "misago:admin:system:settings:group", kwargs={"key": group.key}
- )
- self.assertContains(response, group.name)
- self.assertContains(response, group_link)
- def test_invalid_group_handling(self):
- """invalid group results in redirect to settings list"""
- group_link = reverse(
- "misago:admin:system:settings:group", kwargs={"key": "invalid-group"}
- )
- response = self.client.get(group_link)
- self.assertEqual(response.status_code, 302)
- self.assertTrue(
- reverse("misago:admin:system:settings:index") in response["location"]
- )
- def test_groups_views(self):
- """each settings group view returns 200 and contains all settings in group"""
- for group in SettingsGroup.objects.all():
- group_link = reverse(
- "misago:admin:system:settings:group", kwargs={"key": group.key}
- )
- response = self.client.get(group_link)
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, group.name)
- values = {}
- for setting in group.setting_set.all():
- values[setting.setting] = setting.value
- self.assertContains(response, setting.name)
- response = self.client.post(group_link, data=values)
- self.assertEqual(response.status_code, 302)
|