Backend/e-suite.Modules.UserManager/UserManager.UnitTests/UserManager/GetUserWithSingleUseGuidUnitTests.cs
2026-01-20 21:50:10 +00:00

69 lines
1.9 KiB
C#

using e_suite.Database.Core.Tables.UserManager;
using NUnit.Framework;
using UserManager.UnitTests.Helpers;
namespace UserManager.UnitTests.UserManager;
[TestFixture]
public class GetUserWithSingleUseGuidUnitTests : UserManagerTestBase
{
[SetUp]
public override async Task Setup()
{
await base.Setup();
}
[Test]
public async Task GetUserWithSingleUseGuid_GuidExists_ReturnsUserAndDeletedSingleUseGuid()
{
//Arrange
var user = new User
{
Id = 2,
Email = "testuser@sun-strategy.com"
};
await UserManagerRepository.AddUser(AuditUserDetails, user, default);
var guid = new Guid("{91995044-F53D-4552-B154-2C33113417CD}");
var testSingleUseGuid = new SingleUseGuid
{
Id = 1,
Guid = guid,
UserId = user.Id,
User = user,
Expires = _fakeClock.GetNow.AddHours(1)
};
UserManagerRepository.SingleUseGuids.Add(testSingleUseGuid);
//Act
var result = await UserManager.GetUserWithSingleUseGuid(guid, CancellationToken.None);
//Assert
Assert.That(result, Is.Not.Null);
Assert.That( UserManagerRepository.SingleUseGuids.Contains(testSingleUseGuid), Is.False);
}
[Test]
public async Task GetUserWithSingleUseGuid_GuidDoesNotExist_ReturnsNull()
{
//Arrange
var user = new User
{
Id = 2,
Email = "testuser@sun-strategy.com"
};
await UserManagerRepository.AddUser(AuditUserDetails, user, default);
var guid = new Guid("{91995044-F53D-4552-B154-2C33113417CD}");
//Act
var result = await UserManager.GetUserWithSingleUseGuid(guid, CancellationToken.None);
//Assert
Assert.That(result, Is.Null);
}
}