diff --git a/tests/api/test_import_xlsx.py b/tests/api/test_import_xlsx.py new file mode 100644 index 0000000..5ea68cd --- /dev/null +++ b/tests/api/test_import_xlsx.py @@ -0,0 +1,27 @@ +from anyio import Path + +import pytest +from fastapi import status +from httpx import AsyncClient + +# Integration tests +pytestmark = pytest.mark.anyio + + +async def test_import_animals(client: AsyncClient): + # Arrange + expected_status = status.HTTP_201_CREATED + headers = {"Content-type": "multipart/form-data; boundary={}"} + + path = Path("tests/api/nonsense.xlsx") + + _bytes = await path.read_bytes() + + response = await client.post( + "/nonsense/import", + files={"xlsx": ("nonsense.xlsx", _bytes)}, + headers=headers, + ) + + assert response.status_code == expected_status + assert response.json() == {'filename': 'nonsense.xlsx', 'nonsense_records': 10}