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); } }