Files
attendi/Packages/Features/Tests/Recording/Mocks/TranscribingMock.swift
T

35 lines
781 B
Swift

import Foundation
import Recording
/// A transcribing service with a configurable delay, output, and failure.
@MainActor
final class TranscribingMock: Transcribing {
// MARK: Properties
/// The duration of the simulated transcription work.
var delay: Duration = .seconds(0.2)
/// The error the service throws, or `nil` when it should succeed.
var error: Error?
/// The transcription the service returns.
var transcription = "This is a mocked transcription."
// MARK: Methods
func callAsFunction(
_ audio: URL,
locale: Locale
) async throws -> Transcription {
try await Task.sleep(for: delay)
if let error {
throw error
}
return .init(text: transcription)
}
}