@@ -321,6 +321,14 @@ def test_feature_serializer():
321
321
assert "bbox" in f .model_dump ()
322
322
assert "id" in f .model_dump ()
323
323
324
+ # Exclude
325
+ assert "bbox" not in f .model_dump (exclude = {"bbox" })
326
+ assert "bbox" not in list (json .loads (f .model_dump_json (exclude = {"bbox" })).keys ())
327
+
328
+ # Include
329
+ assert ["bbox" ] == list (f .model_dump (include = {"bbox" }).keys ())
330
+ assert ["bbox" ] == list (json .loads (f .model_dump_json (include = {"bbox" })).keys ())
331
+
324
332
feat_ser = json .loads (f .model_dump_json ())
325
333
assert "bbox" in feat_ser
326
334
assert "id" in feat_ser
@@ -336,6 +344,8 @@ def test_feature_serializer():
336
344
"properties" : {},
337
345
}
338
346
)
347
+ # BBOX Should'nt be present if `None`
348
+ # https://github.com/developmentseed/geojson-pydantic/issues/125
339
349
assert "bbox" in f .model_dump ()
340
350
341
351
feat_ser = json .loads (f .model_dump_json ())
@@ -381,6 +391,14 @@ def test_feature_collection_serializer():
381
391
)
382
392
assert "bbox" in fc .model_dump ()
383
393
394
+ # Exclude
395
+ assert "bbox" not in fc .model_dump (exclude = {"bbox" })
396
+ assert "bbox" not in list (json .loads (fc .model_dump_json (exclude = {"bbox" })).keys ())
397
+
398
+ # Include
399
+ assert ["bbox" ] == list (fc .model_dump (include = {"bbox" }).keys ())
400
+ assert ["bbox" ] == list (json .loads (fc .model_dump_json (include = {"bbox" })).keys ())
401
+
384
402
featcoll_ser = json .loads (fc .model_dump_json ())
385
403
assert "bbox" in featcoll_ser
386
404
assert "bbox" in featcoll_ser ["features" ][0 ]
0 commit comments