mirror of
https://github.com/ae-utbm/sith.git
synced 2026-06-28 02:38:44 +00:00
ajout club dans select_related()
This commit is contained in:
+2
-2
@@ -79,7 +79,7 @@ class ClubMembershipController(ControllerBase):
|
|||||||
memberships = (
|
memberships = (
|
||||||
Membership.objects.ongoing()
|
Membership.objects.ongoing()
|
||||||
.filter(start_date__gte=filters.since_date, end_date__isnull=True)
|
.filter(start_date__gte=filters.since_date, end_date__isnull=True)
|
||||||
.select_related("user", "role")
|
.select_related("user", "role", "club")
|
||||||
)
|
)
|
||||||
if filters.clubs_id:
|
if filters.clubs_id:
|
||||||
memberships = memberships.filter(club_id__in=filters.clubs_id)
|
memberships = memberships.filter(club_id__in=filters.clubs_id)
|
||||||
@@ -98,7 +98,7 @@ class ClubMembershipController(ControllerBase):
|
|||||||
memberships = Membership.objects.filter(
|
memberships = Membership.objects.filter(
|
||||||
start_date__lt=filters.since_date,
|
start_date__lt=filters.since_date,
|
||||||
end_date__gte=filters.since_date,
|
end_date__gte=filters.since_date,
|
||||||
).select_related("user", "role")
|
).select_related("user", "role", "club")
|
||||||
if filters.clubs_id:
|
if filters.clubs_id:
|
||||||
memberships = memberships.filter(club_id__in=filters.clubs_id)
|
memberships = memberships.filter(club_id__in=filters.clubs_id)
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ class TestMembershipAPI(TestCase):
|
|||||||
cls.user.user_permissions.add(perm)
|
cls.user.user_permissions.add(perm)
|
||||||
cls.clubs = baker.make(Club, _quantity=3, is_active=True)
|
cls.clubs = baker.make(Club, _quantity=3, is_active=True)
|
||||||
cls.roles = baker.make(ClubRole, _quantity=3, is_active=True)
|
cls.roles = baker.make(ClubRole, _quantity=3, is_active=True)
|
||||||
|
cls.expectedNumQueries = 5
|
||||||
|
|
||||||
# Clean existing data to avoid side effects
|
# Clean existing data to avoid side effects
|
||||||
Membership.objects.all().delete()
|
Membership.objects.all().delete()
|
||||||
@@ -105,7 +106,7 @@ class TestNewMembershipAPI(TestMembershipAPI):
|
|||||||
self.client.force_login(self.user)
|
self.client.force_login(self.user)
|
||||||
since_date = localdate() - timedelta(weeks=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}
|
||||||
with self.assertNumQueries(6):
|
with self.assertNumQueries(self.expectedNumQueries):
|
||||||
response = self.client.get(self.url, query_params=arg)
|
response = self.client.get(self.url, query_params=arg)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
data = response.json()
|
data = response.json()
|
||||||
@@ -121,7 +122,7 @@ class TestNewMembershipAPI(TestMembershipAPI):
|
|||||||
"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],
|
||||||
}
|
}
|
||||||
with self.assertNumQueries(7):
|
with self.assertNumQueries(self.expectedNumQueries):
|
||||||
response = self.client.get(self.url, query_params=arg)
|
response = self.client.get(self.url, query_params=arg)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
data = response.json()
|
data = response.json()
|
||||||
@@ -134,7 +135,7 @@ class TestNewMembershipAPI(TestMembershipAPI):
|
|||||||
self.client.force_login(self.user)
|
self.client.force_login(self.user)
|
||||||
since_date = localdate() - timedelta(weeks=1)
|
since_date = localdate() - timedelta(weeks=1)
|
||||||
arg = {"since_date": since_date}
|
arg = {"since_date": since_date}
|
||||||
with self.assertNumQueries(8):
|
with self.assertNumQueries(self.expectedNumQueries):
|
||||||
response = self.client.get(self.url, query_params=arg)
|
response = self.client.get(self.url, query_params=arg)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
data = response.json()
|
data = response.json()
|
||||||
@@ -158,7 +159,7 @@ class TestFormerMembershipAPI(TestMembershipAPI):
|
|||||||
self.client.force_login(self.user)
|
self.client.force_login(self.user)
|
||||||
since_date = localdate() - timedelta(weeks=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}
|
||||||
with self.assertNumQueries(6):
|
with self.assertNumQueries(self.expectedNumQueries):
|
||||||
response = self.client.get(self.url, query_params=arg)
|
response = self.client.get(self.url, query_params=arg)
|
||||||
|
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
@@ -175,7 +176,7 @@ class TestFormerMembershipAPI(TestMembershipAPI):
|
|||||||
"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],
|
||||||
}
|
}
|
||||||
with self.assertNumQueries(7):
|
with self.assertNumQueries(self.expectedNumQueries):
|
||||||
response = self.client.get(self.url, query_params=arg)
|
response = self.client.get(self.url, query_params=arg)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
data = response.json()
|
data = response.json()
|
||||||
@@ -188,7 +189,7 @@ class TestFormerMembershipAPI(TestMembershipAPI):
|
|||||||
self.client.force_login(self.user)
|
self.client.force_login(self.user)
|
||||||
since_date = localdate() - timedelta(weeks=1)
|
since_date = localdate() - timedelta(weeks=1)
|
||||||
arg = {"since_date": since_date}
|
arg = {"since_date": since_date}
|
||||||
with self.assertNumQueries(8):
|
with self.assertNumQueries(self.expectedNumQueries):
|
||||||
response = self.client.get(self.url, query_params=arg)
|
response = self.client.get(self.url, query_params=arg)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
data = response.json()
|
data = response.json()
|
||||||
|
|||||||
Reference in New Issue
Block a user