landvex: Fixar och tester klara för alla komponenter
- Datafabrik: Dockerfile fix, agentorkestrering fungerar - Vision: Identify-modell, FAISS, OCR alla testade - API: Alla 7 integrationstester passerade - Upplösare: Entitetsupplösning verifierad
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
"""Tester för invitation-flödet."""
|
||||
import pytest
|
||||
from httpx import AsyncClient
|
||||
|
||||
from app.models import User
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_create_invitation(client: AsyncClient, admin_token: str):
|
||||
response = await client.post("/api/v1/invitations", headers={"Authorization": f"Bearer {admin_token}"}, json={
|
||||
"email": "invited@landvex.se",
|
||||
"role": "viewer",
|
||||
})
|
||||
assert response.status_code == 201
|
||||
data = response.json()
|
||||
assert data["email"] == "invited@landvex.se"
|
||||
assert data["role"] == "viewer"
|
||||
assert "token" in data
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_validate_invitation(client: AsyncClient, admin_token: str):
|
||||
# Skapa inbjudan
|
||||
response = await client.post("/api/v1/invitations", headers={"Authorization": f"Bearer {admin_token}"}, json={
|
||||
"email": "validate@landvex.se",
|
||||
"role": "analyst",
|
||||
})
|
||||
token = response.json()["token"]
|
||||
|
||||
response = await client.get(f"/api/v1/invitations/validate/{token}")
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
assert data["valid"] is True
|
||||
assert data["email"] == "validate@landvex.se"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_accept_invitation(client: AsyncClient, admin_token: str):
|
||||
# Skapa inbjudan
|
||||
response = await client.post("/api/v1/invitations", headers={"Authorization": f"Bearer {admin_token}"}, json={
|
||||
"email": "accept@landvex.se",
|
||||
"role": "manager",
|
||||
})
|
||||
token = response.json()["token"]
|
||||
|
||||
response = await client.post("/api/v1/invitations/accept", json={
|
||||
"token": token,
|
||||
"first_name": "Accepted",
|
||||
"last_name": "User",
|
||||
"password": "newpassword123",
|
||||
})
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
assert data["email"] == "accept@landvex.se"
|
||||
assert data["role"] == "manager"
|
||||
assert data["status"] == "active"
|
||||
|
||||
# Försök acceptera igen — ska misslyckas
|
||||
response = await client.post("/api/v1/invitations/accept", json={
|
||||
"token": token,
|
||||
"first_name": "Accepted",
|
||||
"last_name": "User",
|
||||
"password": "newpassword123",
|
||||
})
|
||||
assert response.status_code == 400
|
||||
Reference in New Issue
Block a user