Sprint 8 #43

Merged
csimonapastore merged 20 commits from sprints/8 into main 2025-06-21 01:11:03 +02:00
14 changed files with 581 additions and 626 deletions
Showing only changes of commit 8bc50f8135 - Show all commits

View File

@@ -81,41 +81,41 @@ public class AuthController_Tests
}
}
[TestMethod]
public async Task AuthenticateAsync_AuthenticateRequestDataNull()
{
IConfiguration configuration = TestUtils.CreateConfiguration();
var authServiceMock = new Mock<IAuthService>();
var controller = new AuthController(configuration, authServiceMock.Object);
// [TestMethod]
// public async Task AuthenticateAsync_AuthenticateRequestDataNull()
// {
// IConfiguration configuration = TestUtils.CreateConfiguration();
// var authServiceMock = new Mock<IAuthService>();
// var controller = new AuthController(configuration, authServiceMock.Object);
var request = new AuthenticateRequest
{
Data = null
};
AuthenticatedUser? authenticatedUser = null;
authServiceMock.Setup(s => s.AuthenticateAsync(It.IsAny<AuthenticateRequestData>())).ReturnsAsync(authenticatedUser);
ObjectResult response = (ObjectResult)(await controller.AuthenticateAsync(request));
// var request = new AuthenticateRequest
// {
// Data = null
// };
// AuthenticatedUser? authenticatedUser = null;
// authServiceMock.Setup(s => s.AuthenticateAsync(It.IsAny<AuthenticateRequestData>())).ReturnsAsync(authenticatedUser);
// ObjectResult response = (ObjectResult)(await controller.AuthenticateAsync(request));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response value is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response value is null");
// }
// }
[TestMethod]
public async Task AuthenticateAsync_NotFound()
@@ -148,44 +148,44 @@ public class AuthController_Tests
}
}
[TestMethod]
public async Task AuthenticateAsync_ModelInvalid()
{
IConfiguration configuration = TestUtils.CreateConfiguration();
var authServiceMock = new Mock<IAuthService>();
var controller = new AuthController(configuration, authServiceMock.Object);
// [TestMethod]
// public async Task AuthenticateAsync_ModelInvalid()
// {
// IConfiguration configuration = TestUtils.CreateConfiguration();
// var authServiceMock = new Mock<IAuthService>();
// var controller = new AuthController(configuration, authServiceMock.Object);
var request = new AuthenticateRequest
{
Data = null
};
AuthenticatedUser? authenticatedUser = null;
authServiceMock.Setup(s => s.AuthenticateAsync(It.IsAny<AuthenticateRequestData>())).ReturnsAsync(authenticatedUser);
controller.ModelState.AddModelError("Data", "Invalid data");
ObjectResult response = (ObjectResult)(await controller.AuthenticateAsync(request));
// var request = new AuthenticateRequest
// {
// Data = null
// };
// AuthenticatedUser? authenticatedUser = null;
// authServiceMock.Setup(s => s.AuthenticateAsync(It.IsAny<AuthenticateRequestData>())).ReturnsAsync(authenticatedUser);
// controller.ModelState.AddModelError("Data", "Invalid data");
// ObjectResult response = (ObjectResult)(await controller.AuthenticateAsync(request));
Assert.IsInstanceOfType(response, typeof(ObjectResult));
// Assert.IsInstanceOfType(response, typeof(ObjectResult));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response is null");
// }
// }
[TestMethod]
public async Task AuthenticateAsync_Exception()

View File

@@ -89,40 +89,40 @@ public class RoleController_Tests
}
}
[TestMethod]
public async Task GetRoleByGuidAsync_GuidIsEmpty()
{
if (_roleController == null)
{
Assert.Fail($"_roleController is null");
}
// [TestMethod]
// public async Task GetRoleByGuidAsync_GuidIsEmpty()
// {
// if (_roleController == null)
// {
// Assert.Fail($"_roleController is null");
// }
var guid = String.Empty;
DatabaseSqlServer.Role? role = null;
// var guid = String.Empty;
// DatabaseSqlServer.Role? role = null;
_roleServiceMock?.Setup(s => s.GetRoleByGuidAsync(It.IsAny<string>())).ReturnsAsync(role);
ObjectResult response = (ObjectResult)(await _roleController.GetRoleByGuidAsync(guid));
// _roleServiceMock?.Setup(s => s.GetRoleByGuidAsync(It.IsAny<string>())).ReturnsAsync(role);
// ObjectResult response = (ObjectResult)(await _roleController.GetRoleByGuidAsync(guid));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response value is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response value is null");
// }
// }
[TestMethod]
public async Task GetRoleByGuidAsync_NotFound()
@@ -149,42 +149,42 @@ public class RoleController_Tests
}
}
[TestMethod]
public async Task GetRoleByGuidAsync_ModelInvalid()
{
if (_roleController == null)
{
Assert.Fail($"_roleController is null");
}
// [TestMethod]
// public async Task GetRoleByGuidAsync_ModelInvalid()
// {
// if (_roleController == null)
// {
// Assert.Fail($"_roleController is null");
// }
var guid = Guid.NewGuid().ToString();
DatabaseSqlServer.Role? role = null;
_roleServiceMock?.Setup(s => s.GetRoleByGuidAsync(It.IsAny<string>())).ReturnsAsync(role);
_roleController.ModelState.AddModelError("Data", "Invalid data");
ObjectResult response = (ObjectResult)(await _roleController.GetRoleByGuidAsync(guid));
// var guid = Guid.NewGuid().ToString();
// DatabaseSqlServer.Role? role = null;
// _roleServiceMock?.Setup(s => s.GetRoleByGuidAsync(It.IsAny<string>())).ReturnsAsync(role);
// _roleController.ModelState.AddModelError("Data", "Invalid data");
// ObjectResult response = (ObjectResult)(await _roleController.GetRoleByGuidAsync(guid));
Assert.IsInstanceOfType(response, typeof(ObjectResult));
// Assert.IsInstanceOfType(response, typeof(ObjectResult));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response is null");
// }
// }
[TestMethod]
public async Task GetRoleByGuidAsync_Exception()
@@ -316,49 +316,49 @@ public class RoleController_Tests
}
}
[TestMethod]
public async Task CreateRoleAsync_CreateRoleRequestDataNull()
{
if (_roleController == null)
{
Assert.Fail($"_roleController is null");
}
// [TestMethod]
// public async Task CreateRoleAsync_CreateRoleRequestDataNull()
// {
// if (_roleController == null)
// {
// Assert.Fail($"_roleController is null");
// }
DatabaseSqlServer.Role role = ModelsInit.CreateRole();
// DatabaseSqlServer.Role role = ModelsInit.CreateRole();
CreateRoleRequest request = new CreateRoleRequest()
{
Data = null
};
// CreateRoleRequest request = new CreateRoleRequest()
// {
// Data = null
// };
_roleServiceMock?.Setup(s => s.CheckIfNameIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
// _roleServiceMock?.Setup(s => s.CheckIfNameIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
_roleServiceMock?.Setup(s => s.CreateRoleAsync(
It.IsAny<CreateRoleRequestData>()
)).ReturnsAsync(role);
// _roleServiceMock?.Setup(s => s.CreateRoleAsync(
// It.IsAny<CreateRoleRequestData>()
// )).ReturnsAsync(role);
ObjectResult response = (ObjectResult)(await _roleController.CreateRoleAsync(request));
// ObjectResult response = (ObjectResult)(await _roleController.CreateRoleAsync(request));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response value is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response value is null");
// }
// }
[TestMethod]
public async Task CreateRoleAsync_NotCreated()
@@ -410,55 +410,55 @@ public class RoleController_Tests
}
}
[TestMethod]
public async Task CreateRoleAsync_ModelInvalid()
{
if (_roleController == null)
{
Assert.Fail($"_roleController is null");
}
// [TestMethod]
// public async Task CreateRoleAsync_ModelInvalid()
// {
// if (_roleController == null)
// {
// Assert.Fail($"_roleController is null");
// }
DatabaseSqlServer.Role role = ModelsInit.CreateRole();
// DatabaseSqlServer.Role role = ModelsInit.CreateRole();
CreateRoleRequest request = new CreateRoleRequest()
{
Data = new CreateRoleRequestData()
{
Name = "RoleTest",
IsNotEditable = true
}
};
// CreateRoleRequest request = new CreateRoleRequest()
// {
// Data = new CreateRoleRequestData()
// {
// Name = "RoleTest",
// IsNotEditable = true
// }
// };
_roleServiceMock?.Setup(s => s.CheckIfNameIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
// _roleServiceMock?.Setup(s => s.CheckIfNameIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
_roleServiceMock?.Setup(s => s.CreateRoleAsync(
It.IsAny<CreateRoleRequestData>()
)).ReturnsAsync(role);
_roleController.ModelState.AddModelError("Data", "Invalid data");
ObjectResult response = (ObjectResult)(await _roleController.CreateRoleAsync(request));
// _roleServiceMock?.Setup(s => s.CreateRoleAsync(
// It.IsAny<CreateRoleRequestData>()
// )).ReturnsAsync(role);
// _roleController.ModelState.AddModelError("Data", "Invalid data");
// ObjectResult response = (ObjectResult)(await _roleController.CreateRoleAsync(request));
Assert.IsInstanceOfType(response, typeof(ObjectResult));
// Assert.IsInstanceOfType(response, typeof(ObjectResult));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response is null");
// }
// }
[TestMethod]
public async Task CreateRoleAsync_Exception()
@@ -539,40 +539,40 @@ public class RoleController_Tests
}
}
[TestMethod]
public async Task DeleteRoleByGuidAsync_GuidIsEmpty()
{
if (_roleController == null)
{
Assert.Fail($"_roleController is null");
}
// [TestMethod]
// public async Task DeleteRoleByGuidAsync_GuidIsEmpty()
// {
// if (_roleController == null)
// {
// Assert.Fail($"_roleController is null");
// }
var guid = String.Empty;
DatabaseSqlServer.Role? role = null;
// var guid = String.Empty;
// DatabaseSqlServer.Role? role = null;
_roleServiceMock?.Setup(s => s.GetRoleByGuidAsync(It.IsAny<string>())).ReturnsAsync(role);
ObjectResult response = (ObjectResult)(await _roleController.DeleteRoleByGuidAsync(guid));
// _roleServiceMock?.Setup(s => s.GetRoleByGuidAsync(It.IsAny<string>())).ReturnsAsync(role);
// ObjectResult response = (ObjectResult)(await _roleController.DeleteRoleByGuidAsync(guid));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response value is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response value is null");
// }
// }
[TestMethod]
public async Task DeleteRoleByGuidAsync_NotFound()
@@ -599,42 +599,42 @@ public class RoleController_Tests
}
}
[TestMethod]
public async Task DeleteRoleByGuidAsync_ModelInvalid()
{
if (_roleController == null)
{
Assert.Fail($"_roleController is null");
}
// [TestMethod]
// public async Task DeleteRoleByGuidAsync_ModelInvalid()
// {
// if (_roleController == null)
// {
// Assert.Fail($"_roleController is null");
// }
var guid = Guid.NewGuid().ToString();
DatabaseSqlServer.Role? role = null;
_roleServiceMock?.Setup(s => s.GetRoleByGuidAsync(It.IsAny<string>())).ReturnsAsync(role);
_roleController.ModelState.AddModelError("Data", "Invalid data");
ObjectResult response = (ObjectResult)(await _roleController.DeleteRoleByGuidAsync(guid));
// var guid = Guid.NewGuid().ToString();
// DatabaseSqlServer.Role? role = null;
// _roleServiceMock?.Setup(s => s.GetRoleByGuidAsync(It.IsAny<string>())).ReturnsAsync(role);
// _roleController.ModelState.AddModelError("Data", "Invalid data");
// ObjectResult response = (ObjectResult)(await _roleController.DeleteRoleByGuidAsync(guid));
Assert.IsInstanceOfType(response, typeof(ObjectResult));
// Assert.IsInstanceOfType(response, typeof(ObjectResult));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response is null");
// }
// }
[TestMethod]
public async Task DeleteRoleByGuidAsync_Exception()
@@ -851,95 +851,95 @@ public class RoleController_Tests
}
}
[TestMethod]
public async Task UpdateRoleAsync_CreateRoleRequestDataNull()
{
if (_roleController == null)
{
Assert.Fail($"_roleController is null");
}
// [TestMethod]
// public async Task UpdateRoleAsync_CreateRoleRequestDataNull()
// {
// if (_roleController == null)
// {
// Assert.Fail($"_roleController is null");
// }
DatabaseSqlServer.Role role = ModelsInit.CreateRole();
// DatabaseSqlServer.Role role = ModelsInit.CreateRole();
CreateRoleRequest request = new CreateRoleRequest()
{
Data = null
};
// CreateRoleRequest request = new CreateRoleRequest()
// {
// Data = null
// };
_roleServiceMock?.Setup(s => s.GetRoleByGuidAsync(It.IsAny<string>())).ReturnsAsync(role);
_roleServiceMock?.Setup(s => s.CheckIfNameIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
_roleServiceMock?.Setup(s => s.UpdateRoleAsync(It.IsAny<CreateRoleRequestData>(), It.IsAny<Role>())).ReturnsAsync(role);
// _roleServiceMock?.Setup(s => s.GetRoleByGuidAsync(It.IsAny<string>())).ReturnsAsync(role);
// _roleServiceMock?.Setup(s => s.CheckIfNameIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
// _roleServiceMock?.Setup(s => s.UpdateRoleAsync(It.IsAny<CreateRoleRequestData>(), It.IsAny<Role>())).ReturnsAsync(role);
ObjectResult response = (ObjectResult)(await _roleController.UpdateRoleAsync(request, role.Guid));
// ObjectResult response = (ObjectResult)(await _roleController.UpdateRoleAsync(request, role.Guid));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response value is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response value is null");
// }
// }
[TestMethod]
public async Task UpdateRoleAsync_ModelInvalid()
{
if (_roleController == null)
{
Assert.Fail($"_roleController is null");
}
// [TestMethod]
// public async Task UpdateRoleAsync_ModelInvalid()
// {
// if (_roleController == null)
// {
// Assert.Fail($"_roleController is null");
// }
DatabaseSqlServer.Role role = ModelsInit.CreateRole();
// DatabaseSqlServer.Role role = ModelsInit.CreateRole();
CreateRoleRequest request = new CreateRoleRequest()
{
Data = new CreateRoleRequestData()
{
Name = "RoleTest",
IsNotEditable = true
}
};
// CreateRoleRequest request = new CreateRoleRequest()
// {
// Data = new CreateRoleRequestData()
// {
// Name = "RoleTest",
// IsNotEditable = true
// }
// };
_roleServiceMock?.Setup(s => s.GetRoleByGuidAsync(It.IsAny<string>())).ReturnsAsync(role);
_roleServiceMock?.Setup(s => s.CheckIfNameIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
_roleServiceMock?.Setup(s => s.UpdateRoleAsync(It.IsAny<CreateRoleRequestData>(), It.IsAny<Role>())).ReturnsAsync(role);
_roleController.ModelState.AddModelError("Data", "Invalid data");
ObjectResult response = (ObjectResult)(await _roleController.UpdateRoleAsync(request, role.Guid));
// _roleServiceMock?.Setup(s => s.GetRoleByGuidAsync(It.IsAny<string>())).ReturnsAsync(role);
// _roleServiceMock?.Setup(s => s.CheckIfNameIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
// _roleServiceMock?.Setup(s => s.UpdateRoleAsync(It.IsAny<CreateRoleRequestData>(), It.IsAny<Role>())).ReturnsAsync(role);
// _roleController.ModelState.AddModelError("Data", "Invalid data");
// ObjectResult response = (ObjectResult)(await _roleController.UpdateRoleAsync(request, role.Guid));
Assert.IsInstanceOfType(response, typeof(ObjectResult));
// Assert.IsInstanceOfType(response, typeof(ObjectResult));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response is null");
// }
// }
[TestMethod]
public async Task UpdateRoleAsync_Exception()

View File

@@ -99,40 +99,40 @@ public class UserController_Tests
}
}
[TestMethod]
public async Task GetUserByGuidAsync_GuidIsEmpty()
{
if (_userController == null)
{
Assert.Fail($"_userController is null");
}
// [TestMethod]
// public async Task GetUserByGuidAsync_GuidIsEmpty()
// {
// if (_userController == null)
// {
// Assert.Fail($"_userController is null");
// }
var guid = String.Empty;
DatabaseSqlServer.User? user = null;
// var guid = String.Empty;
// DatabaseSqlServer.User? user = null;
_userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny<string>())).ReturnsAsync(user);
ObjectResult response = (ObjectResult)(await _userController.GetUserByGuidAsync(guid));
// _userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny<string>())).ReturnsAsync(user);
// ObjectResult response = (ObjectResult)(await _userController.GetUserByGuidAsync(guid));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response value is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response value is null");
// }
// }
[TestMethod]
public async Task GetUserByGuidAsync_NotFound()
@@ -159,42 +159,42 @@ public class UserController_Tests
}
}
[TestMethod]
public async Task GetUserByGuidAsync_ModelInvalid()
{
if (_userController == null)
{
Assert.Fail($"_userController is null");
}
// [TestMethod]
// public async Task GetUserByGuidAsync_ModelInvalid()
// {
// if (_userController == null)
// {
// Assert.Fail($"_userController is null");
// }
var guid = Guid.NewGuid().ToString();
DatabaseSqlServer.User? user = null;
_userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny<string>())).ReturnsAsync(user);
_userController.ModelState.AddModelError("Data", "Invalid data");
ObjectResult response = (ObjectResult)(await _userController.GetUserByGuidAsync(guid));
// var guid = Guid.NewGuid().ToString();
// DatabaseSqlServer.User? user = null;
// _userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny<string>())).ReturnsAsync(user);
// _userController.ModelState.AddModelError("Data", "Invalid data");
// ObjectResult response = (ObjectResult)(await _userController.GetUserByGuidAsync(guid));
Assert.IsInstanceOfType(response, typeof(ObjectResult));
// Assert.IsInstanceOfType(response, typeof(ObjectResult));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response is null");
// }
// }
[TestMethod]
public async Task GetUserByGuidAsync_Exception()
@@ -381,50 +381,50 @@ public class UserController_Tests
}
}
[TestMethod]
public async Task CreateUserAsync_CreateUserRequestDataNull()
{
if (_userController == null)
{
Assert.Fail($"_userController is null");
}
// [TestMethod]
// public async Task CreateUserAsync_CreateUserRequestDataNull()
// {
// if (_userController == null)
// {
// Assert.Fail($"_userController is null");
// }
DatabaseSqlServer.User user = ModelsInit.CreateUser();
// DatabaseSqlServer.User user = ModelsInit.CreateUser();
CreateUserRequest request = new CreateUserRequest()
{
Data = null
};
// CreateUserRequest request = new CreateUserRequest()
// {
// Data = null
// };
_userServiceMock?.Setup(s => s.CheckIfEmailIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
// _userServiceMock?.Setup(s => s.CheckIfEmailIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
_userServiceMock?.Setup(s => s.CreateUserAsync(
It.IsAny<CreateUserRequestData>(),
It.IsAny<Role>()
)).ReturnsAsync(user);
// _userServiceMock?.Setup(s => s.CreateUserAsync(
// It.IsAny<CreateUserRequestData>(),
// It.IsAny<Role>()
// )).ReturnsAsync(user);
ObjectResult response = (ObjectResult)(await _userController.CreateUserAsync(request));
// ObjectResult response = (ObjectResult)(await _userController.CreateUserAsync(request));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response value is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response value is null");
// }
// }
[TestMethod]
public async Task CreateUserAsync_NotCreated()
@@ -481,58 +481,59 @@ public class UserController_Tests
}
}
[TestMethod]
public async Task CreateUserAsync_ModelInvalid()
{
if (_userController == null)
{
Assert.Fail($"_userController is null");
}
// [TestMethod]
// public async Task CreateUserAsync_ModelInvalid()
// {
// if (_userController == null)
// {
// Assert.Fail($"_userController is null");
// }
DatabaseSqlServer.User user = ModelsInit.CreateUser();
// DatabaseSqlServer.User user = ModelsInit.CreateUser();
CreateUserRequest request = new CreateUserRequest()
{
Data = new CreateUserRequestData()
{
FirstName = user.FirstName,
LastName = user.LastName,
Email = user.Email,
Password = user.Password
}
};
// 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(true);
// _userServiceMock?.Setup(s => s.CheckIfEmailIsValid(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true);
_userServiceMock?.Setup(s => s.CreateUserAsync(
It.IsAny<CreateUserRequestData>(),
It.IsAny<Role>()
)).ReturnsAsync(user);
_userController.ModelState.AddModelError("Data", "Invalid data");
ObjectResult response = (ObjectResult)(await _userController.CreateUserAsync(request));
// _userServiceMock?.Setup(s => s.CreateUserAsync(
// It.IsAny<CreateUserRequestData>(),
// It.IsAny<Role>()
// )).ReturnsAsync(user);
// _userController.ModelState.AddModelError("Data", "Invalid data");
// ObjectResult response = (ObjectResult)(await _userController.CreateUserAsync(request));
Assert.IsInstanceOfType(response, typeof(ObjectResult));
// Assert.IsInstanceOfType(response, typeof(ObjectResult));
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == StatusCodes.Status400BadRequest);
// 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 == "Request is not well formed");
}
else
{
Assert.Fail($"Result value is null");
}
}
else
{
Assert.Fail($"Response is null");
}
}
// var result = (BaseResponse<object>)response.Value;
// if (result != null)
// {
// Assert.IsTrue(result.Status == StatusCodes.Status400BadRequest);
// Console.WriteLine(JsonConvert.SerializeObject(result));
// Assert.IsTrue(result.Message == "Request is not well formed");
// }
// else
// {
// Assert.Fail($"Result value is null");
// }
// }
// else
// {
// Assert.Fail($"Response is null");
// }
// }
[TestMethod]
public async Task CreateUserAsync_Exception()

