Adding user CRUD methods and controller + automapper

This commit is contained in:
2025-03-13 00:19:29 +01:00
parent 0b354988fd
commit 61b9c732bc
21 changed files with 639 additions and 90 deletions

View File

@@ -53,31 +53,31 @@ public class AuthController_Tests
var authServiceMock = new Mock<IAuthService>();
var controller = new AuthController(configuration, authServiceMock.Object);
DatabaseSqlServer.User user = new DatabaseSqlServer.User()
{
Username = "test",
FirstName = "test",
LastName = "test",
Email = "test",
PasswordHash = "test",
PasswordSalt = "test",
Password = "test",
Role = new DatabaseSqlServer.Role()
{
Username = "test",
FirstName = "test",
LastName = "test",
Email = "test",
PasswordHash = "test",
PasswordSalt = "test",
Password = "test",
Role = new DatabaseSqlServer.Role()
{
Name = "test"
},
IsTestUser = true
};
Name = "test"
},
IsTestUser = true
};
AuthenticatedUser authenticatedUser = new AuthenticatedUser(user);
var request = new AuthenticateRequest { Data = new AuthenticateRequestData { Username = "user", Password = "pass" } };
authServiceMock.Setup(s => s.AuthenticateAsync(It.IsAny<AuthenticateRequestData>())).ReturnsAsync(authenticatedUser);
authServiceMock.Setup(s => s.AuthenticateAsync(It.IsAny<AuthenticateRequestData>())).ReturnsAsync(authenticatedUser);
ObjectResult response = (ObjectResult)(await controller.AuthenticateAsync(request));
if(response != null && response.Value != null)
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == 200);
var result = (BaseResponse)response.Value;
if(result != null)
var result = (BaseResponse<object>)response.Value;
if (result != null)
{
Assert.IsTrue(result.Status == 200);
Assert.IsInstanceOfType(result.Data, typeof(AuthenticatedUser));
@@ -86,7 +86,7 @@ public class AuthController_Tests
{
Assert.Fail($"Result value is null");
}
}
else
{
@@ -106,15 +106,15 @@ public class AuthController_Tests
Data = null
};
AuthenticatedUser? authenticatedUser = null;
authServiceMock.Setup(s => s.AuthenticateAsync(It.IsAny<AuthenticateRequestData>())).ReturnsAsync(authenticatedUser);
authServiceMock.Setup(s => s.AuthenticateAsync(It.IsAny<AuthenticateRequestData>())).ReturnsAsync(authenticatedUser);
ObjectResult response = (ObjectResult)(await controller.AuthenticateAsync(request));
if(response != null && response.Value != null)
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == 400);
var result = (BaseResponse)response.Value;
if(result != null)
var result = (BaseResponse<object>)response.Value;
if (result != null)
{
Assert.IsTrue(result.Status == 400);
Assert.IsTrue(result.Message == "Request is not well formed");
@@ -122,7 +122,7 @@ public class AuthController_Tests
else
{
Assert.Fail($"Result value is null");
}
}
}
else
{
@@ -139,21 +139,21 @@ public class AuthController_Tests
var request = new AuthenticateRequest
{
Data = new AuthenticateRequestData()
Data = new AuthenticateRequestData()
{
Username = "d2ejdI1f4GYpq2kTB1nmeQkZXqR3QSxH8Yqkl7",
Password = "d2ejdI1f4GYpq2kTB1nmeQkZXqR3QSxH8Yqkl7"
}
};
AuthenticatedUser? authenticatedUser = null;
authServiceMock.Setup(s => s.AuthenticateAsync(It.IsAny<AuthenticateRequestData>())).ReturnsAsync(authenticatedUser);
authServiceMock.Setup(s => s.AuthenticateAsync(It.IsAny<AuthenticateRequestData>())).ReturnsAsync(authenticatedUser);
NotFoundResult response = (NotFoundResult)(await controller.AuthenticateAsync(request));
Assert.IsInstanceOfType(response, typeof(NotFoundResult));
if(response != null)
if (response != null)
{
Assert.IsTrue(response.StatusCode == 404);
Assert.IsTrue(response.StatusCode == 404);
}
else
{
@@ -173,18 +173,18 @@ public class AuthController_Tests
Data = null
};
AuthenticatedUser? authenticatedUser = null;
authServiceMock.Setup(s => s.AuthenticateAsync(It.IsAny<AuthenticateRequestData>())).ReturnsAsync(authenticatedUser);
controller.ModelState.AddModelError("Data", "Invalid data");
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));
if(response != null && response.Value != null)
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == 400);
var result = (BaseResponse)response.Value;
if(result != null)
var result = (BaseResponse<object>)response.Value;
if (result != null)
{
Assert.IsTrue(result.Status == 400);
Assert.IsTrue(result.Message == "Request is not well formed");
@@ -192,7 +192,7 @@ public class AuthController_Tests
else
{
Assert.Fail($"Result value is null");
}
}
}
else
{
@@ -209,21 +209,21 @@ public class AuthController_Tests
var request = new AuthenticateRequest
{
Data = new AuthenticateRequestData { Username = "user", Password = "pass" }
Data = new AuthenticateRequestData { Username = "user", Password = "pass" }
};
authServiceMock.Setup(s => s.AuthenticateAsync(It.IsAny<AuthenticateRequestData>())).ThrowsAsync(new Exception("Unexpected error"));
authServiceMock.Setup(s => s.AuthenticateAsync(It.IsAny<AuthenticateRequestData>())).ThrowsAsync(new Exception("Unexpected error"));
ObjectResult response = (ObjectResult)(await controller.AuthenticateAsync(request));
Assert.IsInstanceOfType(response, typeof(ObjectResult));
if(response != null && response.Value != null)
if (response != null && response.Value != null)
{
Assert.IsTrue(response.StatusCode == 500);
var result = (BaseResponse)response.Value;
if(result != null)
var result = (BaseResponse<object>)response.Value;
if (result != null)
{
Assert.IsTrue(result.Status == 500);
Assert.IsTrue(result.Message == "Something went wrong. Unexpected error");
@@ -231,7 +231,7 @@ public class AuthController_Tests
else
{
Assert.Fail($"Result value is null");
}
}
}
else
{