@@ -226,9 +226,7 @@ def multiple_circuits(db, brain_atlas_id, subject_id, brain_region_id, license_i
226226
227227
228228@pytest .fixture
229- def campaigns_with_different_circuits (
230- db , json_data , person_id , simulation_json_data , multiple_circuits
231- ):
229+ def campaigns_with_different_circuits (db , json_data , person_id , multiple_circuits ):
232230 campaigns = []
233231
234232 for i , circuit in enumerate (multiple_circuits ):
@@ -238,6 +236,7 @@ def campaigns_with_different_circuits(
238236 ** (
239237 json_data
240238 | {
239+ "entity_id" : str (circuit .id ),
241240 "name" : f"campaign-circuit-{ i } " ,
242241 "description" : f"Campaign for circuit { i } " ,
243242 "created_by_id" : person_id ,
@@ -252,15 +251,14 @@ def campaigns_with_different_circuits(
252251 add_db (
253252 db ,
254253 Simulation (
255- ** simulation_json_data
256- | {
257- "name" : f"simulation-circuit-{ i } " ,
258- "simulation_campaign_id" : campaign .id ,
259- "entity_id" : circuit .id ,
260- "created_by_id" : person_id ,
261- "updated_by_id" : person_id ,
262- "authorized_project_id" : PROJECT_ID ,
263- }
254+ name = f"simulation-{ i } " ,
255+ description = f"simulation-description-{ i } " ,
256+ entity_id = circuit .id ,
257+ simulation_campaign_id = campaign .id ,
258+ created_by_id = person_id ,
259+ updated_by_id = person_id ,
260+ authorized_project_id = PROJECT_ID ,
261+ scan_parameters = {"foo1" : "bar1" , "foo2" : "bar2" },
264262 ),
265263 )
266264
@@ -269,45 +267,64 @@ def campaigns_with_different_circuits(
269267
270268def test_filter_by_circuit_id (client , campaigns_with_different_circuits , multiple_circuits ): # noqa: ARG001
271269 first_circuit_id = str (multiple_circuits [0 ].id )
272- data = assert_request (client .get , url = ROUTE , params = {"circuit__id" : first_circuit_id }).json ()[
270+
271+ data = assert_request (client .get , url = ROUTE , params = {"entity_id" : first_circuit_id }).json ()[
273272 "data"
274273 ]
274+ assert len (data ) == 1
275+ assert data [0 ]["name" ] == "campaign-circuit-0"
276+
277+ data = assert_request (
278+ client .get , url = ROUTE , params = {"simulation__circuit__id" : first_circuit_id }
279+ ).json ()["data" ]
275280
276281 assert len (data ) == 1
277282 assert data [0 ]["name" ] == "campaign-circuit-0"
278283
279284 second_circuit_id = str (multiple_circuits [1 ].id )
280- data = assert_request (client . get , url = ROUTE , params = { "circuit__id" : second_circuit_id }). json ()[
281- "data"
282- ]
285+ data = assert_request (
286+ client . get , url = ROUTE , params = { "simulation__circuit__id" : second_circuit_id }
287+ ). json ()[ "data" ]
283288
284289 assert len (data ) == 1
285290 assert data [0 ]["name" ] == "campaign-circuit-1"
286291
287292
288293def test_filter_by_circuit_name (client , campaigns_with_different_circuits , multiple_circuits ): # noqa: ARG001
289294 data = assert_request (
290- client .get , url = ROUTE , params = {"circuit__name " : "micro-circuit-1" }
295+ client .get , url = ROUTE , params = {"simulation__circuit__name " : "micro-circuit-1" }
291296 ).json ()["data" ]
292297
293298 assert len (data ) == 1
294299 assert data [0 ]["name" ] == "campaign-circuit-0"
295300
296301 data = assert_request (
297- client .get , url = ROUTE , params = {"circuit__name__in " : "micro-circuit-2" }
302+ client .get , url = ROUTE , params = {"simulation__circuit__name__in " : "micro-circuit-2" }
298303 ).json ()["data" ]
299304
300305 assert len (data ) == 1
301306 assert data [0 ]["name" ] == "campaign-circuit-1"
302307
303308
304309def test_filter_by_circuit_scale (client , campaigns_with_different_circuits , multiple_circuits ): # noqa: ARG001
310+ data = assert_request (
311+ client .get , url = ROUTE , params = {"simulation__circuit__scale" : CircuitScale .microcircuit }
312+ ).json ()["data" ]
313+
314+ assert len (data ) == 2
315+
305316 data = assert_request (
306317 client .get , url = ROUTE , params = {"circuit__scale" : CircuitScale .microcircuit }
307318 ).json ()["data" ]
308319
309320 assert len (data ) == 2
310321
322+ data = assert_request (
323+ client .get , url = ROUTE , params = {"simulation__circuit__scale" : CircuitScale .pair }
324+ ).json ()["data" ]
325+
326+ assert len (data ) == 1
327+
311328 data = assert_request (
312329 client .get , url = ROUTE , params = {"circuit__scale" : CircuitScale .pair }
313330 ).json ()["data" ]
@@ -320,6 +337,12 @@ def test_filter_by_circuit_scale_empty(
320337 campaigns_with_different_circuits , # noqa: ARG001
321338 multiple_circuits , # noqa: ARG001
322339):
340+ data = assert_request (
341+ client .get , url = ROUTE , params = {"simulation__circuit__scale" : CircuitScale .small }
342+ ).json ()["data" ]
343+
344+ assert len (data ) == 0
345+
323346 data = assert_request (
324347 client .get , url = ROUTE , params = {"circuit__scale" : CircuitScale .small }
325348 ).json ()["data" ]
@@ -331,7 +354,7 @@ def test_filter_by_circuit_scale_in(client, campaigns_with_different_circuits, m
331354 data = assert_request (
332355 client .get ,
333356 url = ROUTE ,
334- params = {"circuit__scale__in " : [CircuitScale .microcircuit , CircuitScale .pair ]},
357+ params = {"simulation__circuit__scale__in " : [CircuitScale .microcircuit , CircuitScale .pair ]},
335358 ).json ()["data" ]
336359
337360 assert len (data ) == 3
@@ -344,6 +367,16 @@ def test_filter_by_circuit_build_category(
344367 campaigns_with_different_circuits , # noqa: ARG001
345368 multiple_circuits , # noqa: ARG001
346369):
370+ data = assert_request (
371+ client .get ,
372+ url = ROUTE ,
373+ params = {"simulation__circuit__build_category" : CircuitBuildCategory .computational_model },
374+ ).json ()["data" ]
375+
376+ assert len (data ) == 2
377+ campaign_names = {campaign ["name" ] for campaign in data }
378+ assert campaign_names == {"campaign-circuit-0" , "campaign-circuit-2" }
379+
347380 data = assert_request (
348381 client .get ,
349382 url = ROUTE ,
@@ -354,6 +387,15 @@ def test_filter_by_circuit_build_category(
354387 campaign_names = {campaign ["name" ] for campaign in data }
355388 assert campaign_names == {"campaign-circuit-0" , "campaign-circuit-2" }
356389
390+ data = assert_request (
391+ client .get ,
392+ url = ROUTE ,
393+ params = {"simulation__circuit__build_category" : CircuitBuildCategory .em_reconstruction },
394+ ).json ()["data" ]
395+
396+ assert len (data ) == 1
397+ assert data [0 ]["name" ] == "campaign-circuit-1"
398+
357399 data = assert_request (
358400 client .get ,
359401 url = ROUTE ,
@@ -373,7 +415,7 @@ def test_filter_by_circuit_build_category_in(
373415 client .get ,
374416 url = ROUTE ,
375417 params = {
376- "circuit__build_category__in " : [
418+ "simulation__circuit__build_category__in " : [
377419 CircuitBuildCategory .computational_model ,
378420 CircuitBuildCategory .em_reconstruction ,
379421 ],
@@ -383,3 +425,16 @@ def test_filter_by_circuit_build_category_in(
383425 assert len (data ) == 3
384426 campaign_names = {campaign ["name" ] for campaign in data }
385427 assert campaign_names == {"campaign-circuit-0" , "campaign-circuit-1" , "campaign-circuit-2" }
428+
429+ data = assert_request (
430+ client .get ,
431+ url = ROUTE ,
432+ params = {
433+ "circuit__build_category__in" : [
434+ CircuitBuildCategory .computational_model ,
435+ CircuitBuildCategory .em_reconstruction ,
436+ ],
437+ },
438+ ).json ()["data" ]
439+
440+ assert len (data ) == 3
0 commit comments