View File

@@ -158,7 +158,8 @@ public class UserService_Tests
{
FirstName = expectedUser.FirstName ?? String.Empty,
LastName = expectedUser.LastName ?? String.Empty,
Email = expectedUser.Email ?? String.Empty
Email = expectedUser.Email ?? String.Empty,
Password = expectedUser.Password ?? String.Empty
};
Role role = new()

View File

@@ -6,6 +6,7 @@ using BasicDotnetTemplate.MainProject.Models.Api.Request.Auth;
using BasicDotnetTemplate.MainProject.Models.Api.Response;
using BasicDotnetTemplate.MainProject.Models.Api.Response.Auth;
using BasicDotnetTemplate.MainProject.Services;
using BasicDotnetTemplate.MainProject.Core.Filters;
namespace BasicDotnetTemplate.MainProject.Controllers
{
@@ -21,29 +22,16 @@ namespace BasicDotnetTemplate.MainProject.Controllers
this._authService = authService;
}
[ModelStateValidationHandledByFilterAttribute]
[HttpPost("authenticate")]
[ProducesResponseType<AuthenticateResponse>(StatusCodes.Status200OK)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status404NotFound)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status400BadRequest)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status500InternalServerError)]
public async Task<IActionResult> AuthenticateAsync([FromBody] AuthenticateRequest request)
public async Task<IActionResult> AuthenticateAsync([FromBody] AuthenticateRequest request) //NOSONAR
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(_requestNotWellFormed);
}
if (
request == null ||
request.Data == null ||
String.IsNullOrEmpty(request.Data.Email) ||
String.IsNullOrEmpty(request.Data.Password)
)
{
return BadRequest(_requestNotWellFormed);
}
var data = await this._authService.AuthenticateAsync(request.Data);
if (data == null)

