using System; using System.Linq; using Volo.Abp.Domain.Entities; using Volo.Abp.Identity.EntityFrameworkCore; using Volo.Abp.Modularity; namespace Volo.Abp.Identity { public abstract class AbpIdentityExtendedTestBase : AbpIdentityTestBase where TStartupModule : IAbpModule { protected virtual IdentityUser GetUser(string userName) { var user = UsingDbContext(context => context.Users.FirstOrDefault(u => u.UserName == userName)); if (user == null) { throw new EntityNotFoundException(); } return user; } protected virtual IdentityUser FindUser(string userName) { return UsingDbContext(context => context.Users.FirstOrDefault(u => u.UserName == userName)); } protected virtual void UsingDbContext(Action action) { using (var dbContext = GetRequiredService()) { action.Invoke(dbContext); } } protected virtual T UsingDbContext(Func action) { using (var dbContext = GetRequiredService()) { return action.Invoke(dbContext); } } } }