From f27f7733f8707c127301002ec1c64c9b85a4a4d0 Mon Sep 17 00:00:00 2001 From: csimonapastore Date: Mon, 17 Mar 2025 23:52:02 +0100 Subject: [PATCH] Fixing issues --- .../Controllers/UserController_Tests.cs | 114 +++++++++++++++--- .../Services/RoleService_Tests.cs | 24 +--- .../Services/UserService_Tests.cs | 26 +--- 3 files changed, 103 insertions(+), 61 deletions(-) diff --git a/MainProject.Tests/Controllers/UserController_Tests.cs b/MainProject.Tests/Controllers/UserController_Tests.cs index c9f8862..4dfd820 100644 --- a/MainProject.Tests/Controllers/UserController_Tests.cs +++ b/MainProject.Tests/Controllers/UserController_Tests.cs @@ -43,7 +43,7 @@ public class UserControllerTests IConfiguration configuration = TestUtils.CreateConfiguration(); _userServiceMock = new Mock(); _roleServiceMock = new Mock(); - _userController = new UserController(configuration, _userServiceMock.Object, _roleServiceMock.Object); + _userController = new UserController(configuration, _userServiceMock?.Object, _roleServiceMock.Object); } [TestMethod] @@ -69,10 +69,14 @@ public class UserControllerTests [TestMethod] public async Task GetUserByGuidAsync_Should_Return_200_When_Successful() { + 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())).ReturnsAsync(user); + _userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny())).ReturnsAsync(user); ObjectResult response = (ObjectResult)(await _userController.GetUserByGuidAsync(guid)); if (response != null && response.Value != null) { @@ -98,10 +102,15 @@ public class UserControllerTests [TestMethod] public async Task GetUserByGuidAsync_AuthenticateRequestDataNull() { + if (_userController == null) + { + Assert.Fail($"_userController is null"); + } + var guid = String.Empty; DatabaseSqlServer.User? user = null; - _userServiceMock.Setup(s => s.GetUserByGuidAsync(It.IsAny())).ReturnsAsync(user); + _userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny())).ReturnsAsync(user); ObjectResult response = (ObjectResult)(await _userController.GetUserByGuidAsync(guid)); if (response != null && response.Value != null) @@ -128,9 +137,14 @@ public class UserControllerTests [TestMethod] public async Task GetUserByGuidAsync_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())).ReturnsAsync(user); + _userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny())).ReturnsAsync(user); NotFoundResult response = (NotFoundResult)(await _userController.GetUserByGuidAsync(guid)); Assert.IsInstanceOfType(response, typeof(NotFoundResult)); @@ -148,9 +162,14 @@ public class UserControllerTests [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())).ReturnsAsync(user); + _userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny())).ReturnsAsync(user); _userController.ModelState.AddModelError("Data", "Invalid data"); ObjectResult response = (ObjectResult)(await _userController.GetUserByGuidAsync(guid)); @@ -180,8 +199,13 @@ public class UserControllerTests [TestMethod] public async Task GetUserByGuidAsync_Exception() { + if (_userController == null) + { + Assert.Fail($"_userController is null"); + } + var guid = Guid.NewGuid().ToString(); - _userServiceMock.Setup(s => s.GetUserByGuidAsync(It.IsAny())).ThrowsAsync(new Exception("Unexpected error")); + _userServiceMock?.Setup(s => s.GetUserByGuidAsync(It.IsAny())).ThrowsAsync(new Exception("Unexpected error")); ObjectResult response = (ObjectResult)(await _userController.GetUserByGuidAsync(guid)); Assert.IsInstanceOfType(response, typeof(ObjectResult)); @@ -210,6 +234,16 @@ public class UserControllerTests [TestMethod] public async Task CreateUserAsync_Should_Return_200_When_Successful() { + if (_userController == null) + { + Assert.Fail($"_userController is null"); + } + + if (_roleServiceMock == null) + { + Assert.Fail($"_roleServiceMock is null"); + } + DatabaseSqlServer.User user = ModelsInit.CreateUser(); DatabaseSqlServer.Role role = ModelsInit.CreateRole(); @@ -224,9 +258,9 @@ public class UserControllerTests } }; - _userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(true); + _userServiceMock?.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(true); _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); ObjectResult response = (ObjectResult)(await _userController.CreateUserAsync(request)); if (response != null && response.Value != null) @@ -253,6 +287,11 @@ public class UserControllerTests [TestMethod] public async Task CreateUserAsync_InvalidEmail() { + if (_userController == null) + { + Assert.Fail($"_userController is null"); + } + DatabaseSqlServer.User user = ModelsInit.CreateUser(); CreateUserRequest request = new CreateUserRequest() @@ -266,7 +305,7 @@ public class UserControllerTests } }; - _userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(false); + _userServiceMock?.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(false); ObjectResult response = (ObjectResult)(await _userController.CreateUserAsync(request)); @@ -294,6 +333,11 @@ public class UserControllerTests [TestMethod] public async Task CreateUserAsync_RoleNull() { + if (_userController == null) + { + Assert.Fail($"_userController is null"); + } + DatabaseSqlServer.User user = ModelsInit.CreateUser(); CreateUserRequest request = new CreateUserRequest() @@ -307,9 +351,9 @@ public class UserControllerTests } }; - _userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(true); + _userServiceMock?.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(true); - _userServiceMock.Setup(s => s.CreateUserAsync( + _userServiceMock?.Setup(s => s.CreateUserAsync( It.IsAny(), It.IsAny() )).ReturnsAsync(user); @@ -340,6 +384,11 @@ public class UserControllerTests [TestMethod] public async Task CreateUserAsync_CreateUserRequestDataNull() { + if (_userController == null) + { + Assert.Fail($"_userController is null"); + } + DatabaseSqlServer.User user = ModelsInit.CreateUser(); CreateUserRequest request = new CreateUserRequest() @@ -347,9 +396,9 @@ public class UserControllerTests Data = null }; - _userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(true); + _userServiceMock?.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(true); - _userServiceMock.Setup(s => s.CreateUserAsync( + _userServiceMock?.Setup(s => s.CreateUserAsync( It.IsAny(), It.IsAny() )).ReturnsAsync(user); @@ -380,6 +429,16 @@ public class UserControllerTests [TestMethod] public async Task CreateUserAsync_NotCreated() { + if (_userController == null) + { + Assert.Fail($"_userController is null"); + } + + if (_roleServiceMock == null) + { + Assert.Fail($"_roleServiceMock is null"); + } + DatabaseSqlServer.User user = ModelsInit.CreateUser(); DatabaseSqlServer.Role role = ModelsInit.CreateRole(); DatabaseSqlServer.User? expectedUser = null; @@ -395,10 +454,10 @@ public class UserControllerTests } }; - _userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(true); + _userServiceMock?.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(true); _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)); if (response != null && response.Value != null) @@ -425,6 +484,11 @@ public class UserControllerTests [TestMethod] public async Task CreateUserAsync_ModelInvalid() { + if (_userController == null) + { + Assert.Fail($"_userController is null"); + } + DatabaseSqlServer.User user = ModelsInit.CreateUser(); CreateUserRequest request = new CreateUserRequest() @@ -438,9 +502,9 @@ public class UserControllerTests } }; - _userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(true); + _userServiceMock?.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(true); - _userServiceMock.Setup(s => s.CreateUserAsync( + _userServiceMock?.Setup(s => s.CreateUserAsync( It.IsAny(), It.IsAny() )).ReturnsAsync(user); @@ -473,6 +537,16 @@ public class UserControllerTests [TestMethod] public async Task CreateUserAsync_Exception() { + if (_userController == null) + { + Assert.Fail($"_userController is null"); + } + + if (_roleServiceMock == null) + { + Assert.Fail($"_roleServiceMock is null"); + } + DatabaseSqlServer.User user = ModelsInit.CreateUser(); DatabaseSqlServer.Role role = ModelsInit.CreateRole(); @@ -487,12 +561,12 @@ public class UserControllerTests } }; - _userServiceMock.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(true); + _userServiceMock?.Setup(s => s.CheckIfEmailIsValid(It.IsAny(), It.IsAny())).ReturnsAsync(true); _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); - _userServiceMock.Setup(s => s.CreateUserAsync( + _userServiceMock?.Setup(s => s.CreateUserAsync( It.IsAny(), It.IsAny() )).ThrowsAsync(new Exception("Unexpected error")); diff --git a/MainProject.Tests/Services/RoleService_Tests.cs b/MainProject.Tests/Services/RoleService_Tests.cs index ee98675..a0f6c7b 100644 --- a/MainProject.Tests/Services/RoleService_Tests.cs +++ b/MainProject.Tests/Services/RoleService_Tests.cs @@ -1,23 +1,7 @@ -using BasicDotnetTemplate.MainProject.Models.Settings; -using Microsoft.AspNetCore.Builder; -using Microsoft.EntityFrameworkCore; -using BasicDotnetTemplate.MainProject.Utils; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Configuration; -using Moq; -using Newtonsoft.Json; -using BasicDotnetTemplate.MainProject.Core.Database; + using BasicDotnetTemplate.MainProject.Services; -using BasicDotnetTemplate.MainProject.Models.Api.Response; -using BasicDotnetTemplate.MainProject.Models.Api.Request.Auth; -using BasicDotnetTemplate.MainProject.Models.Api.Data.Auth; -using BasicDotnetTemplate.MainProject.Models.Api.Common.Role; -using BasicDotnetTemplate.MainProject.Models.Api.Common.Role; -using BasicDotnetTemplate.MainProject.Models.Api.Response.Auth; -using DatabaseSqlServer = BasicDotnetTemplate.MainProject.Models.Database.SqlServer; using BasicDotnetTemplate.MainProject.Models.Api.Data.Role; using BasicDotnetTemplate.MainProject.Models.Database.SqlServer; -using BasicDotnetTemplate.MainProject.Models.Api.Data.Role; @@ -26,9 +10,9 @@ namespace BasicDotnetTemplate.MainProject.Tests; [TestClass] public class RoleService_Tests { - protected static Role? _expectedRole; - protected static Role? _role; - protected static RoleService? _roleService; + private static Role? _expectedRole; + private static Role? _role; + private static RoleService? _roleService; [TestInitialize] public void Setup() diff --git a/MainProject.Tests/Services/UserService_Tests.cs b/MainProject.Tests/Services/UserService_Tests.cs index a1cd018..53c340e 100644 --- a/MainProject.Tests/Services/UserService_Tests.cs +++ b/MainProject.Tests/Services/UserService_Tests.cs @@ -1,20 +1,4 @@ -using BasicDotnetTemplate.MainProject.Models.Settings; -using Microsoft.AspNetCore.Builder; -using Microsoft.EntityFrameworkCore; -using BasicDotnetTemplate.MainProject.Utils; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Configuration; -using Moq; -using Newtonsoft.Json; -using BasicDotnetTemplate.MainProject.Core.Database; using BasicDotnetTemplate.MainProject.Services; -using BasicDotnetTemplate.MainProject.Models.Api.Response; -using BasicDotnetTemplate.MainProject.Models.Api.Request.Auth; -using BasicDotnetTemplate.MainProject.Models.Api.Data.Auth; -using BasicDotnetTemplate.MainProject.Models.Api.Common.User; -using BasicDotnetTemplate.MainProject.Models.Api.Common.Role; -using BasicDotnetTemplate.MainProject.Models.Api.Response.Auth; -using DatabaseSqlServer = BasicDotnetTemplate.MainProject.Models.Database.SqlServer; using BasicDotnetTemplate.MainProject.Models.Api.Data.User; using BasicDotnetTemplate.MainProject.Models.Database.SqlServer; @@ -25,11 +9,11 @@ namespace BasicDotnetTemplate.MainProject.Tests; [TestClass] public class UserService_Tests { - protected static User? _expectedUser; - protected static User? _user; - protected static Role? _role; - protected static UserService? _userService; - protected static RoleService? _roleService; + private static User? _expectedUser; + private static User? _user; + private static Role? _role; + private static UserService? _userService; + private static RoleService? _roleService; [TestInitialize] public void Setup()