View File

@@ -12,7 +12,6 @@ namespace BasicDotnetTemplate.MainProject.Controllers
protected readonly IMapper? _mapper;
protected readonly IConfiguration _configuration;
protected readonly AppSettings _appSettings;
protected readonly string _requestNotWellFormed = "Request is not well formed";
protected readonly string _somethingWentWrong = "Something went wrong";
protected BaseController(

View File

@@ -7,6 +7,7 @@ using BasicDotnetTemplate.MainProject.Models.Api.Response;
using BasicDotnetTemplate.MainProject.Models.Api.Response.Role;
using BasicDotnetTemplate.MainProject.Models.Database.SqlServer;
using BasicDotnetTemplate.MainProject.Models.Api.Common.Role;
using BasicDotnetTemplate.MainProject.Core.Filters;
namespace BasicDotnetTemplate.MainProject.Controllers
{
@@ -23,6 +24,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
}
[JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute]
[HttpGet("get/{guid}")]
[ProducesResponseType<GetRoleResponse>(StatusCodes.Status200OK)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status404NotFound)]
@@ -32,15 +34,6 @@ namespace BasicDotnetTemplate.MainProject.Controllers
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(_requestNotWellFormed);
}
if (String.IsNullOrEmpty(guid))
{
return BadRequest(_requestNotWellFormed);
}
var role = await this._roleService.GetRoleByGuidAsync(guid);
if (role == null || String.IsNullOrEmpty(role.Guid))
@@ -65,25 +58,15 @@ namespace BasicDotnetTemplate.MainProject.Controllers
}
[JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute]
[HttpPost("create")]
[ProducesResponseType<GetRoleResponse>(StatusCodes.Status201Created)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status400BadRequest)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status500InternalServerError)]
public async Task<IActionResult> CreateRoleAsync([FromBody] CreateRoleRequest request)
public async Task<IActionResult> CreateRoleAsync([FromBody] CreateRoleRequest request) //NOSONAR
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(_requestNotWellFormed);
}
if (request == null || request.Data == null || String.IsNullOrEmpty(request.Data.Name)
)
{
return BadRequest(_requestNotWellFormed);
}
if (await this._roleService.CheckIfNameIsValid(request.Data.Name))
{
var role = await this._roleService.CreateRoleAsync(request.Data);
@@ -116,29 +99,15 @@ namespace BasicDotnetTemplate.MainProject.Controllers
}
[JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute]
[HttpPut("update/{guid}")]
[ProducesResponseType<GetRoleResponse>(StatusCodes.Status201Created)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status400BadRequest)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status500InternalServerError)]
public async Task<IActionResult> UpdateRoleAsync([FromBody] CreateRoleRequest request, string guid)
public async Task<IActionResult> UpdateRoleAsync([FromBody] CreateRoleRequest request, string guid) //NOSONAR
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(_requestNotWellFormed);
}
if (
request == null ||
request.Data == null ||
String.IsNullOrEmpty(request.Data.Name) ||
String.IsNullOrEmpty(guid)
)
{
return BadRequest(_requestNotWellFormed);
}
var role = await this._roleService.GetRoleByGuidAsync(guid);
if (role == null || String.IsNullOrEmpty(role.Guid))
@@ -181,6 +150,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
}
[JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute]
[HttpDelete("{guid}")]
[ProducesResponseType<GetRoleResponse>(StatusCodes.Status200OK)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status404NotFound)]
@@ -190,15 +160,6 @@ namespace BasicDotnetTemplate.MainProject.Controllers
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(_requestNotWellFormed);
}
if (String.IsNullOrEmpty(guid))
{
return BadRequest(_requestNotWellFormed);
}
var role = await this._roleService.GetRoleByGuidAsync(guid);
if (role == null || String.IsNullOrEmpty(role.Guid))

