mirror of
https://github.com/ae-utbm/sith.git
synced 2026-06-28 02:38:44 +00:00
modification des tests
This commit is contained in:
+6
-6
@@ -79,10 +79,10 @@ class ClubMembershipController(ControllerBase):
|
|||||||
memberships = Membership.objects.ongoing().filter(
|
memberships = Membership.objects.ongoing().filter(
|
||||||
start_date__gte=filters.since_date, end_date__isnull=True
|
start_date__gte=filters.since_date, end_date__isnull=True
|
||||||
)
|
)
|
||||||
if filters.clubs_id is None:
|
if filters.clubs_id:
|
||||||
return memberships.order_by("start_date")
|
memberships = memberships.filter(club_id__in=filters.clubs_id)
|
||||||
|
|
||||||
return memberships.filter(club_id__in=filters.clubs_id)
|
return memberships.order_by("start_date")
|
||||||
|
|
||||||
@route.get(
|
@route.get(
|
||||||
"/former",
|
"/former",
|
||||||
@@ -97,7 +97,7 @@ class ClubMembershipController(ControllerBase):
|
|||||||
start_date__lt=filters.since_date,
|
start_date__lt=filters.since_date,
|
||||||
end_date__gte=filters.since_date,
|
end_date__gte=filters.since_date,
|
||||||
)
|
)
|
||||||
if filters.clubs_id is None:
|
if filters.clubs_id:
|
||||||
return memberships.order_by("start_date")
|
memberships = memberships.filter(club_id__in=filters.clubs_id)
|
||||||
|
|
||||||
return memberships.filter(club_id__in=filters.clubs_id)
|
return memberships.order_by("start_date")
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
from datetime import date
|
from datetime import timedelta
|
||||||
|
|
||||||
from django.contrib.auth.models import Permission
|
from django.contrib.auth.models import Permission
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
from django.utils.timezone import localdate
|
||||||
from model_bakery import baker
|
from model_bakery import baker
|
||||||
|
|
||||||
from club.models import Club, ClubRole, Membership
|
from club.models import Club, ClubRole, Membership
|
||||||
@@ -28,64 +29,68 @@ class TestMembershipAPI(TestCase):
|
|||||||
club=cls.clubs[0],
|
club=cls.clubs[0],
|
||||||
user=subscriber_user.make(),
|
user=subscriber_user.make(),
|
||||||
role=cls.roles[0],
|
role=cls.roles[0],
|
||||||
start_date=date(2025, 1, 1),
|
start_date=localdate() - timedelta(weeks=1),
|
||||||
end_date=None,
|
|
||||||
),
|
),
|
||||||
# on going
|
# on going
|
||||||
Membership.objects.create(
|
Membership.objects.create(
|
||||||
club=cls.clubs[1],
|
club=cls.clubs[1],
|
||||||
user=subscriber_user.make(),
|
user=subscriber_user.make(),
|
||||||
role=cls.roles[1],
|
role=cls.roles[1],
|
||||||
start_date=date(2026, 5, 1),
|
start_date=localdate() - timedelta(days=1),
|
||||||
end_date=None,
|
|
||||||
),
|
),
|
||||||
# former
|
# former
|
||||||
Membership.objects.create(
|
Membership.objects.create(
|
||||||
club=cls.clubs[1],
|
club=cls.clubs[1],
|
||||||
user=subscriber_user.make(),
|
user=subscriber_user.make(),
|
||||||
role=cls.roles[2],
|
role=cls.roles[2],
|
||||||
start_date=date(2024, 6, 1),
|
start_date=localdate() - timedelta(weeks=2),
|
||||||
end_date=date(2025, 8, 1),
|
end_date=localdate() - timedelta(days=6),
|
||||||
),
|
),
|
||||||
# on going
|
# on going
|
||||||
Membership.objects.create(
|
Membership.objects.create(
|
||||||
club=cls.clubs[2],
|
club=cls.clubs[2],
|
||||||
user=subscriber_user.make(),
|
user=subscriber_user.make(),
|
||||||
role=cls.roles[0],
|
role=cls.roles[0],
|
||||||
start_date=date(2024, 1, 1),
|
start_date=localdate() - timedelta(weeks=3),
|
||||||
end_date=None,
|
|
||||||
),
|
),
|
||||||
# former
|
# former
|
||||||
Membership.objects.create(
|
Membership.objects.create(
|
||||||
club=cls.clubs[1],
|
club=cls.clubs[1],
|
||||||
user=subscriber_user.make(),
|
user=subscriber_user.make(),
|
||||||
role=cls.roles[2],
|
role=cls.roles[2],
|
||||||
start_date=date(2025, 6, 1),
|
start_date=localdate() - timedelta(days=4),
|
||||||
end_date=date(2025, 8, 1),
|
end_date=localdate() - timedelta(days=3),
|
||||||
),
|
),
|
||||||
# on going
|
# on going
|
||||||
Membership.objects.create(
|
Membership.objects.create(
|
||||||
club=cls.clubs[2],
|
club=cls.clubs[2],
|
||||||
user=subscriber_user.make(),
|
user=subscriber_user.make(),
|
||||||
role=cls.roles[0],
|
role=cls.roles[0],
|
||||||
start_date=date(2026, 6, 6),
|
start_date=localdate() - timedelta(days=1),
|
||||||
end_date=None,
|
|
||||||
),
|
),
|
||||||
# former
|
# former
|
||||||
Membership.objects.create(
|
Membership.objects.create(
|
||||||
club=cls.clubs[0],
|
club=cls.clubs[0],
|
||||||
user=subscriber_user.make(),
|
user=subscriber_user.make(),
|
||||||
role=cls.roles[0],
|
role=cls.roles[0],
|
||||||
start_date=date(2020, 1, 1),
|
start_date=localdate() - timedelta(weeks=6),
|
||||||
end_date=date(2025, 6, 8),
|
end_date=localdate() - timedelta(days=3),
|
||||||
),
|
),
|
||||||
# former
|
# former
|
||||||
Membership.objects.create(
|
Membership.objects.create(
|
||||||
club=cls.clubs[2],
|
club=cls.clubs[2],
|
||||||
user=subscriber_user.make(),
|
user=subscriber_user.make(),
|
||||||
role=cls.roles[0],
|
role=cls.roles[0],
|
||||||
start_date=date(2020, 1, 1),
|
start_date=localdate() - timedelta(weeks=8),
|
||||||
end_date=date(2025, 6, 8),
|
end_date=localdate() - timedelta(days=6),
|
||||||
|
),
|
||||||
|
# former
|
||||||
|
Membership.objects.create(
|
||||||
|
club=cls.clubs[1],
|
||||||
|
user=subscriber_user.make(),
|
||||||
|
role=cls.roles[0],
|
||||||
|
start_date=localdate() - timedelta(weeks=8),
|
||||||
|
end_date=localdate() - timedelta(weeks=7, days=5),
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -94,10 +99,11 @@ class TestNewMembershipAPI(TestMembershipAPI):
|
|||||||
def test_new_membership_one_club(self):
|
def test_new_membership_one_club(self):
|
||||||
assert self.user.has_perm("club.view_club")
|
assert self.user.has_perm("club.view_club")
|
||||||
self.client.force_login(self.user)
|
self.client.force_login(self.user)
|
||||||
since_date = date(2025, 1, 1)
|
since_date = localdate() - timedelta(weeks=1)
|
||||||
arg = {"since_date": since_date, "clubs_id": self.clubs[0].id}
|
arg = {"since_date": since_date, "clubs_id": self.clubs[0].id}
|
||||||
url = reverse("api:get_new_clubs_members_since_date")
|
url = reverse("api:get_new_clubs_members_since_date")
|
||||||
response = self.client.get(url, arg)
|
with self.assertNumQueries(8):
|
||||||
|
response = self.client.get(url, arg)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
data = response.json()
|
data = response.json()
|
||||||
|
|
||||||
@@ -108,13 +114,14 @@ class TestNewMembershipAPI(TestMembershipAPI):
|
|||||||
def test_new_membership_multiple_club(self):
|
def test_new_membership_multiple_club(self):
|
||||||
assert self.user.has_perm("club.view_club")
|
assert self.user.has_perm("club.view_club")
|
||||||
self.client.force_login(self.user)
|
self.client.force_login(self.user)
|
||||||
since_date = date(2025, 1, 1)
|
since_date = localdate() - timedelta(weeks=1)
|
||||||
arg = {
|
arg = {
|
||||||
"since_date": since_date,
|
"since_date": since_date,
|
||||||
"clubs_id": [self.clubs[0].id, self.clubs[1].id],
|
"clubs_id": [self.clubs[0].id, self.clubs[1].id],
|
||||||
}
|
}
|
||||||
url = reverse("api:get_new_clubs_members_since_date")
|
url = reverse("api:get_new_clubs_members_since_date")
|
||||||
response = self.client.get(url, arg)
|
with self.assertNumQueries(11):
|
||||||
|
response = self.client.get(url, arg)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
data = response.json()
|
data = response.json()
|
||||||
|
|
||||||
@@ -125,10 +132,11 @@ class TestNewMembershipAPI(TestMembershipAPI):
|
|||||||
def test_new_membership_all_clubs(self):
|
def test_new_membership_all_clubs(self):
|
||||||
assert self.user.has_perm("club.view_club")
|
assert self.user.has_perm("club.view_club")
|
||||||
self.client.force_login(self.user)
|
self.client.force_login(self.user)
|
||||||
since_date = date(2025, 1, 1)
|
since_date = localdate() - timedelta(weeks=1)
|
||||||
arg = {"since_date": since_date}
|
arg = {"since_date": since_date}
|
||||||
url = reverse("api:get_new_clubs_members_since_date")
|
url = reverse("api:get_new_clubs_members_since_date")
|
||||||
response = self.client.get(url, arg)
|
with self.assertNumQueries(14):
|
||||||
|
response = self.client.get(url, arg)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
data = response.json()
|
data = response.json()
|
||||||
|
|
||||||
@@ -145,10 +153,12 @@ class TestFormerMembershipAPI(TestMembershipAPI):
|
|||||||
def test_former_membership_one_club(self):
|
def test_former_membership_one_club(self):
|
||||||
assert self.user.has_perm("club.view_club")
|
assert self.user.has_perm("club.view_club")
|
||||||
self.client.force_login(self.user)
|
self.client.force_login(self.user)
|
||||||
since_date = date(2025, 1, 1)
|
since_date = localdate() - timedelta(weeks=1)
|
||||||
arg = {"since_date": since_date, "clubs_id": self.clubs[1].id}
|
arg = {"since_date": since_date, "clubs_id": self.clubs[1].id}
|
||||||
url = reverse("api:get_former_clubs_members_since_date")
|
url = reverse("api:get_former_clubs_members_since_date")
|
||||||
response = self.client.get(url, arg)
|
with self.assertNumQueries(8):
|
||||||
|
response = self.client.get(url, arg)
|
||||||
|
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
data = response.json()
|
data = response.json()
|
||||||
|
|
||||||
@@ -159,13 +169,14 @@ class TestFormerMembershipAPI(TestMembershipAPI):
|
|||||||
def test_new_membership_multiple_club(self):
|
def test_new_membership_multiple_club(self):
|
||||||
assert self.user.has_perm("club.view_club")
|
assert self.user.has_perm("club.view_club")
|
||||||
self.client.force_login(self.user)
|
self.client.force_login(self.user)
|
||||||
since_date = date(2025, 1, 1)
|
since_date = localdate() - timedelta(weeks=1)
|
||||||
arg = {
|
arg = {
|
||||||
"since_date": since_date,
|
"since_date": since_date,
|
||||||
"clubs_id": [self.clubs[1].id, self.clubs[0].id],
|
"clubs_id": [self.clubs[1].id, self.clubs[0].id],
|
||||||
}
|
}
|
||||||
url = reverse("api:get_former_clubs_members_since_date")
|
url = reverse("api:get_former_clubs_members_since_date")
|
||||||
response = self.client.get(url, arg)
|
with self.assertNumQueries(11):
|
||||||
|
response = self.client.get(url, arg)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
data = response.json()
|
data = response.json()
|
||||||
|
|
||||||
@@ -176,17 +187,18 @@ class TestFormerMembershipAPI(TestMembershipAPI):
|
|||||||
def test_new_membership_all_clubs(self):
|
def test_new_membership_all_clubs(self):
|
||||||
assert self.user.has_perm("club.view_club")
|
assert self.user.has_perm("club.view_club")
|
||||||
self.client.force_login(self.user)
|
self.client.force_login(self.user)
|
||||||
since_date = date(2025, 1, 1)
|
since_date = localdate() - timedelta(weeks=1)
|
||||||
arg = {"since_date": since_date}
|
arg = {"since_date": since_date}
|
||||||
url = reverse("api:get_former_clubs_members_since_date")
|
url = reverse("api:get_former_clubs_members_since_date")
|
||||||
response = self.client.get(url, arg)
|
with self.assertNumQueries(14):
|
||||||
|
response = self.client.get(url, arg)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
data = response.json()
|
data = response.json()
|
||||||
|
|
||||||
membership_ids = [e["id"] for e in data]
|
membership_ids = [e["id"] for e in data]
|
||||||
expected_ids = [
|
expected_ids = [
|
||||||
self.memberships[6].id,
|
|
||||||
self.memberships[7].id,
|
self.memberships[7].id,
|
||||||
|
self.memberships[6].id,
|
||||||
self.memberships[2].id,
|
self.memberships[2].id,
|
||||||
]
|
]
|
||||||
assert membership_ids == expected_ids
|
assert membership_ids == expected_ids
|
||||||
|
|||||||
Reference in New Issue
Block a user