From ede481f8589ade097eb6ed641fe9fbdf0e3ee850 Mon Sep 17 00:00:00 2001 From: "jozsef.b@aycode.com" <9Rj@D}fVwBaN> Date: Tue, 19 Dec 2023 11:41:04 +0100 Subject: [PATCH] UserModels, Tests improvements, fixes --- AyCode.Database.Tests/Users/AcUserDalTestBase.cs | 10 ++++++---- AyCode.Models/Users/AcUserModelDtoBase.cs | 14 +++----------- AyCode.Models/Users/AcUserModelDtoDetailBase.cs | 2 +- AyCode.Models/Users/AcUserModelDtoMinBase.cs | 12 +++++++++++- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/AyCode.Database.Tests/Users/AcUserDalTestBase.cs b/AyCode.Database.Tests/Users/AcUserDalTestBase.cs index 0552417..287ee05 100644 --- a/AyCode.Database.Tests/Users/AcUserDalTestBase.cs +++ b/AyCode.Database.Tests/Users/AcUserDalTestBase.cs @@ -12,31 +12,31 @@ namespace AyCode.Database.Tests.Users where TUser : class, IUserBase where TProfile : class, IAcProfileBase where TUserToken : class, IUserTokenBase - { [TestMethod] - [DataRow("540271F6-C604-4C16-8160-D5A7CAFEDF00")] public virtual void GetUserById_ReturnsUser_WhenUserExists(string userIdString) { var userId = Guid.Parse(userIdString); var user = Dal.GetUserById(userId); Assert.IsNotNull(user, "User is null"); + Assert.IsNotNull(user.Profile, "Profile is null"); + Assert.AreEqual(userId, user.Id); } [TestMethod] - [DataRow("test@tiam.hu")] public virtual void GetUserByEmail_ReturnsUser_WhenUserExists(string email) { var user = Dal.GetUserByEmail(email); Assert.IsNotNull(user, "User is null"); + Assert.IsNotNull(user.Profile, "Profile is null"); + Assert.AreEqual(email, user.EmailAddress); } [TestMethod] - [DataRow("test@tiam.hu")] public virtual async Task GetUserByEmailAsync_ReturnsUser_WhenUserExists(string email) { TUser? user = null; @@ -51,6 +51,8 @@ namespace AyCode.Database.Tests.Users //} Assert.IsNotNull(user, "User is null"); + Assert.IsNotNull(user.Profile, "Profile is null"); + Assert.AreEqual(email, user.EmailAddress); } } diff --git a/AyCode.Models/Users/AcUserModelDtoBase.cs b/AyCode.Models/Users/AcUserModelDtoBase.cs index 0f09824..0202540 100644 --- a/AyCode.Models/Users/AcUserModelDtoBase.cs +++ b/AyCode.Models/Users/AcUserModelDtoBase.cs @@ -5,22 +5,14 @@ using AyCode.Interfaces.Users.Dtos; namespace AyCode.Models.Users; -public abstract class AcUserModelDtoBase : AcUserModelDtoMinBase +public abstract class AcUserModelDtoBase : AcUserModelDtoMinBase where TUserDto : class, IAcUserDtoBase where TProfile : class, IAcProfileBase where TProfileDto : class, IAcProfileDtoBase { - public TProfileDto Profile { get; set; } - protected AcUserModelDtoBase() {} - protected AcUserModelDtoBase(IUserBase user, TProfile? profile) : base(user) + protected AcUserModelDtoBase(IUserBase user) : base(user) { - if (profile == null) return; - - Profile = Activator.CreateInstance(); - - Profile.Id = profile.Id; - Profile.Name = profile.Name; - Profile.OwnerId = profile.OwnerId; + //ServiceProvider... } } \ No newline at end of file diff --git a/AyCode.Models/Users/AcUserModelDtoDetailBase.cs b/AyCode.Models/Users/AcUserModelDtoDetailBase.cs index 254dba2..918ccca 100644 --- a/AyCode.Models/Users/AcUserModelDtoDetailBase.cs +++ b/AyCode.Models/Users/AcUserModelDtoDetailBase.cs @@ -11,7 +11,7 @@ public abstract class AcUserModelDtoDetailBase user, TProfile profile) : base(user, profile) + protected AcUserModelDtoDetailBase(IUserBase user) : base(user) { } } \ No newline at end of file diff --git a/AyCode.Models/Users/AcUserModelDtoMinBase.cs b/AyCode.Models/Users/AcUserModelDtoMinBase.cs index 5fe28a3..64d197f 100644 --- a/AyCode.Models/Users/AcUserModelDtoMinBase.cs +++ b/AyCode.Models/Users/AcUserModelDtoMinBase.cs @@ -1,12 +1,17 @@ using AyCode.Interfaces.Profiles; +using AyCode.Interfaces.Profiles.Dtos; using AyCode.Interfaces.Users; using AyCode.Interfaces.Users.Dtos; namespace AyCode.Models.Users; -public abstract class AcUserModelDtoMinBase : AcModelDtoBase where TUserDtoMin : IAcUserDtoMinBase where TProfile : class, IAcProfileBase +public abstract class AcUserModelDtoMinBase : AcModelDtoBase + where TUserDtoMin : class, IAcUserDtoMinBase + where TProfile : class, IAcProfileBase + where TProfileDto : class, IAcProfileDtoBase { public TUserDtoMin UserDto { get; set;} + public TProfileDto? Profile { get; set; } protected AcUserModelDtoMinBase() {} protected AcUserModelDtoMinBase(IUserBase user) : base(user.Id) @@ -15,5 +20,10 @@ public abstract class AcUserModelDtoMinBase : AcModelDtoB UserDto = Activator.CreateInstance(); UserDto.Id = user.Id; + + Profile = Activator.CreateInstance(); + Profile.Id = user.Profile.Id; + Profile.Name = user.Profile.Name; + Profile.OwnerId = user.Profile.OwnerId; } } \ No newline at end of file