summaryrefslogtreecommitdiffstats
path: root/askbot/tests/thread_model_tests.py
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-09-12 01:33:46 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-09-12 01:33:46 -0400
commit239711ccfac16b6428edc662e0675a9ec18ace51 (patch)
treef1ac1900d8d3afb10a041c460191c28fd4d15e0e /askbot/tests/thread_model_tests.py
parent52bd0a4552ae1e87f4230a86da0d8160c46cdec2 (diff)
downloadaskbot-239711ccfac16b6428edc662e0675a9ec18ace51.tar.gz
askbot-239711ccfac16b6428edc662e0675a9ec18ace51.tar.bz2
askbot-239711ccfac16b6428edc662e0675a9ec18ace51.zip
moderated response sharing model seems to work internally
Diffstat (limited to 'askbot/tests/thread_model_tests.py')
-rw-r--r--askbot/tests/thread_model_tests.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/askbot/tests/thread_model_tests.py b/askbot/tests/thread_model_tests.py
index 13b32547..c8085655 100644
--- a/askbot/tests/thread_model_tests.py
+++ b/askbot/tests/thread_model_tests.py
@@ -1,6 +1,7 @@
from askbot.tests.utils import AskbotTestCase
from askbot.conf import settings as askbot_settings
from askbot import models
+from askbot.models.tag import get_global_group
import django.core.mail
class ThreadModelTestsWithGroupsEnabled(AskbotTestCase):
@@ -57,3 +58,46 @@ class ThreadModelTestsWithGroupsEnabled(AskbotTestCase):
self.assertEqual(len(django.core.mail.outbox), 1)
user = self.reload_object(self.user)
self.assertEqual(user.new_response_count, 1)
+
+ def test_answer_to_private_question_is_not_globally_visible(self):
+ question = self.post_question(user=self.admin, is_private=True)
+ answer = self.post_answer(question=question, user=self.admin, is_private=False)
+ global_group = get_global_group()
+ self.assertEqual(
+ global_group in set(answer.groups.all()),
+ False
+ )
+
+ def test_answer_to_group_question_is_not_globally_visible(self):
+ #ask into group where user is not a member
+ question = self.post_question(user=self.user, group_id=self.group.id)
+ #answer posted by a group member
+ answer = self.post_answer(question=question, user=self.admin, is_private=False)
+ global_group = get_global_group()
+ self.assertEqual(
+ global_group in set(answer.groups.all()),
+ False
+ )
+
+
+ def test_restrictive_response_publishing(self):
+ self.group.moderate_answers_to_enquirers = True
+ self.group.save()
+ question = self.post_question(user=self.user, group_id=self.group.id)
+ answer = self.post_answer(question=question, user=self.admin)
+
+ #answer and the user don't have groups in common
+ answer_groups = set(answer.groups.all())
+ user_groups = set(self.user.get_groups())
+ self.assertEqual(len(answer_groups & user_groups), 0)
+
+ def test_permissive_response_publishing(self):
+ self.group.moderate_answers_to_enquirers = False
+ self.group.save()
+ question = self.post_question(user=self.user, group_id=self.group.id)
+ answer = self.post_answer(question=question, user=self.admin)
+
+ #answer and user have one group in common
+ answer_groups = set(answer.groups.all())
+ user_groups = set(self.user.get_groups())
+ self.assertEqual(len(answer_groups & user_groups), 1)