def test_improperly_configured_point_value(self): self.setup_users(1) user = self.users[0] try: award_points(user, "JOINED_SITE") except ImproperlyConfigured, e: self.assertEqual(str(e), "PointValue for 'JOINED_SITE' does not exist")
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(unicode(apv), u"%s points awarded to %s" % (500, unicode(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(unicode(apv), u"%s points for %s awarded to %s" % (1, "JOINED_SITE", unicode(user)))
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_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 agon_tags %}{% points_for_object user limit 30 days as points %}{{ points }} Points") 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_user_object_with_as(self): self.setup_users(1) award_points(self.users[0], 10) t = Template( '{% load agon_tags %}{% points_for_object user as points %}{{ points }} Points' ) self.assertEqual(t.render(Context({"user": self.users[0]})), "10 Points")
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( unicode(apv), u"%s points awarded to %s" % (500, unicode(group)) )
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( unicode(apv), u"%s points awarded to %s" % (500, unicode(user)) )
def test_improperly_configured(self): self.setup_users(1) user = self.users[0] try: award_points(user, True) except ImproperlyConfigured, e: self.assertEqual(str(e), "award_points didn't receive a valid value" " for it's 2nd argument. It must be either a string that matches a" " PointValue or an integer amount of points to award." )
def test_improperly_configured(self): self.setup_users(1) user = self.users[0] try: award_points(user, True) except ImproperlyConfigured, e: self.assertEqual( str(e), "award_points didn't receive a valid value" " for it's 2nd argument. It must be either a string that matches a" " PointValue or an integer amount of points to award.")
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( unicode(apv), u"%s points for %s awarded to %s" % (5, "ATE_SOMETHING", unicode(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 agon_tags %}{% points_for_object user limit 30 days as points %}{{ points }} Points' ) self.assertEqual(t.render(Context({"user": self.users[0]})), "28 Points")
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( unicode(apv), u"%s points for %s awarded to %s" % (1, "JOINED_SITE", unicode(user)))
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( unicode(apv), u"%s points for %s awarded to %s" % (5, "ATE_SOMETHING", unicode(group)) )
def inc_user_karma(sender, instance, created, **kwargs): if created: now = datetime.datetime.utcnow().replace(tzinfo=utc) today = now.date() user = instance.user action = "award_daily_points" awarded = False try: key = md5("{}{}{}".format(user.id, action, today)).hexdigest() lock, created = Lock.objects.get_or_create(key=key, defaults={ "user": user, "action": action }) if not created: awarded = True except IntegrityError: awarded = True if awarded: return #: no award again today else: try: stat = user.targetstat_targets level = stat.level except TargetStat.DoesNotExist: level = 1 award_points(user, 'daily_bookmark_' + str(level)) total = Bookmark.objects.filter(user=user, id__gt=5000).count() stat = user.targetstat_targets next_level = level if 1000 > total >= 500: next_level = 2 elif 5000 > total >= 1000: next_level = 3 elif total >= 5000: next_level = 4 if next_level != level: stat.level = next_level stat.save()
def inc_user_karma(sender, instance, created, **kwargs): if created: now = datetime.datetime.utcnow().replace(tzinfo=utc) today = now.date() user = instance.user action = "award_daily_points" awarded = False try: key = md5("{}{}{}".format(user.id, action, today)).hexdigest() lock, created = Lock.objects.get_or_create(key=key, defaults={"user": user, "action": action}) if not created: awarded = True except IntegrityError: awarded = True if awarded: return #: no award again today else: try: stat = user.targetstat_targets level = stat.level except TargetStat.DoesNotExist: level = 1 award_points(user, 'daily_bookmark_' + str(level)) total = Bookmark.objects.filter(user=user, id__gt=5000).count() stat = user.targetstat_targets next_level = level if 1000 > total >= 500: next_level = 2 elif 5000 > total >= 1000: next_level = 3 elif total >= 5000: next_level = 4 if next_level != level: stat.level = next_level stat.save()
def test_user_object_without_as(self): self.setup_users(1) award_points(self.users[0], 15) t = Template('{% load agon_tags %}{% points_for_object user %} Points') self.assertEqual(t.render(Context({"user": self.users[0]})), "15 Points")
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)
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 award(self): user = self.cleaned_data["user"] points = self.cleaned_data["points"] reason = self.cleaned_data["reason"] award_points(user, points, reason=reason)
def run(): award_points(user, "INVITED_USER")
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_user_object_with_as(self): self.setup_users(1) award_points(self.users[0], 10) t = Template("{% load agon_tags %}{% points_for_object user as points %}{{ points }} Points") self.assertEqual(t.render(Context({"user": self.users[0]})), "10 Points")
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(unicode(apv), u"%s points awarded to %s" % (500, unicode(group)))
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()