using System;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Castle.MicroKernel.Registration;
|
|
using Castle.Windsor.MsDependencyInjection;
|
|
using Abp.Dependency;
|
|
using BCS.BMC.EntityFrameworkCore;
|
|
using BCS.BMC.Identity;
|
|
|
|
namespace BCS.BMC.Tests.DependencyInjection
|
|
{
|
|
public static class ServiceCollectionRegistrar
|
|
{
|
|
public static void Register(IIocManager iocManager)
|
|
{
|
|
var services = new ServiceCollection();
|
|
|
|
IdentityRegistrar.Register(services);
|
|
|
|
services.AddEntityFrameworkInMemoryDatabase();
|
|
|
|
var serviceProvider = WindsorRegistrationHelper.CreateServiceProvider(iocManager.IocContainer, services);
|
|
|
|
var builder = new DbContextOptionsBuilder<BMCDbContext>();
|
|
builder.UseInMemoryDatabase(Guid.NewGuid().ToString()).UseInternalServiceProvider(serviceProvider);
|
|
|
|
iocManager.IocContainer.Register(
|
|
Component
|
|
.For<DbContextOptions<BMCDbContext>>()
|
|
.Instance(builder.Options)
|
|
.LifestyleSingleton()
|
|
);
|
|
}
|
|
}
|
|
}
|