test: Update auth cookie tests to support theme preference

This commit is contained in:
Yunxiao Xu
2026-02-17 00:52:49 -08:00
parent de25dc8a4d
commit a64a582110

View File

@@ -13,7 +13,8 @@ def mock_user():
id="user-123", id="user-123",
username="test@example.com", username="test@example.com",
display_name="Test User", display_name="Test User",
password_hash="hashed_password" password_hash="hashed_password",
theme_preference="light"
) )
def test_v1_prefix(): def test_v1_prefix():
@@ -48,7 +49,7 @@ def test_register_sets_cookie():
"""Test that register sets the access_token cookie.""" """Test that register sets the access_token cookie."""
with patch("ea_chatbot.api.routers.auth.history_manager") as mock_hm: with patch("ea_chatbot.api.routers.auth.history_manager") as mock_hm:
mock_hm.get_user.return_value = None mock_hm.get_user.return_value = None
mock_hm.create_user.return_value = User(id="1", username="new@example.com", display_name="New") mock_hm.create_user.return_value = User(id="1", username="new@example.com", display_name="New", theme_preference="light")
response = client.post( response = client.post(
"/api/v1/auth/register", "/api/v1/auth/register",
@@ -63,7 +64,7 @@ def test_auth_via_cookie():
token = create_access_token(data={"sub": "123"}) token = create_access_token(data={"sub": "123"})
with patch("ea_chatbot.api.dependencies.history_manager") as mock_hm: with patch("ea_chatbot.api.dependencies.history_manager") as mock_hm:
mock_hm.get_user_by_id.return_value = User(id="123", username="test@example.com", display_name="Test") mock_hm.get_user_by_id.return_value = User(id="123", username="test@example.com", display_name="Test", theme_preference="light")
# Pass token via cookie instead of header # Pass token via cookie instead of header
client.cookies.set("access_token", token) client.cookies.set("access_token", token)
@@ -93,7 +94,7 @@ def test_oidc_callback_redirects_with_cookie():
} }
mock_oidc.exchange_code_for_token.return_value = {"id_token": "fake_id_token"} mock_oidc.exchange_code_for_token.return_value = {"id_token": "fake_id_token"}
mock_oidc.validate_id_token.return_value = {"email": "sso@example.com", "name": "SSO User"} mock_oidc.validate_id_token.return_value = {"email": "sso@example.com", "name": "SSO User"}
mock_hm.sync_user_from_oidc.return_value = User(id="sso-123", username="sso@example.com", display_name="SSO User") mock_hm.sync_user_from_oidc.return_value = User(id="sso-123", username="sso@example.com", display_name="SSO User", theme_preference="light")
# Set the session cookie # Set the session cookie
client.cookies.set("oidc_session", "fake_token") client.cookies.set("oidc_session", "fake_token")