From bb1fadeac0fac63308ab9188de6e379458ecaff0 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Sun, 18 May 2025 12:23:00 -0500 Subject: [PATCH] tests: fix up test project after major refactor --- .../Infrastructure/TestWebSocketServer.cs | 9 ++++-- .../Unit/DiscordGatewayClientTests.cs | 32 ++++++++++++++++--- src/StevesBot.Worker.Tests/Usings.cs | 6 ++-- 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/src/StevesBot.Worker.Tests/Integration/Infrastructure/TestWebSocketServer.cs b/src/StevesBot.Worker.Tests/Integration/Infrastructure/TestWebSocketServer.cs index 0f33444..110068f 100644 --- a/src/StevesBot.Worker.Tests/Integration/Infrastructure/TestWebSocketServer.cs +++ b/src/StevesBot.Worker.Tests/Integration/Infrastructure/TestWebSocketServer.cs @@ -2,9 +2,7 @@ using WebSocket = System.Net.WebSockets.WebSocket; namespace StevesBot.Worker.Tests.Integration.Infrastructure; -# pragma warning disable CA1001 - -public sealed class TestWebSocketServer : IAsyncLifetime +public sealed class TestWebSocketServer : IAsyncLifetime, IDisposable { private readonly IWebHost _host; private readonly CancellationTokenSource _echoCts = new(); @@ -111,4 +109,9 @@ public sealed class TestWebSocketServer : IAsyncLifetime webSocket.Dispose(); } } + + public void Dispose() + { + _host.Dispose(); + } } \ No newline at end of file diff --git a/src/StevesBot.Worker.Tests/Unit/DiscordGatewayClientTests.cs b/src/StevesBot.Worker.Tests/Unit/DiscordGatewayClientTests.cs index 7f1cd6d..c498ac5 100644 --- a/src/StevesBot.Worker.Tests/Unit/DiscordGatewayClientTests.cs +++ b/src/StevesBot.Worker.Tests/Unit/DiscordGatewayClientTests.cs @@ -6,6 +6,7 @@ public sealed class DiscordGatewayClientTests : IDisposable private readonly Mock _mockWebSocketFactory = new(); private readonly Mock> _mockLogger = new(); private readonly Mock _mockTimeProvider = new(); + private readonly Mock _mockServiceScopeFactory = new(); private readonly DiscordClientOptions _options = new(); private readonly DiscordGatewayClient _discordGatewayClient; @@ -20,7 +21,8 @@ public sealed class DiscordGatewayClientTests : IDisposable _mockWebSocketFactory.Object, _mockLogger.Object, _mockDiscordRestClient.Object, - _mockTimeProvider.Object + _mockTimeProvider.Object, + _mockServiceScopeFactory.Object ); } @@ -32,7 +34,8 @@ public sealed class DiscordGatewayClientTests : IDisposable _mockWebSocketFactory.Object, _mockLogger.Object, _mockDiscordRestClient.Object, - _mockTimeProvider.Object + _mockTimeProvider.Object, + _mockServiceScopeFactory.Object ); act.Should().Throw(); @@ -46,7 +49,8 @@ public sealed class DiscordGatewayClientTests : IDisposable null!, _mockLogger.Object, _mockDiscordRestClient.Object, - _mockTimeProvider.Object + _mockTimeProvider.Object, + _mockServiceScopeFactory.Object ); act.Should().Throw(); @@ -60,7 +64,8 @@ public sealed class DiscordGatewayClientTests : IDisposable _mockWebSocketFactory.Object, null!, _mockDiscordRestClient.Object, - _mockTimeProvider.Object + _mockTimeProvider.Object, + _mockServiceScopeFactory.Object ); act.Should().Throw(); @@ -74,7 +79,8 @@ public sealed class DiscordGatewayClientTests : IDisposable _mockWebSocketFactory.Object, _mockLogger.Object, null!, - _mockTimeProvider.Object + _mockTimeProvider.Object, + _mockServiceScopeFactory.Object ); act.Should().Throw(); @@ -88,6 +94,22 @@ public sealed class DiscordGatewayClientTests : IDisposable _mockWebSocketFactory.Object, _mockLogger.Object, _mockDiscordRestClient.Object, + null!, + _mockServiceScopeFactory.Object + ); + + act.Should().Throw(); + } + + [Fact] + public void Constructor_WhenCalledAndServiceScopeFactoryIsNull_ItShouldThrowArgumentNullException() + { + var act = () => new DiscordGatewayClient( + _options, + _mockWebSocketFactory.Object, + _mockLogger.Object, + _mockDiscordRestClient.Object, + _mockTimeProvider.Object, null! ); diff --git a/src/StevesBot.Worker.Tests/Usings.cs b/src/StevesBot.Worker.Tests/Usings.cs index fe8d80d..71effcd 100644 --- a/src/StevesBot.Worker.Tests/Usings.cs +++ b/src/StevesBot.Worker.Tests/Usings.cs @@ -16,8 +16,10 @@ global using Moq; global using RichardSzalay.MockHttp; -global using StevesBot.Worker.Discord; -global using StevesBot.Worker.Discord.Events; +global using StevesBot.Worker.Discord.Gateway; +global using StevesBot.Worker.Discord.Gateway.Events; +global using StevesBot.Worker.Discord.Rest; +global using StevesBot.Worker.Discord.Shared; global using StevesBot.Worker.Tests.Integration.Infrastructure; global using StevesBot.Worker.Threading; global using StevesBot.Worker.WebSockets; \ No newline at end of file