diff --git a/DigitalData.Auth.Tests/Client/AuthClientTests.cs b/DigitalData.Auth.Tests/Client/AuthClientTests.cs index ac35dbf..1e4b493 100644 --- a/DigitalData.Auth.Tests/Client/AuthClientTests.cs +++ b/DigitalData.Auth.Tests/Client/AuthClientTests.cs @@ -7,18 +7,35 @@ namespace DigitalData.Auth.Tests.Client; [TestFixture] public class AuthClientTests { - private IAuthClient _client; + private static readonly string HubUrl = "https://localhost:7192/auth-hub"; - private readonly static Func, ServiceProvider> Build = options => new ServiceCollection() - .AddAuthHubClient(options) - .BuildServiceProvider(); + private Func, ServiceProvider> Build; [SetUp] - public async Task Setup() + public void Setup() { - using var provider = Build(opt => opt.Url = "https://localhost:7192"); - _client = provider.GetRequiredService(); - await _client.StartAsync(); + Build = options => new ServiceCollection() + .AddAuthHubClient(options) + .BuildServiceProvider(); + } + + [Test] + public async Task StartAsync_ShouldConnectSuccessfully() + { + // Arrange + using var provider = Build(opt => opt.Url = HubUrl); + var client = provider.GetRequiredService(); + + // Act + await client.TryStartAsync(); + + // Assert + Assert.Multiple(() => + { + Assert.That(client.IsConnected, "Connected"); + Assert.That(!client.IsConnectionFailed, "There is no fail"); + Assert.That(client.ConnectionError, Is.Null); + }); } [Test] @@ -26,18 +43,25 @@ public class AuthClientTests { // Arrange bool wasCalled = false; - using var provider = Build(opt => + + // Sender client + using var provider_sender = Build(opt => opt.Url = HubUrl); + var sender_client = provider_sender.GetRequiredService(); + await sender_client.TryStartAsync(); + + // Receiver client + using var provider_receiver = Build(opt => { - opt.Url = "https://localhost:7192"; + opt.Url = HubUrl; opt.Events.OnMessageReceived = (user, message, logger) => wasCalled = true; }); - var client = provider.GetRequiredService(); + var client_receiver = provider_receiver.GetRequiredService(); string testUser = "TestUser"; string testMessage = "Hello, World!"; // Act - await client.ReceiveMessageAsync(testUser, testMessage); + await client_receiver.ReceiveMessageAsync(testUser, testMessage); // Assert Assert.That(wasCalled, Is.True, "OnMessageReceived was not called.");