Skip to content

Commit e20e7fc

Browse files
committed
Added create item endpoint and tests
1 parent f18782e commit e20e7fc

2 files changed

Lines changed: 20 additions & 0 deletions

File tree

app/main.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,16 @@ async def get_item(item_id: int):
4848
"description": f"This is item number {item_id}",
4949
}
5050

51+
@app.post("/api/items")
52+
async def create_item(name: str, description: str):
53+
"""Create a new item."""
54+
return {
55+
"id": 999,
56+
"name": name,
57+
"description": description,
58+
"created": True
59+
}
60+
5161

5262
if __name__ == "__main__":
5363
uvicorn.run(app, host="0.0.0.0", port=8000)

tests/test_main.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,13 @@ def test_get_item():
4141
assert data["id"] == 5
4242
assert data["name"] == "Item 5"
4343
assert "item number 5" in data["description"]
44+
45+
def test_create_item():
46+
"""Test the create item endpoint."""
47+
response = client.post("/api/items?name=Test Item&description=Test Description")
48+
assert response.status_code == 200
49+
data = response.json()
50+
assert data["id"] == 999
51+
assert data["name"] == "Test Item"
52+
assert data["description"] == "Test Description"
53+
assert data["created"] is True

0 commit comments

Comments
 (0)