1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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)
|