def testBadgeAwarded(self):
        """Tests that badge awarded works for a user."""
        profile = self.user.profile
        self.assertFalse(
            badge_awarded(self.user, "daily-visitor"),
            "New user should not be awarded the daily visitor badge.")

        # Test as a quest unlock condition.
        self.quest.unlock_conditions = "badge_awarded('daily-visitor')"
        self.quest.save()
        self.assertTrue(
            self.quest not in get_quests(self.user),
            "User should not be able to participate in this quest.")

        self.quest.unlock_conditions = "not badge_awarded('three-peater')"
        self.quest.save()
        self.assertTrue(
            self.quest in get_quests(self.user)["available_quests"],
            "User should be able to participate in this quest.")

        self.quest.accept(self.user)
        self.quest.completion_conditions = "badge_awarded('three-peater')"
        self.quest.save()
        self.assertTrue(self.quest not in possibly_completed_quests(self.user),
                        "User should not be able to complete this quest.")

        profile.daily_visit_count = 3
        profile.save()
        badge = badges.get_badge("three-peater")
        badges.award_badge(profile=profile, badge=badge)
        self.assertTrue(
            badge_awarded(self.user, "three-peater"),
            "User should have been awarded the three-peater badge.")
        self.assertTrue(self.quest in possibly_completed_quests(self.user),
                        "User should have completed this quest.")
    def testBadgeAwarded(self):
        """Tests that badge awarded works for a user."""
        profile = self.user.get_profile()
        self.assertFalse(badge_awarded(self.user, "daily-visitor"),
            "New user should not be awarded the daily visitor badge.")

        # Test as a quest unlock condition.
        self.quest.unlock_conditions = "badge_awarded('daily-visitor')"
        self.quest.save()
        self.assertTrue(self.quest not in get_quests(self.user),
            "User should not be able to participate in this quest.")

        self.quest.unlock_conditions = "not badge_awarded('three-peater')"
        self.quest.save()
        self.assertTrue(self.quest in get_quests(self.user)["available_quests"],
            "User should be able to participate in this quest.")

        self.quest.accept(self.user)
        self.quest.completion_conditions = "badge_awarded('three-peater')"
        self.quest.save()
        self.assertTrue(self.quest not in possibly_completed_quests(self.user),
            "User should not be able to complete this quest.")

        profile.daily_visit_count = 3
        profile.save()
        badge = badges.get_badge("three-peater")
        badges.award_badge(profile=profile, badge=badge)
        self.assertTrue(badge_awarded(self.user, "three-peater"),
            "User should have been awarded the three-peater badge.")
        self.assertTrue(self.quest in possibly_completed_quests(self.user),
            "User should have completed this quest.")
Beispiel #3
0
def award_badge(slug, username):
    """award the badge"""
    try:
        user = User.objects.get(username=username)
        badge = badges.get_badge(slug)
        if badge:
            badges.award_badge(profile=user.profile, badge=badge)
        else:
            sys.stderr.write("Badge with the slug %s does not exist.\n" % slug)
    except User.DoesNotExist:
        sys.stderr.write("User with the username %s does not exist.\n" % username)
Beispiel #4
0
def award_badge(slug, username):
    """award the badge"""
    try:
        user = User.objects.get(username=username)
        badge = badges.get_badge(slug)
        if badge:
            badges.award_badge(profile=user.get_profile(), badge=badge)
        else:
            sys.stderr.write("Badge with the slug %s does not exist.\n" % slug)
    except User.DoesNotExist:
        sys.stderr.write("User with the username %s does not exist.\n" %
                         username)