def setUp(self): cache.clear() self.category_1 = utils.create_category(title="cat1") self.subcategory_1 = utils.create_subcategory(self.category_1) self.category_2 = utils.create_category(title="cat2") self.category_removed = utils.create_category(title="cat3", is_removed=True)
def test_topic_publish(self): """ create topic """ category = utils.create_category() subcategory = utils.create_subcategory(category) form_data = {'comment': 'foo', 'title': 'foobar', 'category': subcategory.pk} form = TopicForm(self.user, data=form_data) self.assertEqual(form.is_valid(), True)
def test_category_detail_view_removed_topics(self): """ should not display removed topics or from other categories """ subcategory_removed = utils.create_subcategory(self.category_1, is_removed=True) topic_removed = utils.create_topic(category=subcategory_removed) topic_removed2 = utils.create_topic(category=self.category_1, is_removed=True) topic_bad = utils.create_topic(category=self.category_2) response = self.client.get(reverse('spirit:category-detail', kwargs={'pk': self.category_1.pk, })) self.assertQuerysetEqual(response.context['topics'], [])
def test_topic_publish_invalid_subcategory(self): """ invalid subcategory """ category = utils.create_category() subcategory = utils.create_subcategory(category, is_closed=True) form_data = {'comment': 'foo', 'title': 'foobar', 'category': subcategory.pk} form = TopicForm(self.user, data=form_data) self.assertEqual(form.is_valid(), False) self.assertNotIn('category', form.cleaned_data)
def test_topic_publish_in_subcategory(self): """ POST, create topic in subcategory """ utils.login(self) category = utils.create_category() subcategory = utils.create_subcategory(category) form_data = {'comment': 'foo', 'title': 'foobar', 'category': subcategory.pk} response = self.client.post(reverse('spirit:topic-publish', kwargs={'category_id': subcategory.pk, }), form_data) topic = Topic.objects.last() expected_url = topic.get_absolute_url() self.assertRedirects(response, expected_url, status_code=302)
def test_form(self): """ NestedModelChoiceField """ category = test_utils.create_category() category2 = test_utils.create_category() subcategory = test_utils.create_subcategory(category) field = NestedModelChoiceField(queryset=Category.objects.all(), related_name='category_set', parent_field='parent_id', label_field='title') self.assertSequenceEqual(list(field.choices), [(1, u'%s' % category.title), (3, u'--- %s' % subcategory.title), (2, u'%s' % category2.title)])
def test_nested_model_choise_form(self): """ NestedModelChoiceField """ category = test_utils.create_category() category2 = test_utils.create_category() subcategory = test_utils.create_subcategory(category) field = NestedModelChoiceField(queryset=Category.objects.all(), related_name='category_set', parent_field='parent_id', label_field='title') self.assertSequenceEqual(list(field.choices), [('', u'---------'), (1, u'%s' % category.title), (3, u'--- %s' % subcategory.title), (2, u'%s' % category2.title)])
def test_category_detail_view_removed_topics(self): """ should not display removed topics or from other categories """ subcategory_removed = utils.create_subcategory(self.category_1, is_removed=True) topic_removed = utils.create_topic(category=subcategory_removed) topic_removed2 = utils.create_topic(category=self.category_1, is_removed=True) topic_bad = utils.create_topic(category=self.category_2) response = self.client.get( reverse('spirit:category-detail', kwargs={ 'pk': self.category_1.pk, })) self.assertQuerysetEqual(response.context['topics'], [])