Example #1
0
    def test_topic_move_form_with_new_forum(self):
        forum = Forum.objects.create(name='temporary forum')

        topic = Topic.objects.create(name='move_topic', forum=forum, user=self.superuser)

        post = Post(topic=topic, user=self.superuser, body='move post')
        post.save()

        name = 'new name for temporary topic'

        form = TopicMoveForm(topic=topic, data={
            'name': name,
            'forum': self.forum.pk,
            'redirection_type': TopicRedirection.TYPE_PERMANENT_REDIRECT
        })

        self.assertTrue(form.is_valid())

        new_topic = form.save()

        topic = Topic.objects.get(pk=topic.pk)

        self.assertTrue(topic.redirect)

        self.failUnless(new_topic.slug is not None)
        self.assertEqual(new_topic.redirections.count(), 1)
        self.assertEqual(Post.objects.get(pk=post.pk).topic, new_topic)
        self.assertEqual(topic.posts.count(), 0)
Example #2
0
    def test_topic_move_form_with_new_forum(self):
        forum = Forum.objects.create(name='temporary forum')

        topic = Topic.objects.create(name='move_topic',
                                     forum=forum,
                                     user=self.superuser)

        post = Post(topic=topic, user=self.superuser, body='move post')
        post.save()

        name = 'new name for temporary topic'

        form = TopicMoveForm(topic=topic,
                             data={
                                 'name':
                                 name,
                                 'forum':
                                 self.forum.pk,
                                 'redirection_type':
                                 TopicRedirection.TYPE_PERMANENT_REDIRECT
                             })

        self.assertTrue(form.is_valid())

        new_topic = form.save()

        topic = Topic.objects.get(pk=topic.pk)

        self.assertTrue(topic.redirect)

        self.assertTrue(new_topic.slug is not None)
        self.assertEqual(new_topic.redirections.count(), 1)
        self.assertEqual(Post.objects.get(pk=post.pk).topic, new_topic)
        self.assertEqual(topic.posts.count(), 0)
Example #3
0
    def test_topic_move_form_errors(self):
        forum = Forum.objects.create(name='temporary forum')

        topic = Topic.objects.create(name='move_topic',
                                     forum=forum,
                                     user=self.superuser)

        post = Post(topic=topic, user=self.superuser, body='move post')
        post.save()

        form = TopicMoveForm(topic=topic,
                             data={
                                 'name':
                                 topic.name,
                                 'forum':
                                 forum.pk,
                                 'redirection_type':
                                 TopicRedirection.TYPE_PERMANENT_REDIRECT
                             })

        self.assertFalse(form.is_valid())
        self.assertIn('name', form.errors)

        Topic.objects.create(name='move_topic',
                             forum=self.forum,
                             user=self.superuser)

        form = TopicMoveForm(topic=topic,
                             data={
                                 'forum':
                                 self.forum.pk,
                                 'redirection_type':
                                 TopicRedirection.TYPE_PERMANENT_REDIRECT
                             })

        self.assertFalse(form.is_valid())
        self.assertIn('name', form.errors)

        form = TopicMoveForm(topic=topic,
                             data={
                                 'forum':
                                 self.forum.pk,
                                 'redirection_type':
                                 TopicRedirection.TYPE_EXPIRING_REDIRECT
                             })

        self.assertFalse(form.is_valid())
        self.assertIn('expired', form.errors)
Example #4
0
    def test_topic_move_form_errors(self):
        forum = Forum.objects.create(name='temporary forum')

        topic = Topic.objects.create(name='move_topic', forum=forum, user=self.superuser)

        post = Post(topic=topic, user=self.superuser, body='move post')
        post.save()

        form = TopicMoveForm(topic=topic, data={
            'name': topic.name,
            'forum': forum.pk,
            'redirection_type': TopicRedirection.TYPE_PERMANENT_REDIRECT
        })

        self.assertFalse(form.is_valid())
        self.assertIn('name', form.errors)

        Topic.objects.create(name='move_topic', forum=self.forum, user=self.superuser)

        form = TopicMoveForm(topic=topic, data={
            'forum': self.forum.pk,
            'redirection_type': TopicRedirection.TYPE_PERMANENT_REDIRECT
        })

        self.assertFalse(form.is_valid())
        self.assertIn('name', form.errors)

        form = TopicMoveForm(topic=topic, data={
            'forum': self.forum.pk,
            'redirection_type': TopicRedirection.TYPE_EXPIRING_REDIRECT
        })

        self.assertFalse(form.is_valid())
        self.assertIn('expired', form.errors)