You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
using System;using System.Threading.Tasks;using Microsoft.Extensions.DependencyInjection;using Volo.Abp;using Volo.Abp.Modularity;using Volo.Abp.Uow;using Volo.Abp.Testing;
namespace Shentun.Peis;
/* All test classes are derived from this class, directly or indirectly. */public abstract class PeisTestBase<TStartupModule> : AbpIntegratedTest<TStartupModule> where TStartupModule : IAbpModule{ protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) { options.UseAutofac(); }
protected virtual Task WithUnitOfWorkAsync(Func<Task> func) { return WithUnitOfWorkAsync(new AbpUnitOfWorkOptions(), func); }
protected virtual async Task WithUnitOfWorkAsync(AbpUnitOfWorkOptions options, Func<Task> action) { using (var scope = ServiceProvider.CreateScope()) { var uowManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
using (var uow = uowManager.Begin(options)) { await action();
await uow.CompleteAsync(); } } }
protected virtual Task<TResult> WithUnitOfWorkAsync<TResult>(Func<Task<TResult>> func) { return WithUnitOfWorkAsync(new AbpUnitOfWorkOptions(), func); }
protected virtual async Task<TResult> WithUnitOfWorkAsync<TResult>(AbpUnitOfWorkOptions options, Func<Task<TResult>> func) { using (var scope = ServiceProvider.CreateScope()) { var uowManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
using (var uow = uowManager.Begin(options)) { var result = await func(); await uow.CompleteAsync(); return result; } } }}
|