def test_hidden(self): client = Client() parent = Forum(name='hcat', hidden=True) parent.save() forum_in_hidden = Forum(name='in_hidden', forum=parent) forum_in_hidden.save() topic_in_hidden = Topic(forum=forum_in_hidden, name='in_hidden', user=self.user) topic_in_hidden.save() forum_hidden = Forum(name='hidden', forum=self.parent_forum, hidden=True) forum_hidden.save() topic_hidden = Topic(forum=forum_hidden, name='hidden', user=self.user) topic_hidden.save() post_hidden = Post(topic=topic_hidden, user=self.user, body='hidden') post_hidden.save() post_in_hidden = Post(topic=topic_in_hidden, user=self.user, body='hidden') post_in_hidden.save() self.assertFalse(parent.id in [c.id for c in client.get(reverse('pybb:index')).context['forums']]) self.assertEqual(client.get(parent.get_absolute_url()).status_code, 302) self.assertEqual(client.get(forum_in_hidden.get_absolute_url()).status_code, 302) self.assertEqual(client.get(topic_in_hidden.get_absolute_url()).status_code, 302) self.assertNotContains(client.get(reverse('pybb:index')), forum_hidden.get_absolute_url()) self.assertNotContains(client.get(reverse('pybb:feed_topics')), topic_hidden.get_absolute_url()) self.assertNotContains(client.get(reverse('pybb:feed_topics')), topic_in_hidden.get_absolute_url()) self.assertNotContains(client.get(reverse('pybb:feed_posts')), post_hidden.get_absolute_url()) self.assertNotContains(client.get(reverse('pybb:feed_posts')), post_in_hidden.get_absolute_url()) self.assertEqual(client.get(forum_hidden.get_absolute_url()).status_code, 302) self.assertEqual(client.get(topic_hidden.get_absolute_url()).status_code, 302) client.login(username='******', password='******') self.assertTrue(parent.id in [c.id for c in client.get(reverse('pybb:index')).context['forums']]) self.assertContains(client.get(reverse('pybb:index')), forum_hidden.get_absolute_url()) self.assertEqual(client.get(parent.get_absolute_url()).status_code, 200) self.assertEqual(client.get(forum_in_hidden.get_absolute_url()).status_code, 200) self.assertEqual(client.get(topic_in_hidden.get_absolute_url()).status_code, 200) self.assertEqual(client.get(forum_hidden.get_absolute_url()).status_code, 200) self.assertEqual(client.get(topic_hidden.get_absolute_url()).status_code, 200) self.user.is_staff = True self.user.save() self.assertTrue(parent.id in [c.id for c in client.get(reverse('pybb:index')).context['forums']]) self.assertContains(client.get(reverse('pybb:index')), forum_hidden.get_absolute_url()) self.assertEqual(client.get(parent.get_absolute_url()).status_code, 200) self.assertEqual(client.get(forum_in_hidden.get_absolute_url()).status_code, 200) self.assertEqual(client.get(topic_in_hidden.get_absolute_url()).status_code, 200) self.assertEqual(client.get(forum_hidden.get_absolute_url()).status_code, 200) self.assertEqual(client.get(topic_hidden.get_absolute_url()).status_code, 200)
def test_subscription(self): user = get_user_model().objects.create_user(username='******', password='******', email='*****@*****.**') client = Client() client.login(username='******', password='******') response = client.post(reverse('pybb:subscription_create'), data={ 'topic_id': self.topic.pk, 'type': Subscription.TYPE_INSTANT_ALERT }) self.assertEqual(response.status_code, 302) self.assertRedirects(response, self.topic.get_absolute_url()) self.assertTrue(user in list(self.topic.subscribers.all())) new_post = Post(topic=self.topic, user=self.user, body='test subscribtion юникод') new_post.save() self.assertTrue([ msg for msg in mail.outbox if new_post.get_absolute_url() in msg.body ]) response = client.post(reverse('pybb:subscription_delete'), data={'topic_id': self.topic.pk}) self.assertEqual(response.status_code, 302) self.assertRedirects(response, self.topic.get_absolute_url()) self.assertTrue(user not in list(self.topic.subscribers.all()))
def test_topic_tracker_redirect_view(self): self.login_as(self.staff) self.post response = self.client.get(reverse('pybb:topic_tracker_redirect', kwargs={ 'topic_id': self.topic.pk })) self.assertRedirects(response, self.topic.get_absolute_url(), status_code=301) TopicReadTracker.objects.create(topic=self.topic, user=self.staff) response = self.client.get(reverse('pybb:topic_tracker_redirect', kwargs={ 'topic_id': self.topic.pk })) self.client.get(self.topic.get_absolute_url()) post = Post(topic=self.topic, user=self.user, body='test') post.save() response = self.client.get(reverse('pybb:topic_tracker_redirect', kwargs={ 'topic_id': self.topic.pk })) self.assertRedirects(response, post.get_absolute_url(), status_code=301)
def test_subscription(self): user = get_user_model().objects.create_user(username='******', password='******', email='*****@*****.**') client = Client() client.login(username='******', password='******') response = client.post(reverse('pybb:subscription_create'), data={ 'topic_id': self.topic.pk, 'type': Subscription.TYPE_INSTANT_ALERT }) self.assertEqual(response.status_code, 302) self.assertRedirects(response, self.topic.get_absolute_url()) self.assertTrue(user in list(self.topic.subscribers.all())) new_post = Post(topic=self.topic, user=self.user, body='test subscribtion юникод') new_post.save() self.assertTrue([msg for msg in mail.outbox if new_post.get_absolute_url() in msg.body]) response = client.post(reverse('pybb:subscription_delete'), data={ 'topic_id': self.topic.pk }) self.assertEqual(response.status_code, 302) self.assertRedirects(response, self.topic.get_absolute_url()) self.assertTrue(user not in list(self.topic.subscribers.all()))
def test_hidden(self): client = Client() parent = Forum(name='hcat', hidden=True) parent.save() forum_in_hidden = Forum(name='in_hidden', forum=parent) forum_in_hidden.save() topic_in_hidden = Topic(forum=forum_in_hidden, name='in_hidden', user=self.user) topic_in_hidden.save() forum_hidden = Forum(name='hidden', forum=self.parent_forum, hidden=True) forum_hidden.save() topic_hidden = Topic(forum=forum_hidden, name='hidden', user=self.user) topic_hidden.save() post_hidden = Post(topic=topic_hidden, user=self.user, body='hidden') post_hidden.save() post_in_hidden = Post(topic=topic_in_hidden, user=self.user, body='hidden') post_in_hidden.save() self.assertFalse(parent.id in [ c.id for c in client.get(reverse('pybb:index')).context['forums'] ]) self.assertEqual( client.get(parent.get_absolute_url()).status_code, 302) self.assertEqual( client.get(forum_in_hidden.get_absolute_url()).status_code, 302) self.assertEqual( client.get(topic_in_hidden.get_absolute_url()).status_code, 302) self.assertNotContains(client.get(reverse('pybb:index')), forum_hidden.get_absolute_url()) self.assertNotContains(client.get(reverse('pybb:feed_topics')), topic_hidden.get_absolute_url()) self.assertNotContains(client.get(reverse('pybb:feed_topics')), topic_in_hidden.get_absolute_url()) self.assertNotContains(client.get(reverse('pybb:feed_posts')), post_hidden.get_absolute_url()) self.assertNotContains(client.get(reverse('pybb:feed_posts')), post_in_hidden.get_absolute_url()) self.assertEqual( client.get(forum_hidden.get_absolute_url()).status_code, 302) self.assertEqual( client.get(topic_hidden.get_absolute_url()).status_code, 302) client.login(username='******', password='******') self.assertTrue(parent.id in [ c.id for c in client.get(reverse('pybb:index')).context['forums'] ]) self.assertContains(client.get(reverse('pybb:index')), forum_hidden.get_absolute_url()) self.assertEqual( client.get(parent.get_absolute_url()).status_code, 200) self.assertEqual( client.get(forum_in_hidden.get_absolute_url()).status_code, 200) self.assertEqual( client.get(topic_in_hidden.get_absolute_url()).status_code, 200) self.assertEqual( client.get(forum_hidden.get_absolute_url()).status_code, 200) self.assertEqual( client.get(topic_hidden.get_absolute_url()).status_code, 200) self.user.is_staff = True self.user.save() self.assertTrue(parent.id in [ c.id for c in client.get(reverse('pybb:index')).context['forums'] ]) self.assertContains(client.get(reverse('pybb:index')), forum_hidden.get_absolute_url()) self.assertEqual( client.get(parent.get_absolute_url()).status_code, 200) self.assertEqual( client.get(forum_in_hidden.get_absolute_url()).status_code, 200) self.assertEqual( client.get(topic_in_hidden.get_absolute_url()).status_code, 200) self.assertEqual( client.get(forum_hidden.get_absolute_url()).status_code, 200) self.assertEqual( client.get(topic_hidden.get_absolute_url()).status_code, 200)