mirror of
https://github.com/grillazz/fastapi-sqlalchemy-asyncpg.git
synced 2025-08-26 16:40:40 +03:00
add import xlsx test
This commit is contained in:
parent
7f0261fba1
commit
0f2df83228
27
tests/api/test_import_xlsx.py
Normal file
27
tests/api/test_import_xlsx.py
Normal file
@ -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}
|
Loading…
x
Reference in New Issue
Block a user