Coverage for website/members/tests/test_views.py: 100.00%
34 statements
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
1from datetime import date, timedelta
3from django.test import TestCase
5from members.models import Member, Membership, Profile
6from members.views import MembersIndex
9class MembersIndexText(TestCase):
10 @classmethod
11 def setUpTestData(cls):
12 # Add 10 members with default membership
13 members = [Member(id=i, username=i) for i in range(7)]
14 Member.objects.bulk_create(members)
15 profiles = [Profile(user_id=i) for i in range(7)]
16 Profile.objects.bulk_create(profiles)
18 Membership(
19 user_id=0, type=Membership.HONORARY, until=date.today() + timedelta(days=1)
20 ).save()
22 Membership(
23 user_id=1,
24 type=Membership.BENEFACTOR,
25 until=date.today() + timedelta(days=1),
26 ).save()
28 Membership(
29 user_id=2, type=Membership.MEMBER, until=date.today() + timedelta(days=1)
30 ).save()
32 Membership(
33 user_id=3, type=Membership.MEMBER, until=date.today() + timedelta(days=1)
34 ).save()
35 Membership(
36 user_id=3,
37 type=Membership.MEMBER,
38 until=date.today() - timedelta(days=365 * 10),
39 ).save()
41 Membership(
42 user_id=4,
43 type=Membership.BENEFACTOR,
44 until=date.today() + timedelta(days=1),
45 ).save()
46 Membership(
47 user_id=4,
48 type=Membership.MEMBER,
49 until=date.today() - timedelta(days=365 * 10),
50 ).save()
52 Membership(
53 user_id=5,
54 type=Membership.MEMBER,
55 until=date.today() - timedelta(days=365 * 10),
56 ).save()
58 # user_id=6 has no memberships at all
60 def test_honorary_query_filter(self):
61 view = MembersIndex()
62 view.query_filter = "honorary"
63 view.year_range = [date.today().year]
64 members = view.get_queryset()
65 self.assertEqual(len(members), 1)
66 self.assertEqual(members[0].id, 0)
68 def test_former_query_filter(self):
69 view = MembersIndex()
70 view.query_filter = "former"
71 view.year_range = [date.today().year]
72 members = view.get_queryset()
73 self.assertEqual(len(members), 3)
74 for member in members:
75 self.assertIn(member.id, {4, 5, 6})