Skip to content

Commit

Permalink
refactor tests
Browse files Browse the repository at this point in the history
  • Loading branch information
grillazz committed Apr 24, 2024
1 parent c2975fd commit 121246c
Showing 1 changed file with 35 additions and 9 deletions.
44 changes: 35 additions & 9 deletions tests/api/test_stuff.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
import pytest
from fastapi import status
from httpx import AsyncClient
from inline_snapshot import snapshot
from dirty_equals import IsStr, IsUUID, IsPositiveFloat


pytestmark = pytest.mark.anyio

Expand All @@ -19,7 +22,13 @@
async def test_add_stuff(client: AsyncClient, payload: dict, status_code: int):
response = await client.post("/stuff", json=payload)
assert response.status_code == status_code
assert payload["name"] == response.json()["name"]
assert response.json() == snapshot(
{
"id": IsUUID(4),
"name": "motorhead",
"description": "we play rock and roll",
}
)


@pytest.mark.parametrize(
Expand All @@ -36,8 +45,13 @@ async def test_get_stuff(client: AsyncClient, payload: dict, status_code: int):
name = payload["name"]
response = await client.get(f"/stuff/{name}")
assert response.status_code == status_code
assert payload["name"] == response.json()["name"]
assert UUID(response.json()["id"])
assert response.json() == snapshot(
{
"id": IsUUID(4),
"name": "motorhead-0",
"description": "we play rock and roll",
}
)


@pytest.mark.parametrize(
Expand All @@ -51,17 +65,17 @@ async def test_get_stuff(client: AsyncClient, payload: dict, status_code: int):
)
async def test_delete_stuff(client: AsyncClient, payload: dict, status_code: int):
response = await client.post("/stuff", json=payload)
print(response.json())
name = response.json()["name"]
response = await client.delete(f"/stuff/{name}")
assert response.status_code == status_code
assert response.json() == snapshot(True)


@pytest.mark.parametrize(
"payload, status_code",
(
(
{"name": "motorhead", "description": "we play rock and roll"},
{"name": "motorhead-2", "description": "we play rock and roll"},
status.HTTP_200_OK,
),
),
Expand All @@ -70,7 +84,7 @@ async def test_delete_stuff(client: AsyncClient, payload: dict, status_code: int
"patch_payload, patch_status_code",
(
(
{"name": "motorhead", "description": "we play loud"},
{"name": "motorhead-2", "description": "we play loud"},
status.HTTP_200_OK,
),
),
Expand All @@ -82,9 +96,21 @@ async def test_update_stuff(
patch_payload: dict,
patch_status_code: int,
):
await client.post("/stuff", json=payload)
response = await client.post("/stuff", json=payload)
assert response.json() == snapshot(
{
"id": IsUUID(4),
"name": "motorhead-2",
"description": "we play rock and roll",
}
)
name = payload["name"]
response = await client.patch(f"/stuff/{name}", json=patch_payload)
assert response.json() == snapshot(
{
"id": IsUUID(4),
"name": "motorhead-2",
"description": "we play loud",
}
)
assert response.status_code == patch_status_code
response = await client.get(f"/stuff/{name}")
assert patch_payload["description"] == response.json()["description"]

0 comments on commit 121246c

Please sign in to comment.