feat: add config v2 to simplify billing (#428)

* feat: add model config v2

* chore: centralize user org selection

* chore: move preferences to platform settings

* fix: decouple org preference and ai model preferences
This commit is contained in:
Abhishek 2026-06-09 16:10:26 +05:30 committed by GitHub
parent 49e68b49d5
commit cdbd06c8d9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
42 changed files with 5135 additions and 264 deletions

View file

@ -51,6 +51,38 @@ async def _create_user_and_workflow(
return user, workflow
@pytest.mark.asyncio
async def test_text_chat_session_creation_requires_selected_organization():
from httpx import ASGITransport, AsyncClient
from api.app import app
from api.services.auth.depends import get_user
user = UserModel(provider_id="textchat-user-no-selected-org")
async def mock_get_user():
return user
original_override = app.dependency_overrides.get(get_user)
app.dependency_overrides[get_user] = mock_get_user
try:
async with AsyncClient(
transport=ASGITransport(app=app), base_url="http://test"
) as client:
response = await client.post(
"/api/v1/workflow/123/text-chat/sessions", json={}
)
finally:
if original_override:
app.dependency_overrides[get_user] = original_override
else:
app.dependency_overrides.pop(get_user, None)
assert response.status_code == 400
assert response.json() == {"detail": "No organization selected"}
@pytest.mark.asyncio
async def test_text_chat_session_creation_executes_initial_assistant_turn(
db_session,