mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-09-13 03:32:21 +02:00
43 lines
1.6 KiB
Python
43 lines
1.6 KiB
Python
"""Static regressions for `/setup` account sign-in providers."""
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
_REPO = Path(__file__).resolve().parent.parent
|
|
_SLASH = (_REPO / "static" / "js" / "slashCommands.js").read_text(encoding="utf-8")
|
|
|
|
|
|
def _between(src: str, start: str, end: str) -> str:
|
|
start_idx = src.index(start)
|
|
end_idx = src.index(end, start_idx)
|
|
return src[start_idx:end_idx]
|
|
|
|
|
|
def test_setup_guide_lists_account_sign_in_providers():
|
|
guide_block = _between(_SLASH, "function _showSetupEndpointChoices", "async function _hasConfiguredModels")
|
|
|
|
assert 'data-setup-provider="' in _SLASH
|
|
assert "provider.key" in _SLASH
|
|
assert "'copilot'" in _SLASH
|
|
assert "'chatgpt-subscription'" in _SLASH
|
|
assert "/setup copilot" in _SLASH
|
|
assert "/setup chatgpt-subscription" in _SLASH
|
|
|
|
|
|
def test_clicking_account_sign_in_provider_prefills_setup_command_not_api_key():
|
|
click_block = _between(_SLASH, "const providerEl = e.target.closest('.setup-clickable-provider')", "// 3. Check")
|
|
|
|
assert "providerEl.dataset.setupProvider" in click_block
|
|
assert "providerEl.dataset.setupKind === 'device-auth'" in click_block
|
|
assert "'/setup ' + providerKey" in click_block
|
|
|
|
|
|
def test_setup_chatgpt_subscription_prints_auth_url_without_auto_opening_tab():
|
|
flow_block = _between(_SLASH, "async function _setupProviderDeviceFlow", "async function _cmdSetup")
|
|
|
|
assert "providerKey === 'chatgpt-subscription'" in flow_block
|
|
assert "Open this URL" in flow_block
|
|
assert "authUrl" in flow_block
|
|
assert 'href="\' + uiModule.esc(authUrl || \'\') + \'"' in flow_block
|
|
assert "if (providerKey === 'chatgpt-subscription') return;" in flow_block
|