Files
meeting-assistant/MeetingAssistant.Tests/ConfiguredSpeechRecognitionPipelineFactoryTests.cs
T
2026-05-20 02:06:16 +02:00

35 lines
1.2 KiB
C#

using MeetingAssistant.Transcription;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.Extensions.Options;
namespace MeetingAssistant.Tests;
public sealed class ConfiguredSpeechRecognitionPipelineFactoryTests
{
[Fact]
public async Task FactoryCreatesAzureSpeechPipelineWhenConfigured()
{
var services = new ServiceCollection();
services.AddSingleton(Options.Create(new MeetingAssistantOptions
{
Recording = new RecordingOptions
{
TranscriptionProvider = "azure-speech"
}
}));
services.AddSingleton<ILogger<AzureSpeechStreamingTranscriptionProvider>>(
NullLogger<AzureSpeechStreamingTranscriptionProvider>.Instance);
services.AddTransient<AzureSpeechStreamingTranscriptionProvider>();
var provider = services.BuildServiceProvider();
var factory = new ConfiguredSpeechRecognitionPipelineFactory(
provider,
provider.GetRequiredService<IOptions<MeetingAssistantOptions>>());
await using var pipeline = factory.Create();
Assert.IsType<AzureSpeechRecognitionPipeline>(pipeline);
}
}