tests: add unit tests for ResumeData and Discord event classes
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
namespace StevesBot.Worker.Tests.Unit;
|
||||||
|
|
||||||
|
public class InvalidSessionDiscordEventTests
|
||||||
|
{
|
||||||
|
[Fact]
|
||||||
|
public void Constructor_WhenCalled_ItShouldReturnAnInstance()
|
||||||
|
{
|
||||||
|
var result = new InvalidSessionDiscordEvent();
|
||||||
|
|
||||||
|
result.OpCode.Should().Be(0);
|
||||||
|
result.Type.Should().BeNull();
|
||||||
|
result.Sequence.Should().BeNull();
|
||||||
|
result.Data.Should().BeFalse();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
namespace StevesBot.Worker.Tests.Unit;
|
||||||
|
|
||||||
|
public class MessageCreateDiscordEventTests
|
||||||
|
{
|
||||||
|
[Fact]
|
||||||
|
public void Constructor_WhenCalled_ItShouldReturnAnInstance()
|
||||||
|
{
|
||||||
|
var result = new MessageCreateDiscordEvent();
|
||||||
|
|
||||||
|
result.OpCode.Should().Be(0);
|
||||||
|
result.Type.Should().BeNull();
|
||||||
|
result.Sequence.Should().BeNull();
|
||||||
|
result.Data.Should().BeEquivalentTo(new DiscordMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
[Theory]
|
||||||
|
[InlineData(0, 0, true)]
|
||||||
|
[InlineData(1, 0, false)]
|
||||||
|
public void IsMessageType_WhenCalled_ItShouldReturnCorrectResult(int messageType, int givenType, bool expectedResult)
|
||||||
|
{
|
||||||
|
var e = new MessageCreateDiscordEvent()
|
||||||
|
{
|
||||||
|
Data = new() { Type = messageType }
|
||||||
|
};
|
||||||
|
|
||||||
|
var result = e.IsMessageType(givenType);
|
||||||
|
|
||||||
|
result.Should().Be(expectedResult);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
namespace StevesBot.Worker.Tests.Unit;
|
||||||
|
|
||||||
|
public class ResumeDataTests
|
||||||
|
{
|
||||||
|
[Fact]
|
||||||
|
public void Constructor_WhenCalled_ItShouldReturnAnInstance()
|
||||||
|
{
|
||||||
|
var result = new ResumeData();
|
||||||
|
|
||||||
|
result.Token.Should().BeEmpty();
|
||||||
|
result.SessionId.Should().BeEmpty();
|
||||||
|
result.Sequence.Should().Be(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
namespace StevesBot.Worker.Tests.Unit;
|
||||||
|
|
||||||
|
public class ResumeDiscordEventTests
|
||||||
|
{
|
||||||
|
[Fact]
|
||||||
|
public void Constructor_WhenCalled_ItShouldReturnAnInstance()
|
||||||
|
{
|
||||||
|
var token = "test_token";
|
||||||
|
var sessionId = "session_id";
|
||||||
|
var sequence = 1;
|
||||||
|
|
||||||
|
var result = new ResumeDiscordEvent(token, sessionId, sequence);
|
||||||
|
|
||||||
|
result.OpCode.Should().Be(DiscordOpCodes.Resume);
|
||||||
|
result.Type.Should().BeNull();
|
||||||
|
result.Sequence.Should().BeNull();
|
||||||
|
result.Data.Should().BeEquivalentTo(new ResumeData()
|
||||||
|
{
|
||||||
|
Token = token,
|
||||||
|
SessionId = sessionId,
|
||||||
|
Sequence = sequence,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
namespace StevesBot.Worker.Discord.Gateway.Events.Data;
|
||||||
|
|
||||||
|
internal sealed record ResumeData
|
||||||
|
{
|
||||||
|
[JsonPropertyName("token")]
|
||||||
|
public string Token { get; init; } = string.Empty;
|
||||||
|
|
||||||
|
[JsonPropertyName("session_id")]
|
||||||
|
public string SessionId { get; init; } = string.Empty;
|
||||||
|
|
||||||
|
[JsonPropertyName("seq")]
|
||||||
|
public int Sequence { get; init; }
|
||||||
|
}
|
||||||
@@ -20,15 +20,3 @@ internal sealed record ResumeDiscordEvent : DiscordEvent
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal sealed record ResumeData
|
|
||||||
{
|
|
||||||
[JsonPropertyName("token")]
|
|
||||||
public string Token { get; init; } = string.Empty;
|
|
||||||
|
|
||||||
[JsonPropertyName("session_id")]
|
|
||||||
public string SessionId { get; init; } = string.Empty;
|
|
||||||
|
|
||||||
[JsonPropertyName("seq")]
|
|
||||||
public int Sequence { get; init; }
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user