Developer 02 5aab46a221 refactor(tests): Verbesserung der Nachrichtenbehandlung und Assert-Bedingungen in AuthClientTests
- Vereinfachte Assertions in StartAsync_ShouldConnectSuccessfully durch Entfernen expliziter Strings
- Aktualisierte ReceiveMessage_ShouldCallOnMessageReceived, um Nachrichteninhalte zu überprüfen
- Refaktorisierte Variablennamen in ReceiveMessage_ShouldCallOnMessageReceived für bessere Verständlichkeit
2025-02-03 17:09:57 +01:00

78 lines
2.1 KiB
C#

using DigitalData.Auth.Abstractions;
using DigitalData.Auth.Client;
using Microsoft.Extensions.DependencyInjection;
namespace DigitalData.Auth.Tests.Client;
[TestFixture]
public class AuthClientTests
{
private static readonly string HubUrl = "https://localhost:7192/auth-hub";
private Func<Action<ClientParams>, ServiceProvider> Build;
[SetUp]
public void Setup()
{
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<IAuthClient>();
// Act
await client.TryStartAsync();
// Assert
Assert.Multiple(() =>
{
Assert.That(client.IsConnected);
Assert.That(!client.IsConnectionFailed);
Assert.That(client.ConnectionError, Is.Null);
});
}
[Test]
public async Task ReceiveMessage_ShouldCallOnMessageReceived()
{
// Arrange
string rcv_user = string.Empty;
string rcv_msg = string.Empty;
// Sender client
using var provider_sender = Build(opt => opt.Url = HubUrl);
var sender_client = provider_sender.GetRequiredService<IAuthClient>();
await sender_client.TryStartAsync();
// Receiver client
using var provider_receiver = Build(opt =>
{
opt.Url = HubUrl;
opt.Events.OnMessageReceived = (user, message, logger) =>
{
rcv_user = user;
rcv_msg = message;
};
});
var client_receiver = provider_receiver.GetRequiredService<IAuthClient>();
string user = "user";
string message = "message";
// Act
await client_receiver.ReceiveMessageAsync(user, message);
// Assert
Assert.Multiple(() =>
{
Assert.That(rcv_user, Is.EqualTo(user));
Assert.That(rcv_msg, Is.EqualTo(message));
});
}
}