From 88b46f8e68b8d20edd38b9b6005d6376fd216806 Mon Sep 17 00:00:00 2001 From: Adolfo Fitoria Date: Wed, 9 Jan 2013 10:22:33 -0600 Subject: added testcase --- askbot/models/__init__.py | 12 +++++++----- askbot/models/user.py | 6 ++++-- askbot/tests/user_model_tests.py | 22 ++++++++++++++++++++++ 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/askbot/models/__init__.py b/askbot/models/__init__.py index 751bbce6..acc59568 100644 --- a/askbot/models/__init__.py +++ b/askbot/models/__init__.py @@ -3551,11 +3551,13 @@ def add_missing_tag_subscriptions(sender, instance, created, **kwargs): and MarkedTags. ''' if created: - user_groups = instance.get_groups() - for subscription in BulkTagSubscription.objects.filter(groups__in = user_groups): - tag_list = subscription.tag_list() - instance.mark_tags(tagnames = tag_list, - reason='subscribed', action='add') + if askbot_settings.SUBSCRIBED_TAG_SELECTOR_ENABLED and \ + askbot_settings.GROUPS_ENABLED: + user_groups = instance.get_groups() + for subscription in BulkTagSubscription.objects.filter(groups__in = user_groups): + tag_list = subscription.tag_list() + instance.mark_tags(tagnames = tag_list, + reason='subscribed', action='add') def post_anonymous_askbot_content( sender, diff --git a/askbot/models/user.py b/askbot/models/user.py index d9ee1965..c27c8759 100644 --- a/askbot/models/user.py +++ b/askbot/models/user.py @@ -603,8 +603,10 @@ class BulkTagSubscriptionManager(BaseQuerySetManager): tag_name_list = [] if tag_names: - assert(tag_author) tags, new_tag_names = get_tags_by_names(tag_names) + if new_tag_names: + assert(tag_author) + tags_id_list= [tag.id for tag in tags] tag_name_list = [tag.name for tag in tags] @@ -627,7 +629,7 @@ class BulkTagSubscriptionManager(BaseQuerySetManager): if group_list: group_ids = [] - for group in group: + for group in group_list: #TODO: do the group marked tag thing here group_ids.append(group.id) new_object.groups.add(*group_ids) diff --git a/askbot/tests/user_model_tests.py b/askbot/tests/user_model_tests.py index e46cdb77..42c040b0 100644 --- a/askbot/tests/user_model_tests.py +++ b/askbot/tests/user_model_tests.py @@ -1,6 +1,7 @@ from askbot.tests.utils import AskbotTestCase from django.contrib.auth.models import User from askbot import models +from askbot.conf import settings from askbot.models.tag import format_personal_group_name class UserModelTests(AskbotTestCase): @@ -16,6 +17,27 @@ class UserModelTests(AskbotTestCase): ) self.assertEqual(memberships.count(), 1) + def test_new_user_has_subscriptions(self): + old_value = settings.SUBSCRIBED_TAG_SELECTOR_ENABLED + old_group_value = settings.GROUPS_ENABLED + settings.SUBSCRIBED_TAG_SELECTOR_ENABLED = True + settings.GROUPS_ENABLED = True + one_tag = self.create_tag('one-tag') + another_tag = self.create_tag('another_tag') + + global_group = models.Group.objects.get_global_group() + + bulk_subscription = models.BulkTagSubscription.objects.create( + tag_names=[one_tag.name, another_tag.name], + group_list = [global_group] + ) + user = User.objects.create_user('someone', 'someone@example.com') + marked_tags = user.get_marked_tags('subscribed') + self.assertTrue(one_tag in marked_tags) + self.assertTrue(another_tag in marked_tags) + settings.SUBSCRIBED_TAG_SELECTOR_ENABLED = old_value + settings.GROUPS_ENABLED = old_group_value + def test_delete_user(self): user = self.create_user('user') user.delete() -- cgit v1.2.3-1-g7c22