@@ -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
613659class TopicUtilsTest (TestCase ):
614660
0 commit comments