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

86 lines
2.1 KiB
C#

using e_suite.API.Common.models;
using e_suite.Database.Core.Tables.UserManager;
using eSuite.Core.Miscellaneous;
using NUnit.Framework;
using UserManager.UnitTests.Helpers;
namespace UserManager.UnitTests.UserManager;
[TestFixture]
public class RefreshTokenByIdUnitTests : UserManagerTestBase
{
[SetUp]
public override async Task Setup()
{
await base.Setup();
}
[Test]
public async Task RefreshToken_UserNotFound_ReturnsFailed()
{
//Arrange
var id = new GeneralIdRef
{
Guid = null,
Id = 1
};
//Act
var result = await UserManager.RefreshToken(id);
//Assert
Assert.That(result.Result, Is.EqualTo(LoginResult.Failed));
}
[Test]
public async Task RefreshToken_User_ReturnsSuccess()
{
//Arrange
var existingUser = new User
{
Id = 1,
Email = "testuser@sun-strategy.com",
EmailConfirmed = true
};
await UserManagerRepository.AddUser(AuditUserDetails, existingUser, default);
var id = new GeneralIdRef
{
Guid = null,
Id = existingUser.Id
};
//Act
var result = await UserManager.RefreshToken(id);
//Assert
Assert.That(result.Result, Is.EqualTo(LoginResult.Success));
Assert.That(result.Token, Is.Not.Empty);
}
[Test]
public async Task RefreshToken_DeactivatedUser_ReturnsFailed()
{
//Arrange
var existingUser = new User
{
Id = 1,
Email = "testuser@sun-strategy.com",
Active = false
};
await UserManagerRepository.AddUser(AuditUserDetails, existingUser, default);
var id = new GeneralIdRef
{
Guid = null,
Id = existingUser.Id
};
//Act
var result = await UserManager.RefreshToken(id);
//Assert
Assert.That(result.Result, Is.EqualTo(LoginResult.Failed));
Assert.That(result.Token, Is.Empty);
}
}