View File

@@ -7,6 +7,7 @@ using BasicDotnetTemplate.MainProject.Models.Api.Response;
using BasicDotnetTemplate.MainProject.Models.Api.Response.User;
using BasicDotnetTemplate.MainProject.Models.Database.SqlServer;
using BasicDotnetTemplate.MainProject.Models.Api.Common.User;
using BasicDotnetTemplate.MainProject.Core.Filters;
namespace BasicDotnetTemplate.MainProject.Controllers
{
@@ -24,8 +25,10 @@ namespace BasicDotnetTemplate.MainProject.Controllers
this._userService = userService;
this._roleService = roleService;
}
[JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute]
[HttpGet("get/{guid}")]
[ProducesResponseType<GetUserResponse>(StatusCodes.Status200OK)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status404NotFound)]
@@ -35,15 +38,6 @@ namespace BasicDotnetTemplate.MainProject.Controllers
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(_requestNotWellFormed);
}
if (String.IsNullOrEmpty(guid))
{
return BadRequest(_requestNotWellFormed);
}
var user = await this._userService.GetUserByGuidAsync(guid);
if (user == null || String.IsNullOrEmpty(user.Guid))
@@ -67,30 +61,16 @@ namespace BasicDotnetTemplate.MainProject.Controllers
}
[JwtAuthorization()]
// [JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute]
[HttpPost("create")]
[ProducesResponseType<GetUserResponse>(StatusCodes.Status201Created)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status400BadRequest)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status500InternalServerError)]
public async Task<IActionResult> CreateUserAsync([FromBody] CreateUserRequest request)
public async Task<IActionResult> CreateUserAsync([FromBody] CreateUserRequest request) //NOSONAR
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(_requestNotWellFormed);
}
if (request == null || request.Data == null ||
String.IsNullOrEmpty(request.Data.FirstName) ||
String.IsNullOrEmpty(request.Data.LastName) ||
String.IsNullOrEmpty(request.Data.Email) ||
String.IsNullOrEmpty(request.Data.Password)
)
{
return BadRequest(_requestNotWellFormed);
}
if (await this._userService.CheckIfEmailIsValid(request.Data.Email))
{
var role = await this._roleService.GetRoleForUser(request.Data.RoleGuid);
@@ -129,26 +109,15 @@ namespace BasicDotnetTemplate.MainProject.Controllers
}
[JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute]
[HttpPut("update/{guid}")]
[ProducesResponseType<GetUserResponse>(StatusCodes.Status201Created)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status400BadRequest)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status500InternalServerError)]
public async Task<IActionResult> UpdateUserAsync([FromBody] UpdateUserRequest request, string guid)
public async Task<IActionResult> UpdateUserAsync([FromBody] UpdateUserRequest request, string guid) //NOSONAR
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(_requestNotWellFormed);
}
if (request == null || request.Data == null ||
String.IsNullOrEmpty(request.Data.FirstName) ||
String.IsNullOrEmpty(request.Data.LastName)
)
{
return BadRequest(_requestNotWellFormed);
}
var user = await this._userService.GetUserByGuidAsync(guid);
if(user == null)
{
@@ -175,6 +144,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
}
[JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute]
[HttpPut("update/{guid}/password")]
[ProducesResponseType<GetUserResponse>(StatusCodes.Status201Created)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status400BadRequest)]
@@ -183,16 +153,6 @@ namespace BasicDotnetTemplate.MainProject.Controllers
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(_requestNotWellFormed);
}
if (String.IsNullOrEmpty(newPassword))
{
return BadRequest(_requestNotWellFormed);
}
var user = await this._userService.GetUserByGuidAsync(guid);
if(user == null)
{
@@ -219,6 +179,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
}
[JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute]
[HttpPut("update/{guid}/role")]
[ProducesResponseType<GetUserResponse>(StatusCodes.Status201Created)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status400BadRequest)]
@@ -227,16 +188,6 @@ namespace BasicDotnetTemplate.MainProject.Controllers
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(_requestNotWellFormed);
}
if (String.IsNullOrEmpty(roleGuid))
{
return BadRequest(_requestNotWellFormed);
}
var role = await this._roleService.GetRoleForUser(roleGuid);
if (role == null)
{
@@ -269,6 +220,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
}
[JwtAuthorization()]
[ModelStateValidationHandledByFilterAttribute]
[HttpDelete("{guid}")]
[ProducesResponseType<GetUserResponse>(StatusCodes.Status200OK)]
[ProducesResponseType<BaseResponse<object>>(StatusCodes.Status404NotFound)]
@@ -278,15 +230,6 @@ namespace BasicDotnetTemplate.MainProject.Controllers
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(_requestNotWellFormed);
}
if (String.IsNullOrEmpty(guid))
{
return BadRequest(_requestNotWellFormed);
}
var user = await this._userService.GetUserByGuidAsync(guid);
if (user == null || String.IsNullOrEmpty(user.Guid))

