Fixing tests for UserController

This commit is contained in:
2025-03-17 20:30:11 +01:00
parent 5bc75de87c
commit e7b3acb91e
4 changed files with 57 additions and 8 deletions

View File

@@ -231,6 +231,7 @@ public class UserControllerTests
}
};
_userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
_roleServiceMock.Setup(s => s.GetRoleForUser(null)).ReturnsAsync(role);
_userServiceMock.Setup(s => s.CreateUserAsync(request.Data, role)).ReturnsAsync(user);
@@ -256,6 +257,47 @@ public class UserControllerTests
}
}
[TestMethod]
public async Task CreateUserAsync_InvalidEmail()
{
DatabaseSqlServer.User user = ModelsInit.CreateUser();
CreateUserRequest request = new CreateUserRequest()
{
Data = new CreateUserRequestData()
{
FirstName = user.FirstName,
LastName = user.LastName,
Email = user.Email,
Password = user.Password
}
};
_userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(false);
ObjectResult response = (ObjectResult)(await _userController.CreateUserAsync(request));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
var result = (BaseResponse<object>)response.Value;
if (result != null)
{
Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
Assert.IsTrue(result.Message == "Invalid email");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response value is null");
}
}
[TestMethod]
public async Task CreateUserAsync_RoleNull()
{
@@ -272,6 +314,8 @@ public class UserControllerTests
}
};
_userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
_userServiceMock.Setup(s => s.CreateUserAsync(
It.IsAny<CreateUserRequestData>(),
It.IsAny<Role>()
@@ -310,6 +354,8 @@ public class UserControllerTests
Data = null
};
_userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
_userServiceMock.Setup(s => s.CreateUserAsync(
It.IsAny<CreateUserRequestData>(),
It.IsAny<Role>()
@@ -356,13 +402,14 @@ public class UserControllerTests
}
};
_userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
_roleServiceMock.Setup(s => s.GetRoleForUser(null)).ReturnsAsync(role);
_userServiceMock.Setup(s => s.CreateUserAsync(request.Data, role)).ReturnsAsync(expectedUser);
ObjectResult response = (ObjectResult)(await _userController.CreateUserAsync(request));
if (response != null && response.Value != null)
{
Console.WriteLine(JsonConvert.SerializeObject(response));
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
var result = (BaseResponse<object>)response.Value;
@@ -398,6 +445,8 @@ public class UserControllerTests
}
};
_userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
_userServiceMock.Setup(s => s.CreateUserAsync(
It.IsAny<CreateUserRequestData>(),
It.IsAny<Role>()
@@ -445,6 +494,8 @@ public class UserControllerTests
}
};
_userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
_roleServiceMock.Setup(s => s.GetRoleForUser(null)).ReturnsAsync(role);
_userServiceMock.Setup(s => s.CreateUserAsync(request.Data, role)).ReturnsAsync(user);
@@ -454,7 +505,6 @@ public class UserControllerTests
)).ThrowsAsync(new Exception("Unexpected error"));
ObjectResult response = (ObjectResult)(await _userController.CreateUserAsync(request));
Console.WriteLine(JsonConvert.SerializeObject(response));
Assert.IsInstanceOfType(response, typeof(ObjectResult));
if (response != null && response.Value != null)

View File

@@ -12,7 +12,7 @@ public static class ModelsInit
Guid = Guid.NewGuid().ToString(),
FirstName = "FirstName",
LastName = "LastName",
Email = "Email",
Email = "test-new@email.it",
PasswordHash = "PasswordHash",
PasswordSalt = "PasswordSalt",
Password = "Password",

View File

@@ -92,10 +92,6 @@ namespace BasicDotnetTemplate.MainProject.Controllers
}
if (await this._userService.CheckIfEmailIsValid(request.Data.Email))
{
return BadRequest("Invalid email");
}
else
{
var role = await this._roleService.GetRoleForUser(request.Data.RoleGuid);
if (role == null)
@@ -114,6 +110,10 @@ namespace BasicDotnetTemplate.MainProject.Controllers
return Success(String.Empty, userDto);
}
else
{
return BadRequest("Invalid email");
}
}
catch (Exception exception)

View File

@@ -98,7 +98,6 @@ public class UserService : BaseService, IUserService
{
valid = true;
}
return valid;
}