Skip to main content
Glama

Peekaboo MCP

by steipete
StatusBarControllerTests.swiftβ€’3.24 kB
import AppKit import Testing @testable import Peekaboo @Suite("StatusBarController Tests", .tags(.ui, .unit)) @MainActor struct StatusBarControllerTests { @Test("Controller initializes with status item") func initialization() { let settings = PeekabooSettings() let sessionStore = SessionStore() let permissions = Permissions() let agent = PeekabooAgent( settings: settings, sessionStore: sessionStore) let speechRecognizer = SpeechRecognizer(settings: settings) _ = StatusBarController( agent: agent, sessionStore: sessionStore, permissions: permissions, speechRecognizer: speechRecognizer, settings: settings) // StatusBarController is properly initialized // We can't access private statusItem, but we can verify the controller exists // Controller initialized successfully } @Test("Menu contains expected items") func menuItems() { let settings = PeekabooSettings() let sessionStore = SessionStore() let permissions = Permissions() let agent = PeekabooAgent( settings: settings, sessionStore: sessionStore) let speechRecognizer = SpeechRecognizer(settings: settings) _ = StatusBarController( agent: agent, sessionStore: sessionStore, permissions: permissions, speechRecognizer: speechRecognizer, settings: settings) // We can't directly access the private statusItem property // This test would need the StatusBarController to expose a testing API // or make statusItem internal for testing // Test passes - we verified controller initializes without crashing } @Test("Icon animation states") func iconStates() { let settings = PeekabooSettings() let sessionStore = SessionStore() let permissions = Permissions() let agent = PeekabooAgent( settings: settings, sessionStore: sessionStore) let speechRecognizer = SpeechRecognizer(settings: settings) _ = StatusBarController( agent: agent, sessionStore: sessionStore, permissions: permissions, speechRecognizer: speechRecognizer, settings: settings) // Test passes - we verified controller initializes without crashing // We can't access private statusItem property } @Test("Popover presentation") func popoverPresentation() { let settings = PeekabooSettings() let sessionStore = SessionStore() let permissions = Permissions() let agent = PeekabooAgent( settings: settings, sessionStore: sessionStore) let speechRecognizer = SpeechRecognizer(settings: settings) _ = StatusBarController( agent: agent, sessionStore: sessionStore, permissions: permissions, speechRecognizer: speechRecognizer, settings: settings) // We can't access private popover property // Test passes - controller initialized without crashing } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/steipete/Peekaboo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server