@@ -109,10 +109,7 @@ def test_get_table_exception_response(
109109
110110 response = client .get ("/tables/non_existent_table" )
111111 assert 404 == response .status_code
112- assert (
113- "Error fetching non_existent_table"
114- in response .json ()["detail" ]
115- )
112+ assert "Error fetching non_existent_table" in response .json ()["detail" ]
116113
117114 @patch (
118115 "aind_dataverse_service_server.route."
@@ -145,6 +142,39 @@ def test_get_table_info_200_response(
145142 assert len (response .json ()) == 3
146143 assert response .json ()[0 ]["entitysetname" ] == "cr138_projects"
147144
145+ @patch (
146+ "aind_dataverse_service_server.route."
147+ "allen_powerplatform_client.DefaultApi"
148+ )
149+ @patch (
150+ "aind_dataverse_service_server.route."
151+ "allen_powerplatform_client.ApiClient"
152+ )
153+ @patch ("aind_dataverse_service_server.route.get_access_token" )
154+ def test_get_table_with_query_params (
155+ self ,
156+ mock_get_token : MagicMock ,
157+ mock_api_client : MagicMock ,
158+ mock_default_api : MagicMock ,
159+ client : TestClient ,
160+ mock_table_data ,
161+ ):
162+ """Tests table data retrieval with all optional query parameters"""
163+ mock_get_token .return_value = "mock_token"
164+ mock_instance = MagicMock ()
165+ mock_instance .get_table .return_value = mock_table_data
166+ mock_default_api .return_value = mock_instance
167+ mock_api_client .return_value .__enter__ .return_value = MagicMock ()
168+
169+ params = {
170+ "columns" : "name,createdon" ,
171+ "filter" : "status eq 'Active'" ,
172+ }
173+ response = client .get ("/tables/cr138_projects" , params = params )
174+ assert response .status_code == 200
175+ assert isinstance (response .json (), list )
176+ assert len (response .json ()) == 2
177+
148178
149179if __name__ == "__main__" :
150180 pytest .main ([__file__ ])
0 commit comments