minhtrannhat d92982479c
Feat(API): CRUD functionalities with todo items
- wrote tests for todo items workflow
2022-12-27 14:14:25 -05:00

55 lines
1.9 KiB
Python

from quart import Quart
async def test_post_todo(app: Quart) -> None:
test_client = app.test_client()
async with test_client.authenticated("1"): # type: ignore
response = await test_client.post(
"/todos/",
json={"complete": False, "due": None, "task": "Test task"},
)
assert response.status_code == 201
assert (await response.get_json())["id"] > 0
async def test_get_todo(app: Quart) -> None:
test_client = app.test_client()
async with test_client.authenticated("1"): # type: ignore
response = await test_client.get("/todos/1/")
assert response.status_code == 200
assert (await response.get_json())["task"] == "Test Task"
async def test_put_todo(app: Quart) -> None:
test_client = app.test_client()
async with test_client.authenticated("1"): # type: ignore
response = await test_client.post(
"/todos/",
json={"complete": False, "due": None, "task": "Test task"},
)
todo_id = (await response.get_json())["id"]
response = await test_client.put(
f"/todos/{todo_id}/",
json={"complete": False, "due": None, "task": "Updated"},
)
assert (await response.get_json())["task"] == "Updated"
response = await test_client.get(f"/todos/{todo_id}/")
assert (await response.get_json())["task"] == "Updated"
async def test_delete_todo(app: Quart) -> None:
test_client = app.test_client()
async with test_client.authenticated("1"): # type: ignore
response = await test_client.post(
"/todos/",
json={"complete": False, "due": None, "task": "Test task"},
)
todo_id = (await response.get_json())["id"]
await test_client.delete(f"/todos/{todo_id}/")
response = await test_client.get(f"/todos/{todo_id}/")
assert response.status_code == 404