diff --git a/backend/rpc.py b/backend/rpc.py index 161fb364..32a48d19 100644 --- a/backend/rpc.py +++ b/backend/rpc.py @@ -510,7 +510,7 @@ def get_projects(request, current_page=1, page_size=None, filters=None): # Perform filtering if isinstance(filters, str): # Search project title if is filter is a string only - projects_query = Project.objects.filter(name__contains=filters.strip()) + projects_query = Project.objects.filter(name__icontains=filters.strip()) total_count = projects_query.count() else: projects_query = Project.objects.all() diff --git a/backend/tests/test_rpc_endpoints.py b/backend/tests/test_rpc_endpoints.py index 45db135e..bbf4788e 100644 --- a/backend/tests/test_rpc_endpoints.py +++ b/backend/tests/test_rpc_endpoints.py @@ -620,6 +620,10 @@ def test_get_projects(self): self.assertEqual(len(result["items"]), 1) self.assertEqual(result["total_count"], 1) + # Ensure filtering is case-insensitive + result = get_projects(self.get_loggedin_request(), 1, page_size, "pROJECT 1") + self.assertEqual(len(result["items"]), 1) + self.assertEqual(result["total_count"], 1)