View File

@@ -0,0 +1,12 @@
using System;
namespace BasicDotnetTemplate.MainProject.Core.Attributes
{
/// <summary>
/// Indicates that ModelState validation is handled automatically by an Action Filter.
/// Used to suppress SonarCloud warnings about missing ModelState.IsValid checks.
/// </summary>
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class ModelStateValidationHandledByFilterAttribute : Attribute
{ }
}

View File

@@ -0,0 +1,30 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using System.Threading.Tasks;
namespace BasicDotnetTemplate.MainProject.Core.Filters
{
public class ValidationActionFilter : IAsyncActionFilter
{
private readonly string _requestNotWellFormedMessage = "Request is not well formed";
public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
if (!context.ModelState.IsValid)
{
context.Result = new BadRequestObjectResult(new { message = _requestNotWellFormedMessage, errors = context.ModelState });
return;
}
var requestBody = context.ActionArguments.Values.FirstOrDefault(arg => arg != null && !arg.GetType().IsPrimitive && !(arg is string));
if (requestBody == null)
{
context.Result = new BadRequestObjectResult(new { message = _requestNotWellFormedMessage });
return;
}
await next();
}
}
}

View File

@@ -1,8 +1,11 @@
using System.ComponentModel.DataAnnotations;
namespace BasicDotnetTemplate.MainProject.Models.Api.Data.Role;
public class CreateRoleRequestData
{
public string Name { get; set; } = String.Empty;
[Required(ErrorMessage = "Name is required")]
public required string Name { get; set; }
public required bool IsNotEditable { get; set; }
}

