bgneal@1219: """ bgneal@1219: Unit tests for the bio application badge utilities. bgneal@1219: bgneal@1219: """ bgneal@1219: from django.test import TestCase bgneal@1219: from django.contrib.auth.models import User bgneal@1219: bgneal@1219: from bio.badges import award_badge, NEWS_PIN bgneal@1219: from bio.models import Badge, BadgeOwnership bgneal@1219: bgneal@1219: bgneal@1219: class AwardBadgeTestCase(TestCase): bgneal@1219: fixtures = ['badges.json'] bgneal@1219: bgneal@1219: def setUp(self): bgneal@1219: self.user = User.objects.create_user('user', 'user@example.com', 'pw') bgneal@1219: bgneal@1219: def test_unknown_badge(self): bgneal@1219: award_badge(4096, self.user) bgneal@1219: self.assertEqual(BadgeOwnership.objects.count(), 0) bgneal@1219: bgneal@1219: def test_user_has_the_badge(self): bgneal@1219: badge = Badge.objects.get(numeric_id=NEWS_PIN) bgneal@1219: bo = BadgeOwnership(profile=self.user.profile, badge=badge, count=7) bgneal@1219: bo.save() bgneal@1219: bgneal@1219: award_badge(badge.numeric_id, self.user) bgneal@1219: bo = BadgeOwnership.objects.get(profile=self.user.profile, badge=badge) bgneal@1219: self.assertEqual(bo.count, 8) bgneal@1219: bgneal@1219: def test_user_does_not_have_the_badge(self): bgneal@1219: badge = Badge.objects.get(numeric_id=NEWS_PIN) bgneal@1219: award_badge(badge.numeric_id, self.user) bgneal@1219: bo = BadgeOwnership.objects.get(profile=self.user.profile, badge=badge) bgneal@1219: self.assertEqual(bo.count, 1)