Coverage for tests / test_param_class.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-04-06 01:24 +0000

1from fastapi import FastAPI 1abcd

2from fastapi.params import Param 1abcd

3from fastapi.testclient import TestClient 1abcd

4 

5app = FastAPI() 1abcd

6 

7 

8@app.get("/items/") 1abcd

9def read_items(q: str | None = Param(default=None)): # type: ignore 1abcd

10 return {"q": q} 1efghijk

11 

12 

13client = TestClient(app) 1abcd

14 

15 

16def test_default_param_query_none(): 1abcd

17 response = client.get("/items/") 1eghj

18 assert response.status_code == 200, response.text 1eghj

19 assert response.json() == {"q": None} 1eghj

20 

21 

22def test_default_param_query(): 1abcd

23 response = client.get("/items/?q=foo") 1flik

24 assert response.status_code == 200, response.text 1flik

25 assert response.json() == {"q": "foo"} 1flik