45 lines
1.3 KiB
C#

using DigitalData.Auth.Abstractions;
using DigitalData.Auth.Client;
using Microsoft.Extensions.DependencyInjection;
namespace DigitalData.Auth.Tests.Client;
[TestFixture]
public class AuthClientTests
{
private IAuthClient _client;
private readonly static Func<Action<ClientParams>, ServiceProvider> Build = options => new ServiceCollection()
.AddAuthHubClient(options)
.BuildServiceProvider();
[SetUp]
public async Task Setup()
{
using var provider = Build(opt => opt.Url = "https://localhost:7192");
_client = provider.GetRequiredService<IAuthClient>();
await _client.StartAsync();
}
[Test]
public async Task ReceiveMessage_ShouldCallOnMessageReceived()
{
// Arrange
bool wasCalled = false;
using var provider = Build(opt =>
{
opt.Url = "https://localhost:7192";
opt.Events.OnMessageReceived = (user, message, logger) => wasCalled = true;
});
var client = provider.GetRequiredService<IAuthClient>();
string testUser = "TestUser";
string testMessage = "Hello, World!";
// Act
await client.ReceiveMessageAsync(testUser, testMessage);
// Assert
Assert.That(wasCalled, Is.True, "OnMessageReceived was not called.");
}
}