mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-15 17:25:26 -04:00
Chat: prefer active model for new desktop chats
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
APP_JS = Path("static/app.js")
|
||||
|
||||
|
||||
def _slice(source, start_marker, end_marker):
|
||||
start = source.index(start_marker)
|
||||
end = source.index(end_marker, start)
|
||||
return source[start:end]
|
||||
|
||||
|
||||
def test_new_chat_prefers_pending_and_current_model_before_default():
|
||||
source = APP_JS.read_text(encoding="utf-8")
|
||||
helper = _slice(
|
||||
source,
|
||||
"async function _createDirectChatFromPreferredModel()",
|
||||
"// ============================================",
|
||||
)
|
||||
|
||||
default_pos = helper.index("const dc = await _refreshDefaultChat();")
|
||||
assert helper.index("sessionModule.getPendingChat") < default_pos
|
||||
assert helper.index("current.endpoint_url") < default_pos
|
||||
assert default_pos < helper.index("const withModel = sessions.filter")
|
||||
|
||||
|
||||
def test_desktop_new_chat_actions_use_shared_preference_helper():
|
||||
source = APP_JS.read_text(encoding="utf-8")
|
||||
|
||||
rail_handler = _slice(
|
||||
source,
|
||||
"// New session button on icon rail",
|
||||
"// Mobile new chat button",
|
||||
)
|
||||
brand_handler = _slice(
|
||||
source,
|
||||
"// Logo click \u2192 new chat",
|
||||
"const sidebarNewChatBtn = el('sidebar-new-chat-btn');",
|
||||
)
|
||||
|
||||
assert "if (await _createDirectChatFromPreferredModel()) return;" in rail_handler
|
||||
assert "if (await _createDirectChatFromPreferredModel()) return;" in brand_handler
|
||||
assert "const dc = await _refreshDefaultChat();" not in rail_handler
|
||||
assert "const dc = await _refreshDefaultChat();" not in brand_handler
|
||||
Reference in New Issue
Block a user