openclaw/apps/shared/OpenClawKit/Tests/OpenClawKitTests/TalkPromptBuilderTests.swift

30 lines
1.1 KiB
Swift

import XCTest
@testable import OpenClawKit
final class TalkPromptBuilderTests: XCTestCase {
func testBuildIncludesTranscript() {
let prompt = TalkPromptBuilder.build(transcript: "Hello", interruptedAtSeconds: nil)
XCTAssertTrue(prompt.contains("Talk Mode active."))
XCTAssertTrue(prompt.hasSuffix("\n\nHello"))
}
func testBuildIncludesInterruptionLineWhenProvided() {
let prompt = TalkPromptBuilder.build(transcript: "Hi", interruptedAtSeconds: 1.234)
XCTAssertTrue(prompt.contains("Assistant speech interrupted at 1.2s."))
}
func testBuildIncludesVoiceDirectiveHintByDefault() {
let prompt = TalkPromptBuilder.build(transcript: "Hello", interruptedAtSeconds: nil)
XCTAssertTrue(prompt.contains("ElevenLabs voice"))
}
func testBuildExcludesVoiceDirectiveHintWhenDisabled() {
let prompt = TalkPromptBuilder.build(
transcript: "Hello",
interruptedAtSeconds: nil,
includeVoiceDirectiveHint: false)
XCTAssertFalse(prompt.contains("ElevenLabs voice"))
XCTAssertTrue(prompt.contains("Talk Mode active."))
}
}