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")
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)
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)))
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")
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")
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")
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)
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)) )
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')
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")
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")
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)) )
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" )
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)))
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")
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})
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)) )
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)))
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)) )
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)
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)
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)
def test_generic_one_off_point_award(self): group = Group.objects.create(name="Dwarfs") award_points(group, 500) self.assertEqual(points_awarded(group), 500)
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)
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)))
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")
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")
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()
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)