58 lines
2.1 KiB
C#
58 lines
2.1 KiB
C#
using AyCode.Database.DataLayers.Users;
|
|
using AyCode.Database.DbContexts;
|
|
using AyCode.Database.DbContexts.Users;
|
|
using AyCode.Interfaces.Profiles;
|
|
using AyCode.Interfaces.Users;
|
|
|
|
namespace AyCode.Database.Tests.Users
|
|
{
|
|
public abstract class AcUserDalTestBase<TDal, TDbContext, TUser, TProfile, TUserToken> : AcDatabaseTestModelBase<TDal, TDbContext>
|
|
where TDal : AcUserDalBase<TDbContext, TUser, TProfile, TUserToken>
|
|
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken>
|
|
where TUser : class, IUserBase<TProfile>
|
|
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.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.AreEqual(email, user.EmailAddress);
|
|
}
|
|
|
|
[TestMethod]
|
|
[DataRow("test@tiam.hu")]
|
|
public virtual 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);
|
|
}
|
|
}
|
|
}
|