Esempio n. 1
0
 def test_improperly_configured(self):
     self.setup_users(1)
     user = self.users[0]
     try:
         award_points(user, True)
     except ImproperlyConfigured as e:
         self.assertEqual(str(e), "PointValue for 'True' does not exist")
Esempio n. 2
0
 def test_simple_generic_point_award(self):
     self.setup_points({
         "ATE_SOMETHING": 5,
     })
     group = Group.objects.create(name="Dwarfs")
     award_points(group, "ATE_SOMETHING")
     self.assertEqual(points_awarded(group), 5)
Esempio n. 3
0
 def test_unicode_user_one_off_point_award(self):
     self.setup_users(1)
     user = self.users[0]
     award_points(user, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(str(apv),
                      "{0} points awarded to {1}".format(500, str(user)))
Esempio n. 4
0
 def test_improperly_configured_point_value(self):
     self.setup_users(1)
     user = self.users[0]
     try:
         award_points(user, "JOINED_SITE")
     except ImproperlyConfigured as e:
         self.assertEqual(str(e), "PointValue for 'JOINED_SITE' does not exist")
Esempio n. 5
0
 def test_simple_generic_point_award(self):
     self.setup_points({
         "ATE_SOMETHING": 5,
     })
     group = Group.objects.create(name="Dwarfs")
     award_points(group, "ATE_SOMETHING")
     self.assertEqual(points_awarded(group), 5)
Esempio n. 6
0
 def test_user_object_without_as(self):
     self.setup_users(1)
     award_points(self.users[0], 15)
     t = Template(
         "{% load pinax_points_tags %}{% points_for_object user %} Points")
     self.assertEqual(t.render(Context({"user": self.users[0]})),
                      "15 Points")
Esempio n. 7
0
 def test_user_object_with_limit_30_days(self):
     self.setup_users(1)
     ap = award_points(self.users[0], 10)
     ap.timestamp = ap.timestamp - timedelta(days=14)
     ap.save()
     award_points(self.users[0], 18)
     t = Template("{% load pinax_points_tags %}{% points_for_object user limit 30 days as points %}{{ points }} Points")  # noqa
     self.assertEqual(t.render(Context({"user": self.users[0]})), "28 Points")
Esempio n. 8
0
 def test_simple_user_point_award(self):
     self.setup_users(1)
     self.setup_points({
         "JOINED_SITE": 1,
     })
     user = self.users[0]
     award_points(user, "JOINED_SITE")
     self.assertEqual(points_awarded(user), 1)
Esempio n. 9
0
 def test_improperly_configured_point_value(self):
     self.setup_users(1)
     user = self.users[0]
     try:
         award_points(user, "JOINED_SITE")
     except ImproperlyConfigured as e:
         self.assertEqual(str(e),
                          "PointValue for 'JOINED_SITE' does not exist")
Esempio n. 10
0
 def test_unicode_generic_one_off_point_award(self):
     group = Group.objects.create(name="Dwarfs")
     award_points(group, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(
         str(apv),
         "{0} points awarded to {1}".format(500, str(group))
     )
Esempio n. 11
0
def actions_when_user_profile_filled(instance):
    action.send(instance,
                verb='filled profile',
                description=_('Filled Profile'),
                action_object=instance,
                target=instance)
    badges.possibly_award_badge("user_profile_filled", user=instance)
    award_points(instance, 'user_profile_filled')
Esempio n. 12
0
 def test_simple_user_point_award(self):
     self.setup_users(1)
     self.setup_points({
         "JOINED_SITE": 1,
     })
     user = self.users[0]
     award_points(user, "JOINED_SITE")
     self.assertEqual(points_awarded(user), 1)
Esempio n. 13
0
 def test_user_object_with_as(self):
     self.setup_users(1)
     award_points(self.users[0], 10)
     t = Template(
         "{% load pinax_points_tags %}{% points_for_object user as points %}{{ points }} Points"
     )  # noqa
     self.assertEqual(t.render(Context({"user": self.users[0]})),
                      "10 Points")
Esempio n. 14
0
def actions_when_user_created(instance):
    action.send(instance,
                verb='user created',
                description=_('Was Created'),
                action_object=instance,
                target=instance,
                timestamp=instance.date_joined)
    badges.possibly_award_badge("user_created", user=instance)
    award_points(instance, 'user_created', reason="User Created")
Esempio n. 15
0
 def test_unicode_user_one_off_point_award(self):
     self.setup_users(1)
     user = self.users[0]
     award_points(user, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(
         str(apv),
         "{0} points awarded to {1}".format(500, str(user))
     )
Esempio n. 16
0
 def test_improperly_configured(self):
     self.setup_users(1)
     user = self.users[0]
     try:
         award_points(user, True)
     except ImproperlyConfigured as e:
         self.assertEqual(
             str(e),
             "PointValue for 'True' does not exist"
         )
Esempio n. 17
0
 def test_unicode_simple_generic_point_award(self):
     self.setup_points({
         "ATE_SOMETHING": 5,
     })
     group = Group.objects.create(name="Dwarfs")
     award_points(group, "ATE_SOMETHING")
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(
         str(apv),
         "{0} points for {1} awarded to {2}".format(5, "ATE_SOMETHING",
                                                    str(group)))
Esempio n. 18
0
 def test_user_object_with_limit_30_days(self):
     self.setup_users(1)
     ap = award_points(self.users[0], 10)
     ap.timestamp = ap.timestamp - timedelta(days=14)
     ap.save()
     award_points(self.users[0], 18)
     t = Template(
         "{% load pinax_points_tags %}{% points_for_object user limit 30 days as points %}{{ points }} Points"
     )  # noqa
     self.assertEqual(t.render(Context({"user": self.users[0]})),
                      "28 Points")
Esempio n. 19
0
def results(request):
    answer = request.POST.get('capital')
    correct_answer = request.POST.get('correct_answer')
    correct = bool(answer == correct_answer)
    if request.user.is_authenticated:
        user = request.user
    if correct:
        award_points(user, 1)
    else:
        award_points(user, -1)
    return render(request, 'core/results.html', {'correct': correct})
Esempio n. 20
0
 def test_unicode_simple_generic_point_award(self):
     self.setup_points({
         "ATE_SOMETHING": 5,
     })
     group = Group.objects.create(name="Dwarfs")
     award_points(group, "ATE_SOMETHING")
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(
         str(apv),
         "{0} points for {1} awarded to {2}".format(5, "ATE_SOMETHING", str(group))
     )
Esempio n. 21
0
 def test_unicode_simple_user_point_award(self):
     self.setup_users(1)
     self.setup_points({
         "JOINED_SITE": 1,
     })
     user = self.users[0]
     award_points(user, "JOINED_SITE")
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(
         str(apv),
         "{0} points for {1} awarded to {2}".format(1, "JOINED_SITE",
                                                    str(user)))
Esempio n. 22
0
 def test_unicode_simple_user_point_award(self):
     self.setup_users(1)
     self.setup_points({
         "JOINED_SITE": 1,
     })
     user = self.users[0]
     award_points(user, "JOINED_SITE")
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(
         str(apv),
         "{0} points for {1} awarded to {2}".format(1, "JOINED_SITE", str(user))
     )
Esempio n. 23
0
def actions_when_comment_saved(instance):
    action.send(instance.author,
                verb='created comment',
                description=_('Created Comment'),
                action_object=instance,
                target=instance.conversation,
                timestamp=instance.created_at)
    if instance.approval == Comment.APPROVED:
        award_points(instance.author,
                     'comment_approved',
                     reason="Comment Approved",
                     source=instance)
        action.send(instance.author,
                    verb='had comment approved',
                    description=_('Had Comment Approved'),
                    action_object=instance,
                    target=instance.conversation)
Esempio n. 24
0
def actions_when_vote_created(instance):
    award_points(instance.author,
                 'voted',
                 reason="Voted on Conversation",
                 source=instance)

    if instance.value == Vote.AGREE:
        action.send(instance.author,
                    verb='agreed with',
                    description=_('Agreed With'),
                    action_object=instance,
                    target=instance.comment,
                    timestamp=instance.created_at)

    if instance.value == Vote.PASS:
        action.send(instance.author,
                    verb='passed on',
                    description=_('Passed On'),
                    action_object=instance,
                    target=instance.comment,
                    timestamp=instance.created_at)

    if instance.value == Vote.DISAGREE:
        action.send(instance.author,
                    verb='disagreed with',
                    description=_('Disagreed With'),
                    action_object=instance,
                    target=instance.comment,
                    timestamp=instance.created_at)

    # Let's find out whether vote is in a new conversation
    conversations = Conversation.objects.filter(
        comments__votes__author=instance.author,
        comments__votes__created_at__lte=instance.created_at).distinct(
        ).annotate(number_of_votes=Count('comments__votes'))
    number_of_first_votes = sum(
        [x.number_of_votes for x in conversations if x.number_of_votes == 1])
    if len(conversations) == 2 and number_of_first_votes >= 1:
        award_points(instance.author,
                     'voted_first_time_in_second_conversation',
                     reason='Voted first time in second conversation',
                     source=instance)
    if len(conversations) > 2 and number_of_first_votes >= 1:
        award_points(instance.author,
                     'voted_first_time_in_new_conversation_after_second',
                     reason='Voted first time in new conversation',
                     source=instance)

    # And finally, the badges
    badges.possibly_award_badge('vote_cast', user=instance.author)
Esempio n. 25
0
 def test_user_one_off_point_award_value_is_null(self):
     self.setup_users(1)
     user = self.users[0]
     award_points(user, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertTrue(apv.value is None)
Esempio n. 26
0
 def test_generic_one_off_point_award(self):
     group = Group.objects.create(name="Dwarfs")
     award_points(group, 500)
     self.assertEqual(points_awarded(group), 500)
Esempio n. 27
0
 def test_user_one_off_point_award(self):
     self.setup_users(1)
     user = self.users[0]
     award_points(user, 500)
     self.assertEqual(points_awarded(user), 500)
Esempio n. 28
0
 def test_unicode_generic_one_off_point_award(self):
     group = Group.objects.create(name="Dwarfs")
     award_points(group, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(str(apv),
                      "{0} points awarded to {1}".format(500, str(group)))
Esempio n. 29
0
 def test_user_object_with_as(self):
     self.setup_users(1)
     award_points(self.users[0], 10)
     t = Template("{% load pinax_points_tags %}{% points_for_object user as points %}{{ points }} Points")  # noqa
     self.assertEqual(t.render(Context({"user": self.users[0]})), "10 Points")
Esempio n. 30
0
 def test_user_object_without_as(self):
     self.setup_users(1)
     award_points(self.users[0], 15)
     t = Template("{% load pinax_points_tags %}{% points_for_object user %} Points")
     self.assertEqual(t.render(Context({"user": self.users[0]})), "15 Points")
Esempio n. 31
0
 def test_user_one_off_point_award(self):
     self.setup_users(1)
     user = self.users[0]
     award_points(user, 500)
     self.assertEqual(points_awarded(user), 500)
Esempio n. 32
0
 def setUp(self):
     self.setup_users(5)
     self.setup_points({
         "TEST_THIS_TAG": 10,
     })
     group = Group.objects.create(name="Eldarion")
     user = self.users[0]
     # award 40 now and 10 set three weeks ago
     award_points(group, "TEST_THIS_TAG")
     apv = award_points(group, "TEST_THIS_TAG")
     apv.timestamp = apv.timestamp - timedelta(days=14)
     apv.save()
     award_points(user, "TEST_THIS_TAG")
     award_points(user, "TEST_THIS_TAG")
     award_points(user, "TEST_THIS_TAG")
     award_points(user, "TEST_THIS_TAG")
     apv = award_points(user, "TEST_THIS_TAG")
     apv.timestamp = apv.timestamp - timedelta(days=21)
     apv.save()
Esempio n. 33
0
 def test_generic_one_off_point_award(self):
     group = Group.objects.create(name="Dwarfs")
     award_points(group, 500)
     self.assertEqual(points_awarded(group), 500)
Esempio n. 34
0
 def test_generic_one_off_point_award_value_is_null(self):
     group = Group.objects.create(name="Dwarfs")
     award_points(group, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertTrue(apv.value is None)
Esempio n. 35
0
 def setUp(self):
     self.setup_users(5)
     self.setup_points({
         "TEST_THIS_TAG": 10,
     })
     group = Group.objects.create(name="Eldarion")
     user = self.users[0]
     # award 40 now and 10 set three weeks ago
     award_points(group, "TEST_THIS_TAG")
     apv = award_points(group, "TEST_THIS_TAG")
     apv.timestamp = apv.timestamp - timedelta(days=14)
     apv.save()
     award_points(user, "TEST_THIS_TAG")
     award_points(user, "TEST_THIS_TAG")
     award_points(user, "TEST_THIS_TAG")
     award_points(user, "TEST_THIS_TAG")
     apv = award_points(user, "TEST_THIS_TAG")
     apv.timestamp = apv.timestamp - timedelta(days=21)
     apv.save()
Esempio n. 36
0
 def test_user_one_off_point_award_value_is_null(self):
     self.setup_users(1)
     user = self.users[0]
     award_points(user, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertTrue(apv.value is None)
Esempio n. 37
0
 def test_generic_one_off_point_award_value_is_null(self):
     group = Group.objects.create(name="Dwarfs")
     award_points(group, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertTrue(apv.value is None)