View File

@@ -1,9 +1,16 @@
using System.ComponentModel.DataAnnotations;
namespace BasicDotnetTemplate.MainProject.Models.Api.Data.User;
public class CreateUserRequestData : UpdateUserRequestData
{
public string Email { get; set; } = String.Empty;
public string Password { get; set; } = String.Empty;
[Required(ErrorMessage = "Email is required")]
[StringLength(200, ErrorMessage = "Email's maxLength: 200")]
public required string Email { get; set; }
[Required(ErrorMessage = "Password is required")]
public required string Password { get; set; }
public string? RoleGuid { get; set; }
}

View File

@@ -1,9 +1,16 @@
using System.ComponentModel.DataAnnotations;
namespace BasicDotnetTemplate.MainProject.Models.Api.Data.User;
public class UpdateUserRequestData
{
public string FirstName { get; set; } = String.Empty;
public string LastName { get; set; } = String.Empty;
[Required(ErrorMessage = "FirstName is required")]
[StringLength(200, ErrorMessage = "FirstName's maxLength: 200")]
public required string FirstName { get; set; }
[Required(ErrorMessage = "LastName is required")]
[StringLength(200, ErrorMessage = "LastName's maxLength: 200")]
public required string LastName { get; set; }
}

View File

@@ -8,7 +8,7 @@ using BasicDotnetTemplate.MainProject.Models.Settings;
using BasicDotnetTemplate.MainProject.Services;
using BasicDotnetTemplate.MainProject.Models.Api.Data.Role;
using BasicDotnetTemplate.MainProject.Models.Database.SqlServer;
using BasicDotnetTemplate.MainProject.Core.Filters;
namespace BasicDotnetTemplate.MainProject.Utils;
@@ -140,7 +140,10 @@ public static class ProgramUtils
builder.Services.AddAuthentication();
builder.Services.AddAuthorization();
builder.Services.AddControllers();
builder.Services.AddControllers(options =>
{
options.Filters.Add<ValidationActionFilter>();
});
builder.Services.AddEndpointsApiExplorer();
Logger.Info("[ProgramUtils][AddServices] Done services");