BMC/BCS.BMC/test/BCS.BMC.Tests/DependencyInjection/ServiceCollectionRegistrar.cs

36 lines
1.1 KiB
C#
Raw Normal View History

2022-10-10 20:44:01 +05:30
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()
);
}
}
}