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.")
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)
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)