DKB_ARMKA/api/tests/integration/test_memberships_api_negative_integration.py
PotapovaA ba172f8e99 init
2026-09-15 15:53:46 +03:00

79 lines
2.2 KiB
Python

import pytest
@pytest.mark.asyncio
async def test_get_membership_returns_404_for_unknown_id(api_client):
response = await api_client.get("/api/v1/memberships/999999999")
assert response.status_code == 404
assert response.json()["detail"] == "Membership not found"
@pytest.mark.asyncio
async def test_patch_membership_returns_404_for_unknown_id(api_client):
response = await api_client.patch(
"/api/v1/memberships/999999999",
json={"is_gsz": True},
)
assert response.status_code == 404
assert response.json()["detail"] == "Membership not found"
@pytest.mark.asyncio
async def test_delete_membership_returns_404_for_unknown_id(api_client):
response = await api_client.delete("/api/v1/memberships/999999999")
assert response.status_code == 404
assert response.json()["detail"] == "Membership not found"
@pytest.mark.asyncio
async def test_create_membership_returns_422_for_missing_required_fields(api_client):
response = await api_client.post(
"/api/v1/memberships",
json={"is_gsk": True, "is_gsz": False},
)
assert response.status_code == 422
@pytest.mark.asyncio
async def test_create_membership_returns_422_for_invalid_share_pct(api_client):
response = await api_client.post(
"/api/v1/memberships",
json={
"group_id": "GK001",
"org_id": 1,
"share_pct": 150,
},
)
assert response.status_code == 422
@pytest.mark.asyncio
async def test_patch_membership_returns_422_for_invalid_share_pct(api_client):
response = await api_client.patch(
"/api/v1/memberships/1",
json={"share_pct": -1},
)
assert response.status_code == 422
@pytest.mark.asyncio
async def test_create_membership_returns_409_for_invalid_foreign_keys(api_client):
response = await api_client.post(
"/api/v1/memberships",
json={
"group_id": "UNKNOWN_GROUP",
"org_id": 999999999,
"is_gsk": True,
"is_gsz": False,
},
)
assert response.status_code == 409
assert response.json()["detail"] == "нарушение целостности данных в БД"