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(); } }); } } }