oclaw/openclaw/apps/ios/Tests/ShareToAgentDeepLinkTests.swift
oliver dbbe3add6a 重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。

Made-with: Cursor
2026-04-26 08:34:33 +08:00

51 lines
1.8 KiB
Swift

import OpenClawKit
import Foundation
import Testing
@Suite struct ShareToAgentDeepLinkTests {
@Test func buildMessageIncludesSharedFields() {
let payload = SharedContentPayload(
title: "Article",
url: URL(string: "https://example.com/post")!,
text: "Read this")
let message = ShareToAgentDeepLink.buildMessage(
from: payload,
instruction: "Summarize and give next steps.")
#expect(message.contains("Shared from iOS."))
#expect(message.contains("Title: Article"))
#expect(message.contains("URL: https://example.com/post"))
#expect(message.contains("Text:\nRead this"))
#expect(message.contains("Summarize and give next steps."))
}
@Test func buildURLEncodesAgentRoute() {
let payload = SharedContentPayload(
title: "",
url: URL(string: "https://example.com")!,
text: nil)
let url = ShareToAgentDeepLink.buildURL(from: payload)
let parsed = url.flatMap { DeepLinkParser.parse($0) }
guard case let .agent(agent)? = parsed else {
Issue.record("Expected openclaw://agent deep link")
return
}
#expect(agent.thinking == "low")
#expect(agent.message.contains("https://example.com"))
}
@Test func buildURLReturnsNilWhenPayloadEmpty() {
let payload = SharedContentPayload(title: nil, url: nil, text: nil)
#expect(ShareToAgentDeepLink.buildURL(from: payload) == nil)
}
@Test func shareInstructionSettingsRoundTrip() {
let value = "Focus on booking constraints and alternatives."
ShareToAgentSettings.saveDefaultInstruction(value)
defer { ShareToAgentSettings.saveDefaultInstruction(nil) }
#expect(ShareToAgentSettings.loadDefaultInstruction() == value)
}
}