add tests
This commit is contained in:
121
ChatBot.Tests/Services/Telegram/TelegramServicesTests.cs
Normal file
121
ChatBot.Tests/Services/Telegram/TelegramServicesTests.cs
Normal file
@@ -0,0 +1,121 @@
|
||||
using ChatBot.Services.Telegram.Services;
|
||||
using ChatBot.Tests.TestUtilities;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Moq;
|
||||
using Telegram.Bot;
|
||||
using Telegram.Bot.Types;
|
||||
|
||||
namespace ChatBot.Tests.Services.Telegram;
|
||||
|
||||
public class TelegramServicesTests : UnitTestBase
|
||||
{
|
||||
[Fact]
|
||||
public void TelegramBotService_ShouldCreateInstance()
|
||||
{
|
||||
// Arrange
|
||||
var loggerMock = new Mock<ILogger<TelegramBotService>>();
|
||||
var botClientMock = new Mock<ITelegramBotClient>();
|
||||
var serviceProviderMock = new Mock<IServiceProvider>();
|
||||
|
||||
// Act
|
||||
var service = new TelegramBotService(
|
||||
loggerMock.Object,
|
||||
botClientMock.Object,
|
||||
serviceProviderMock.Object
|
||||
);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(service);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TelegramMessageHandler_ShouldCreateInstance()
|
||||
{
|
||||
// Arrange
|
||||
var loggerMock = new Mock<ILogger<TelegramMessageHandler>>();
|
||||
var commandProcessorMock =
|
||||
new Mock<ChatBot.Services.Telegram.Interfaces.ITelegramCommandProcessor>();
|
||||
var messageSenderMock =
|
||||
new Mock<ChatBot.Services.Telegram.Interfaces.ITelegramMessageSender>();
|
||||
|
||||
// Act
|
||||
var handler = new TelegramMessageHandler(
|
||||
loggerMock.Object,
|
||||
commandProcessorMock.Object,
|
||||
messageSenderMock.Object
|
||||
);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(handler);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TelegramErrorHandler_ShouldCreateInstance()
|
||||
{
|
||||
// Arrange
|
||||
var loggerMock = new Mock<ILogger<TelegramErrorHandler>>();
|
||||
|
||||
// Act
|
||||
var handler = new TelegramErrorHandler(loggerMock.Object);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(handler);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TelegramMessageSender_ShouldCreateInstance()
|
||||
{
|
||||
// Arrange
|
||||
var loggerMock = new Mock<ILogger<TelegramMessageSender>>();
|
||||
|
||||
// Act
|
||||
var sender = new TelegramMessageSender(loggerMock.Object);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(sender);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BotInfoService_ShouldCreateInstance()
|
||||
{
|
||||
// Arrange
|
||||
var botClientMock = new Mock<ITelegramBotClient>();
|
||||
var loggerMock = new Mock<ILogger<BotInfoService>>();
|
||||
|
||||
// Act
|
||||
var service = new BotInfoService(botClientMock.Object, loggerMock.Object);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(service);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BotInfoService_IsCacheValid_ShouldReturnFalseInitially()
|
||||
{
|
||||
// Arrange
|
||||
var botClientMock = new Mock<ITelegramBotClient>();
|
||||
var loggerMock = new Mock<ILogger<BotInfoService>>();
|
||||
var service = new BotInfoService(botClientMock.Object, loggerMock.Object);
|
||||
|
||||
// Act
|
||||
var isValid = service.IsCacheValid();
|
||||
|
||||
// Assert
|
||||
Assert.False(isValid);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BotInfoService_InvalidateCache_ShouldWork()
|
||||
{
|
||||
// Arrange
|
||||
var botClientMock = new Mock<ITelegramBotClient>();
|
||||
var loggerMock = new Mock<ILogger<BotInfoService>>();
|
||||
var service = new BotInfoService(botClientMock.Object, loggerMock.Object);
|
||||
|
||||
// Act
|
||||
service.InvalidateCache();
|
||||
|
||||
// Assert
|
||||
Assert.False(service.IsCacheValid());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user