"""Tests for Slack CLI helpers.""" from hermes_cli.slack_cli import _build_full_manifest class TestSlackFullManifest: """Generated full Slack app manifest used by `hermes slack manifest`.""" def test_app_home_messages_are_writable(self): manifest = _build_full_manifest("Hermes", "Your Hermes agent on Slack") assert manifest["features"]["app_home"] == { "home_tab_enabled": False, "messages_tab_enabled": True, "messages_tab_read_only_enabled": False, } def test_private_channel_directory_scope_is_included(self): manifest = _build_full_manifest("Hermes", "Your Hermes agent on Slack") bot_scopes = manifest["oauth_config"]["scopes"]["bot"] assert "groups:read" in bot_scopes def test_assistant_features_remain_enabled(self): manifest = _build_full_manifest("Hermes", "Your Hermes agent on Slack") assert "assistant_view" in manifest["features"] assert "assistant:write" in manifest["oauth_config"]["scopes"]["bot"] bot_events = manifest["settings"]["event_subscriptions"]["bot_events"] assert "assistant_thread_started" in bot_events