forked from cardosofelipe/fast-next-template
Refactor E2E tests and fixtures for improved readability and consistency
- Reformatted assertions in `test_database_workflows.py` for better readability. - Refactored `postgres_url` transformation logic in `conftest.py` for improved clarity. - Adjusted import handling in `test_api_contracts.py` to streamline usage of Hypothesis and Schemathesis libraries.
This commit is contained in:
@@ -122,9 +122,9 @@ def async_postgres_url(postgres_url) -> str:
|
|||||||
Testcontainers returns postgresql+psycopg2:// format.
|
Testcontainers returns postgresql+psycopg2:// format.
|
||||||
"""
|
"""
|
||||||
# Testcontainers uses psycopg2 by default, convert to asyncpg
|
# Testcontainers uses psycopg2 by default, convert to asyncpg
|
||||||
return postgres_url.replace("postgresql+psycopg2://", "postgresql+asyncpg://").replace(
|
return postgres_url.replace(
|
||||||
"postgresql://", "postgresql+asyncpg://"
|
"postgresql+psycopg2://", "postgresql+asyncpg://"
|
||||||
)
|
).replace("postgresql://", "postgresql+asyncpg://")
|
||||||
|
|
||||||
|
|
||||||
@pytest_asyncio.fixture
|
@pytest_asyncio.fixture
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ Note: Schemathesis v4.x API - filtering is done via include/exclude methods.
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
from hypothesis import settings
|
||||||
from schemathesis import openapi
|
from schemathesis import openapi
|
||||||
from hypothesis import Phase, settings
|
|
||||||
|
|
||||||
SCHEMATHESIS_AVAILABLE = True
|
SCHEMATHESIS_AVAILABLE = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
|||||||
@@ -40,7 +40,9 @@ class TestUserRegistrationWorkflow:
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
assert response.status_code in [200, 201], f"Registration failed: {response.text}"
|
assert response.status_code in [200, 201], (
|
||||||
|
f"Registration failed: {response.text}"
|
||||||
|
)
|
||||||
data = response.json()
|
data = response.json()
|
||||||
assert data["email"] == email
|
assert data["email"] == email
|
||||||
assert "id" in data
|
assert "id" in data
|
||||||
@@ -93,7 +95,9 @@ class TestAuthenticationWorkflow:
|
|||||||
"last_name": "Test",
|
"last_name": "Test",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
assert reg_resp.status_code in [200, 201], f"Registration failed: {reg_resp.text}"
|
assert reg_resp.status_code in [200, 201], (
|
||||||
|
f"Registration failed: {reg_resp.text}"
|
||||||
|
)
|
||||||
|
|
||||||
# 2. Login
|
# 2. Login
|
||||||
login_resp = await e2e_client.post(
|
login_resp = await e2e_client.post(
|
||||||
|
|||||||
Reference in New Issue
Block a user