Skip to content

Commit 9205094

Browse files
committed
test categories order forms
1 parent 0ca11ae commit 9205094

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

spirit/topic/tests.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -548,6 +548,26 @@ def test_topic_update(self):
548548
form = TopicForm(self.user, data=form_data, instance=topic)
549549
self.assertEqual(form.is_valid(), True)
550550

551+
def test_topic_update_moderator(self):
552+
category = utils.create_category()
553+
topic = utils.create_topic(category)
554+
self.user.st.is_moderator = True
555+
self.user.st.save()
556+
form = TopicForm(self.user, data=None, instance=topic)
557+
self.assertIn('category', form.fields)
558+
form = TopicForm(self.user, data=None)
559+
self.assertIn('category', form.fields)
560+
561+
def test_topic_update_not_moderator(self):
562+
category = utils.create_category()
563+
topic = utils.create_topic(category)
564+
self.user.st.is_moderator = False
565+
self.user.st.save()
566+
form = TopicForm(self.user, data=None, instance=topic)
567+
self.assertNotIn('category', form.fields)
568+
form = TopicForm(self.user, data=None)
569+
self.assertIn('category', form.fields)
570+
551571
def test_topic_get_category(self):
552572
"""
553573
Should return the category
@@ -609,6 +629,32 @@ def test_topic_updates_reindex_at(self):
609629
self.assertGreater(
610630
Topic.objects.get(pk=topic.pk).reindex_at, yesterday)
611631

632+
@override_settings(ST_ORDERED_CATEGORIES=True)
633+
def test_category_ordered(self):
634+
utils.default_categories().delete()
635+
cat1 = utils.create_category(title="1", sort=2)
636+
cat2 = utils.create_category(title="2", sort=1)
637+
form = TopicForm(self.user, data=None)
638+
self.assertEqual(
639+
list(form.fields['category'].queryset), [cat2, cat1])
640+
cat1.sort = 0
641+
cat1.save()
642+
form = TopicForm(self.user, data=None)
643+
self.assertEqual(
644+
list(form.fields['category'].queryset), [cat1, cat2])
645+
646+
@override_settings(ST_ORDERED_CATEGORIES=False)
647+
def test_category_title_order(self):
648+
utils.default_categories().delete()
649+
cat1 = utils.create_category(title="1", sort=2)
650+
cat2 = utils.create_category(title="2", sort=1)
651+
cat3 = utils.create_category(title="3", sort=3)
652+
cat0 = utils.create_category(title="0", sort=0)
653+
form = TopicForm(self.user, data=None)
654+
self.assertEqual(
655+
list(form.fields['category'].queryset),
656+
[cat0, cat1, cat2, cat3])
657+
612658

613659
class TopicUtilsTest(TestCase):
614660

0 commit comments

Comments
 (0)