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.")) } }