public IDisposable SeedData(SuiteDbContext data) { var persons = Fixture.Build <Person>().FromFactory(() => { var p = new Person("Name"); p.RegisterAddress(Fixture.Create <Address>()); return(p); }).CreateMany <Person>(100).ToList(); data.Set <Person>().AddRange(persons); data.SaveChanges(); return(new CleanupResource(data)); }
public void Initialise(HttpConfiguration config) { var builder = new ContainerBuilder(); //Controller builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); //builder.RegisterControllers(Assembly.GetExecutingAssembly()); //builder.RegisterFilterProvider(); builder.Register <SuiteDbContext>(b => { var context = new SuiteDbContext(); return(context); }).InstancePerLifetimeScope(); //Repository builder.RegisterAssemblyTypes(Assembly.Load("SuiteSolution.Core")). Where(_ => _.Name.EndsWith("Repository")). AsImplementedInterfaces(). InstancePerLifetimeScope(); builder.RegisterGeneric(typeof(GenericRepository <>)).As(typeof(IGenericRepository <>)).InstancePerDependency(); //Service builder.RegisterAssemblyTypes(Assembly.Load("SuiteSolution.Service")). Where(_ => _.Name.EndsWith("Service")). AsImplementedInterfaces(). InstancePerLifetimeScope(); builder.RegisterGeneric(typeof(Service <,>)).As(typeof(IService <>)).InstancePerDependency(); //builder.RegisterType<ProductExportService>().As<IProductExportService>().InstancePerRequest(); //builder.RegisterType<TestService>().As<ITestService>().InstancePerRequest(); var container = builder.Build(); var resolver = new AutofacWebApiDependencyResolver(container); // Set the dependency resolver for Web API. GlobalConfiguration.Configuration.DependencyResolver = resolver; // Set MVC DI resolver to use our Autofac container DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); //config.DependencyResolver = resolver; }
protected TestWithSqlite(ITestOutputHelper testOutputHelper) { _testOutputHelper = testOutputHelper; _fixture = new Fixture(); _fixture.Behaviors.Add(new OmitOnRecursionBehavior()); _fixture.Customize(new AutoMoqCustomization()); var optionsBuilder = new DbContextOptionsBuilder <SuiteDbContext>(); _connection = new SqliteConnection(_connectionString); _connection.Open(); var dbContextOptions = optionsBuilder.UseSqlite(_connection) .UseLoggerFactory(new LoggerFactory(new[] { new UnitTestLoggerProvider(_testOutputHelper) })) .EnableSensitiveDataLogging() .Options; SuiteDbContext = new SuiteDbContext(dbContextOptions); SuiteDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; SuiteDbContext.ChangeTracker.AutoDetectChangesEnabled = false; SuiteDbContext.Database.EnsureCreated(); }
public CleanupResource(SuiteDbContext dbContext) { _dbContext = dbContext; }