Mercurial > public > sg101
comparison bio/tests/test_badges.py @ 1219:f354554afb6e modernize
Add more bio unit tests.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sat, 22 Feb 2025 17:17:09 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1218:54a26351c74b | 1219:f354554afb6e |
---|---|
1 """ | |
2 Unit tests for the bio application badge utilities. | |
3 | |
4 """ | |
5 from django.test import TestCase | |
6 from django.contrib.auth.models import User | |
7 | |
8 from bio.badges import award_badge, NEWS_PIN | |
9 from bio.models import Badge, BadgeOwnership | |
10 | |
11 | |
12 class AwardBadgeTestCase(TestCase): | |
13 fixtures = ['badges.json'] | |
14 | |
15 def setUp(self): | |
16 self.user = User.objects.create_user('user', 'user@example.com', 'pw') | |
17 | |
18 def test_unknown_badge(self): | |
19 award_badge(4096, self.user) | |
20 self.assertEqual(BadgeOwnership.objects.count(), 0) | |
21 | |
22 def test_user_has_the_badge(self): | |
23 badge = Badge.objects.get(numeric_id=NEWS_PIN) | |
24 bo = BadgeOwnership(profile=self.user.profile, badge=badge, count=7) | |
25 bo.save() | |
26 | |
27 award_badge(badge.numeric_id, self.user) | |
28 bo = BadgeOwnership.objects.get(profile=self.user.profile, badge=badge) | |
29 self.assertEqual(bo.count, 8) | |
30 | |
31 def test_user_does_not_have_the_badge(self): | |
32 badge = Badge.objects.get(numeric_id=NEWS_PIN) | |
33 award_badge(badge.numeric_id, self.user) | |
34 bo = BadgeOwnership.objects.get(profile=self.user.profile, badge=badge) | |
35 self.assertEqual(bo.count, 1) |