Roles #21

Merged
csimonapastore merged 36 commits from roles into main 2025-03-26 23:52:19 +01:00
4 changed files with 57 additions and 8 deletions
Showing only changes of commit e7b3acb91e - Show all commits

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); _roleServiceMock.Setup(s => s.GetRoleForUser(null)).ReturnsAsync(role);
_userServiceMock.Setup(s => s.CreateUserAsync(request.Data, role)).ReturnsAsync(user); _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] [TestMethod]
public async Task CreateUserAsync_RoleNull() 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( _userServiceMock.Setup(s => s.CreateUserAsync(
It.IsAny<CreateUserRequestData>(), It.IsAny<CreateUserRequestData>(),
It.IsAny<Role>() It.IsAny<Role>()
@@ -310,6 +354,8 @@ public class UserControllerTests
Data = null Data = null
}; };
_userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
_userServiceMock.Setup(s => s.CreateUserAsync( _userServiceMock.Setup(s => s.CreateUserAsync(
It.IsAny<CreateUserRequestData>(), It.IsAny<CreateUserRequestData>(),
It.IsAny<Role>() 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); _roleServiceMock.Setup(s => s.GetRoleForUser(null)).ReturnsAsync(role);
_userServiceMock.Setup(s => s.CreateUserAsync(request.Data, role)).ReturnsAsync(expectedUser); _userServiceMock.Setup(s => s.CreateUserAsync(request.Data, role)).ReturnsAsync(expectedUser);
ObjectResult response = (ObjectResult)(await _userController.CreateUserAsync(request)); ObjectResult response = (ObjectResult)(await _userController.CreateUserAsync(request));
if (response != null && response.Value != null) if (response != null && response.Value != null)
{ {
Console.WriteLine(JsonConvert.SerializeObject(response));
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest); Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
var result = (BaseResponse<object>)response.Value; 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( _userServiceMock.Setup(s => s.CreateUserAsync(
It.IsAny<CreateUserRequestData>(), It.IsAny<CreateUserRequestData>(),
It.IsAny<Role>() 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); _roleServiceMock.Setup(s => s.GetRoleForUser(null)).ReturnsAsync(role);
_userServiceMock.Setup(s => s.CreateUserAsync(request.Data, role)).ReturnsAsync(user); _userServiceMock.Setup(s => s.CreateUserAsync(request.Data, role)).ReturnsAsync(user);
@@ -454,7 +505,6 @@ public class UserControllerTests
)).ThrowsAsync(new Exception("Unexpected error")); )).ThrowsAsync(new Exception("Unexpected error"));
ObjectResult response = (ObjectResult)(await _userController.CreateUserAsync(request)); ObjectResult response = (ObjectResult)(await _userController.CreateUserAsync(request));
Console.WriteLine(JsonConvert.SerializeObject(response));
Assert.IsInstanceOfType(response, typeof(ObjectResult)); Assert.IsInstanceOfType(response, typeof(ObjectResult));
if (response != null && response.Value != null) if (response != null && response.Value != null)

View File

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

View File

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

View File

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