diff --git a/MainProject.Tests/Services/UserService_Tests.cs b/MainProject.Tests/Services/UserService_Tests.cs new file mode 100644 index 0000000..0aeff48 --- /dev/null +++ b/MainProject.Tests/Services/UserService_Tests.cs @@ -0,0 +1,77 @@ +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; + + + +namespace BasicDotnetTemplate.MainProject.Tests; + +[TestClass] +public class UserService_Tests +{ + [TestMethod] + public void Inizialize() + { + try + { + var userService = TestUtils.CreateUserService(); + if(userService != null) + { + Assert.IsInstanceOfType(userService, typeof(UserService)); + } + else + { + Assert.Fail($"UserService is null"); + } + } + catch (Exception ex) + { + Console.WriteLine(ex.InnerException); + Assert.Fail($"An exception was thrown: {ex.Message}"); + } + } + + [TestMethod] + public async Task GetUsers() + { + try + { + var userService = TestUtils.CreateUserService(); + var testString = "test"; + if(userService != null) + { + var user = await userService.GetUserByUsernameAndPassword(testString, testString); + Assert.IsTrue(user == null); + } + else + { + Assert.Fail($"UserService is null"); + } + } + catch (Exception ex) + { + Console.WriteLine(ex.InnerException); + Assert.Fail($"An exception was thrown: {ex.Message}"); + } + } + + +} + + + + diff --git a/MainProject.Tests/TestsUtils/TestUtils.cs b/MainProject.Tests/TestsUtils/TestUtils.cs index e792255..73b3406 100644 --- a/MainProject.Tests/TestsUtils/TestUtils.cs +++ b/MainProject.Tests/TestsUtils/TestUtils.cs @@ -52,6 +52,15 @@ public static class TestUtils var userServiceMock = new Mock(); return new AuthService(configuration, sqlServerContext, userServiceMock.Object); } + + public static UserService CreateUserService() + { + IConfiguration configuration = CreateConfiguration(); + var optionsBuilder = new DbContextOptionsBuilder(); + optionsBuilder.UseSqlServer("test"); + SqlServerContext sqlServerContext = new SqlServerContext(optionsBuilder.Options); + return new UserService(configuration, sqlServerContext); + } } diff --git a/MainProject/Services/UserService.cs b/MainProject/Services/UserService.cs index 4061dbc..49679f5 100644 --- a/MainProject/Services/UserService.cs +++ b/MainProject/Services/UserService.cs @@ -27,9 +27,7 @@ public class UserService : BaseService, IUserService private IQueryable GetUserByUsername(string username) { - return this._sqlServerContext.Users - .Where(x => - !x.IsDeleted && + return this.GetUsers().Where(x => String.Equals(x.Username, username, StringComparison.CurrentCultureIgnoreCase) ); }