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

68 lines
1.8 KiB
C#

using e_suite.API.Common.models;
using e_suite.Database.Core.Tables.UserManager;
using NUnit.Framework;
using UserManager.UnitTests.Helpers;
namespace UserManager.UnitTests.UserManager;
[TestFixture]
public class RefreshTokenByEmailUnitTests : UserManagerTestBase
{
[SetUp]
public override async Task Setup()
{
await base.Setup();
}
[Test]
public async Task RefreshToken_UserNotFound_ReturnsFailed()
{
//Arrange
var email = "fred@bloggs.com"; //User does not exist in fake database.
//Act
var result = await UserManager.RefreshToken(email);
//Assert
Assert.That(result.Result, Is.EqualTo(LoginResult.Failed));
}
[Test]
public async Task RefreshToken_User_ReturnsSuccess()
{
//Arrange
var existingUser = new User
{
Email = "testuser@sun-strategy.com",
EmailConfirmed = true
};
await UserManagerRepository.AddUser(AuditUserDetails, existingUser, default);
//Act
var result = await UserManager.RefreshToken(existingUser.Email);
//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
{
Email = "testuser@sun-strategy.com",
Active = false
};
await UserManagerRepository.AddUser(AuditUserDetails, existingUser, default);
//Act
var result = await UserManager.RefreshToken(existingUser.Email);
//Assert
Assert.That(result.Result, Is.EqualTo(LoginResult.Failed));
Assert.That(result.Token, Is.Empty);
}
}