using AyCode.Database.DataLayers.Users; using AyCode.Database.DbContexts; using AyCode.Database.DbContexts.Users; using AyCode.Interfaces.Users; namespace AyCode.Database.Tests.Users { public abstract class AcUserDalTestBase : AcDatabaseTestModelBase where TDal : AcUserDalBase where TDbContext : AcDbContextBase, IAcUserDbContextBase where TUser : class, IUserBase where TUserToken : class, IUserTokenBase { [TestMethod] [DataRow("540271F6-C604-4C16-8160-D5A7CAFEDF00")] public void GetUserById_ReturnsUser_WhenUserExists(string userIdString) { var userId = Guid.Parse(userIdString); var user = Dal.GetUserById(userId); Assert.IsNotNull(user, "User is null"); Assert.AreEqual(userId, user.Id); } [TestMethod] [DataRow("test@tiam.hu")] public void GetUserByEmail_ReturnsUser_WhenUserExists(string email) { var user = Dal.GetUserByEmail(email); Assert.IsNotNull(user, "User is null"); Assert.AreEqual(email, user.EmailAddress); } [TestMethod] [DataRow("test@tiam.hu")] public async Task GetUserByEmailAsync_ReturnsUser_WhenUserExists(string email) { TUser? user = null; user = await Dal.GetUserByEmailAsync(email).ConfigureAwait(false); //user = await Dal.SessionAsync(ctx => ctx.Users.FirstOrDefault(x => x.EmailAddress == email)).ConfigureAwait(false); //await using (var ctx = Dal.Context) //{ // user = await ctx.Users.FirstOrDefaultAsync(x => x.EmailAddress == email).ConfigureAwait(false); //} Assert.IsNotNull(user, "User is null"); Assert.AreEqual(email, user.EmailAddress); } } }