Private
Public Access
The #72 welcome message was attributed to whichever admin added the member, since there was no system/bot sender concept -- every Message row requires a real user_id. Adds a lazily-created "system" bot account (reusing the existing is_bot infrastructure) and switches the welcome message to post as it instead. Excluded from the People directory and @mention autocomplete for free: the directory already filters is_bot users, and mention suggestions are sourced from room membership, which the system account is never added to. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
14 lines
510 B
Python
14 lines
510 B
Python
from app.services.system_user_service import SYSTEM_USERNAME, get_or_create_system_user
|
|
|
|
|
|
async def test_get_or_create_system_user_creates_bot_account(db_session):
|
|
user = await get_or_create_system_user(db_session)
|
|
assert user.username == SYSTEM_USERNAME
|
|
assert user.is_bot is True
|
|
|
|
|
|
async def test_get_or_create_system_user_is_idempotent(db_session):
|
|
first = await get_or_create_system_user(db_session)
|
|
second = await get_or_create_system_user(db_session)
|
|
assert first.id == second.id
|