using CMS.Plugin.PipeLineLems.Domain;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
using Volo.Abp.Autofac;
using Volo.Abp.Data;
using Volo.Abp.Modularity;
using Volo.Abp.Threading;
using Volo.Abp.Uow;
namespace CMS.Plugin.PipeLineLems.TestBase
{
///
/// MyProjectName TestBaseModule
///
[DependsOn(
typeof(AbpAutofacModule),
typeof(AbpTestBaseModule),
typeof(CMSPluginDomainModule))]
public class PipeLineLemsTestBaseModule : AbpModule
{
///
/// PreConfigureServices
///
/// ServiceConfigurationContext
public override void PreConfigureServices(ServiceConfigurationContext context)
{
}
///
/// ConfigureServices
///
/// ServiceConfigurationContext
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAlwaysAllowAuthorization();
Configure(options =>
{
options.TransactionBehavior = UnitOfWorkTransactionBehavior.Enabled;
});
}
///
/// OnApplicationInitialization
///
/// ApplicationInitializationContext
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
SeedTestData(context);
}
private static void SeedTestData(ApplicationInitializationContext context)
{
AsyncHelper.RunSync(async () =>
{
using (var scope = context.ServiceProvider.CreateScope())
{
var dataSeeder = scope.ServiceProvider.GetRequiredService();
await dataSeeder.SeedAsync();
}
});
}
}
}