Adding tests for CRUD operations on users
This commit is contained in:
@@ -435,8 +435,6 @@ public class RoleController_Tests
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#region "UPDATE"
|
#region "UPDATE"
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
@@ -643,7 +641,7 @@ public class RoleController_Tests
|
|||||||
It.IsAny<CreateRoleRequestData>(), It.IsAny<Role>()
|
It.IsAny<CreateRoleRequestData>(), It.IsAny<Role>()
|
||||||
)).ThrowsAsync(new Exception("Unexpected error"));
|
)).ThrowsAsync(new Exception("Unexpected error"));
|
||||||
|
|
||||||
ObjectResult response = (ObjectResult)(await _roleController.UpdateRoleAsync(request, role.Guid));
|
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)
|
if (response != null && response.Value != null)
|
||||||
@@ -668,4 +666,5 @@ public class RoleController_Tests
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ public class UserController_Tests
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#region "GET"
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public async Task GetUserByGuidAsync_Should_Return_200_When_Successful()
|
public async Task GetUserByGuidAsync_Should_Return_200_When_Successful()
|
||||||
{
|
{
|
||||||
@@ -159,6 +160,10 @@ public class UserController_Tests
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region "CREATE"
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public async Task CreateUserAsync_Success()
|
public async Task CreateUserAsync_Success()
|
||||||
{
|
{
|
||||||
@@ -364,7 +369,6 @@ public class UserController_Tests
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public async Task CreateUserAsync_Exception()
|
public async Task CreateUserAsync_Exception()
|
||||||
{
|
{
|
||||||
@@ -425,4 +429,233 @@ public class UserController_Tests
|
|||||||
Assert.Fail($"Response is null");
|
Assert.Fail($"Response is null");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region "DELETE"
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public async Task DeleteRoleByGuidAsync_Success()
|
||||||
|
{
|
||||||
|
if (_userController == null)
|
||||||
|
{
|
||||||
|
Assert.Fail($"_userController is null");
|
||||||
|
}
|
||||||
|
var guid = Guid.NewGuid().ToString();
|
||||||
|
DatabaseSqlServer.User user = ModelsInit.CreateUser();
|
||||||
|
|
||||||
|
_userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny<string>())).ReturnsAsync(user);
|
||||||
|
ObjectResult response = (ObjectResult)await _userController.DeleteUserByGuidAsync(guid);
|
||||||
|
if (response != null && response.Value != null)
|
||||||
|
{
|
||||||
|
Assert.AreEqual(StatusCodes.Status200OK, response.StatusCode);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Assert.Fail($"Response value is null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public async Task DeleteRoleByGuidAsync_NotFound()
|
||||||
|
{
|
||||||
|
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);
|
||||||
|
NotFoundResult response = (NotFoundResult)await _userController.DeleteUserByGuidAsync(guid);
|
||||||
|
|
||||||
|
Assert.IsInstanceOfType(response, typeof(NotFoundResult));
|
||||||
|
|
||||||
|
if (response != null)
|
||||||
|
{
|
||||||
|
Assert.AreEqual(StatusCodes.Status404NotFound, response.StatusCode);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Assert.Fail($"Response is null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public async Task DeleteRoleByGuidAsync_Exception()
|
||||||
|
{
|
||||||
|
if (_userController == null)
|
||||||
|
{
|
||||||
|
Assert.Fail($"_userController is null");
|
||||||
|
}
|
||||||
|
|
||||||
|
var guid = Guid.NewGuid().ToString();
|
||||||
|
_userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny<string>())).ThrowsAsync(new Exception("Unexpected error"));
|
||||||
|
ObjectResult response = (ObjectResult)await _userController.DeleteUserByGuidAsync(guid);
|
||||||
|
|
||||||
|
Assert.IsInstanceOfType(response, typeof(ObjectResult));
|
||||||
|
|
||||||
|
if (response != null && response.Value != null)
|
||||||
|
{
|
||||||
|
Assert.AreEqual(StatusCodes.Status500InternalServerError, response.StatusCode);
|
||||||
|
|
||||||
|
var result = (BaseResponse<object>)response.Value;
|
||||||
|
if (result != null)
|
||||||
|
{
|
||||||
|
Assert.AreEqual(StatusCodes.Status500InternalServerError, result.Status);
|
||||||
|
Assert.AreEqual("Something went wrong. Unexpected error", result.Message);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Assert.Fail($"Result value is null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Assert.Fail($"Response is null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region "UPDATE"
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public async Task UpdateUserAsync_Should_Return_200_When_Successful()
|
||||||
|
{
|
||||||
|
if (_userController == null)
|
||||||
|
{
|
||||||
|
Assert.Fail($"_userController is null");
|
||||||
|
}
|
||||||
|
|
||||||
|
DatabaseSqlServer.User user = ModelsInit.CreateUser();
|
||||||
|
|
||||||
|
UpdateUserRequest request = new UpdateUserRequest()
|
||||||
|
{
|
||||||
|
Data = new UpdateUserRequestData()
|
||||||
|
{
|
||||||
|
FirstName = "NewFirstName",
|
||||||
|
LastName = "NewLastName"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
_userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny<string>())).ReturnsAsync(user);
|
||||||
|
_userServiceMock?.Setup(s => s.UpdateUserAsync(It.IsAny<UpdateUserRequestData>(), It.IsAny<User>())).ReturnsAsync(user);
|
||||||
|
|
||||||
|
ObjectResult response = (ObjectResult)await _userController.UpdateUserAsync(request, user.Guid);
|
||||||
|
if (response != null && response.Value != null)
|
||||||
|
{
|
||||||
|
Assert.AreEqual(StatusCodes.Status200OK, response.StatusCode);
|
||||||
|
|
||||||
|
var result = (BaseResponse<object>)response.Value;
|
||||||
|
if (result != null)
|
||||||
|
{
|
||||||
|
Assert.AreEqual(StatusCodes.Status200OK, result.Status);
|
||||||
|
Assert.IsInstanceOfType(result.Data, typeof(UserDto));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Assert.Fail($"Result value is null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Assert.Fail($"Response value is null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public async Task UpdateUserAsync_UserNotFound()
|
||||||
|
{
|
||||||
|
if (_userController == null)
|
||||||
|
{
|
||||||
|
Assert.Fail($"_userController is null");
|
||||||
|
}
|
||||||
|
|
||||||
|
DatabaseSqlServer.User user = null;
|
||||||
|
|
||||||
|
UpdateUserRequest request = new UpdateUserRequest()
|
||||||
|
{
|
||||||
|
Data = new UpdateUserRequestData()
|
||||||
|
{
|
||||||
|
FirstName = "NewFirstName",
|
||||||
|
LastName = "NewLastName"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
_userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny<string>())).ReturnsAsync(user);
|
||||||
|
|
||||||
|
NotFoundResult response = (NotFoundResult)await _userController.UpdateUserAsync(request, Guid.NewGuid().ToString());
|
||||||
|
|
||||||
|
if (response != null)
|
||||||
|
{
|
||||||
|
Assert.AreEqual(StatusCodes.Status404NotFound, response.StatusCode);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Assert.Fail($"Response is null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public async Task UpdateUserAsync_Exception()
|
||||||
|
{
|
||||||
|
if (_userController == null)
|
||||||
|
{
|
||||||
|
Assert.Fail($"_userController is null");
|
||||||
|
}
|
||||||
|
|
||||||
|
DatabaseSqlServer.User user = ModelsInit.CreateUser();
|
||||||
|
|
||||||
|
UpdateUserRequest request = new UpdateUserRequest()
|
||||||
|
{
|
||||||
|
Data = new UpdateUserRequestData()
|
||||||
|
{
|
||||||
|
FirstName = "NewFirstName",
|
||||||
|
LastName = "NewLastName"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
_userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny<string>())).ReturnsAsync(user);
|
||||||
|
_userServiceMock?.Setup(s => s.UpdateUserAsync(
|
||||||
|
It.IsAny<UpdateUserRequestData>(), It.IsAny<User>()
|
||||||
|
)).ThrowsAsync(new Exception("Unexpected error"));
|
||||||
|
|
||||||
|
ObjectResult response = (ObjectResult)await _userController.UpdateUserAsync(request, user.Guid);
|
||||||
|
Assert.IsInstanceOfType(response, typeof(ObjectResult));
|
||||||
|
|
||||||
|
if (response != null && response.Value != null)
|
||||||
|
{
|
||||||
|
Assert.AreEqual(StatusCodes.Status500InternalServerError, response.StatusCode);
|
||||||
|
|
||||||
|
var result = (BaseResponse<object>)response.Value;
|
||||||
|
if (result != null)
|
||||||
|
{
|
||||||
|
Assert.AreEqual(StatusCodes.Status500InternalServerError, result.Status);
|
||||||
|
Assert.AreEqual("Something went wrong. Unexpected error", result.Message);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Assert.Fail($"Result value is null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Assert.Fail($"Response is null");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user