tests: oh we love our tests
This commit is contained in:
@@ -28,4 +28,55 @@ public class WelcomeMessageHandlerTests
|
||||
Times.Never
|
||||
);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task HandleAsync_WhenMessageCreateEventIsNotAUserJoinMessage_ItShouldNotCreateMessage()
|
||||
{
|
||||
var @event = new MessageCreateDiscordEvent()
|
||||
{
|
||||
Data = new()
|
||||
{
|
||||
Type = -1,
|
||||
},
|
||||
};
|
||||
|
||||
await WelcomeMessageHandler.HandleAsync(@event, _serviceProvider);
|
||||
|
||||
_mockDiscordRestClient
|
||||
.Verify(
|
||||
static c => c.CreateMessageAsync(It.IsAny<string>(), It.IsAny<CreateMessageRequest>(), It.IsAny<CancellationToken>()),
|
||||
Times.Never
|
||||
);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task HandleAsync_WhenUserJoinMessageCreateEventReceived_ItShouldCreateWelcomeMessage()
|
||||
{
|
||||
_mockDiscordRestClient
|
||||
.Setup(static c => c.CreateMessageAsync(It.IsAny<string>(), It.IsAny<CreateMessageRequest>(), It.IsAny<CancellationToken>()))
|
||||
.ReturnsAsync(new DiscordMessage());
|
||||
|
||||
var @event = new MessageCreateDiscordEvent()
|
||||
{
|
||||
Data = new()
|
||||
{
|
||||
Type = DiscordMessageTypes.UserJoin,
|
||||
Id = Guid.NewGuid().ToString(),
|
||||
ChannelId = Guid.NewGuid().ToString(),
|
||||
GuildId = Guid.NewGuid().ToString(),
|
||||
Author = new()
|
||||
{
|
||||
Id = Guid.NewGuid().ToString(),
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
await WelcomeMessageHandler.HandleAsync(@event, _serviceProvider);
|
||||
|
||||
_mockDiscordRestClient
|
||||
.Verify(
|
||||
static c => c.CreateMessageAsync(It.IsAny<string>(), It.IsAny<CreateMessageRequest>(), It.IsAny<CancellationToken>()),
|
||||
Times.Once
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user