Files
social-app/backend/tests/unit/test_response_envelope.py
T

37 lines
1.2 KiB
Python
Raw Normal View History

from __future__ import annotations
from core.http.response import ProblemDetails, build_problem_details
def test_problem_details_defaults() -> None:
result = build_problem_details(status_code=401, detail="Unauthorized")
assert isinstance(result, ProblemDetails)
assert result.type == "about:blank"
assert result.title == "Unauthorized"
assert result.status == 401
assert result.detail == "Unauthorized"
assert result.instance is None
assert result.code is None
assert result.params is None
def test_problem_details_overrides() -> None:
result = build_problem_details(
status_code=409,
detail="Conflict",
type_value="https://example.com/problems/conflict",
title="Conflict",
instance="/api/mobile/auth/signup",
code="AUTH_CONFLICT",
params={"field": "email"},
)
assert result.type == "https://example.com/problems/conflict"
assert result.title == "Conflict"
assert result.status == 409
assert result.detail == "Conflict"
assert result.instance == "/api/mobile/auth/signup"
assert result.code == "AUTH_CONFLICT"
assert result.params == {"field": "email"}