Skip to content

Commit

Permalink
Merge pull request #2638 from Jacobjeevan/issues/deleted-facilityUsers
Browse files Browse the repository at this point in the history
Facility Users filter out deleted users
  • Loading branch information
vigneshhari authored Dec 13, 2024
2 parents e6d4a48 + a9c0f68 commit dc578c7
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
1 change: 1 addition & 0 deletions care/facility/api/viewsets/facility_users.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ def get_queryset(self):
external_id=self.kwargs.get("facility_external_id"),
)
queryset = facility.users.filter(
is_active=True,
deleted=False,
).order_by("-last_login")
return queryset.prefetch_related(
Expand Down
23 changes: 23 additions & 0 deletions care/facility/tests/test_facilityuser_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,26 @@ def test_user_access_to_facility_on_user_type(self):
self.client.force_authenticate(user=district_lab_admin)
response = self.client.get(f"/api/v1/facility/{self.facility.external_id}/")
self.assertIs(response.status_code, status.HTTP_200_OK)

def test_user_is_not_listed_if_deleted(self):
# Testing FE's delete functionality (soft delete/is_active is set to false when user is deleted)
response = self.client.get(
f"/api/v1/facility/{self.facility.external_id}/get_users/"
)
response_json = response.json()
results = response_json["results"]
self.assertIs(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(results), 2)
self.assertIn(self.super_user.username, [user["username"] for user in results])
self.assertIn(self.user.username, [user["username"] for user in results])
self.user.is_active = False
self.user.save()
response = self.client.get(
f"/api/v1/facility/{self.facility.external_id}/get_users/"
)
response_json = response.json()
results = response_json["results"]
self.assertIs(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(results), 1)
self.assertIn(self.super_user.username, [user["username"] for user in results])
self.assertNotIn(self.user.username, [user["username"] for user in results])

0 comments on commit dc578c7

Please sign in to comment.