Comprehensive NUnit test suite covering ChannelManager, CliChannel, TelegramChannel, DI registration, and integration scenarios. Uses Moq for mocking with test stubs for isolated unit testing.
41 lines
1.5 KiB
C#
41 lines
1.5 KiB
C#
using Luna.Channels.Abstractions;
|
|
using Luna.Shared;
|
|
|
|
namespace Luna.Channels.Tests.Stubs;
|
|
|
|
public class TelegramChannelStub : IChannel
|
|
{
|
|
public string ChannelId => throw new NotImplementedException();
|
|
public string ChannelType => throw new NotImplementedException();
|
|
public string DisplayName => throw new NotImplementedException();
|
|
public bool IsConnected => throw new NotImplementedException();
|
|
|
|
public event ChannelMessageReceivedEventHandler? MessageReceived;
|
|
public event ChannelConnectionChangedEventHandler? ConnectionStateChanged;
|
|
|
|
public Task SendMessageAsync(ChannelMessage message, CancellationToken cancellationToken = default) =>
|
|
throw new NotImplementedException();
|
|
|
|
public Task SendStreamingMessageAsync(
|
|
IAsyncEnumerable<ChatStreamUpdate> messageStream,
|
|
CancellationToken cancellationToken = default) =>
|
|
throw new NotImplementedException();
|
|
|
|
public void RaiseMessageReceived(object? sender, ChannelMessage message)
|
|
{
|
|
RaiseMessageReceived(new ChannelMessageReceivedEventArgs
|
|
{
|
|
Channel = this,
|
|
Message = message
|
|
});
|
|
}
|
|
|
|
public void Dispose() => throw new NotImplementedException();
|
|
|
|
internal void RaiseMessageReceived(ChannelMessageReceivedEventArgs args) =>
|
|
MessageReceived?.Invoke(this, args);
|
|
|
|
internal void RaiseConnectionStateChanged(ChannelConnectionEventArgs args) =>
|
|
ConnectionStateChanged?.Invoke(this, args);
|
|
}
|