public void Create_Returns_NHUnitOfWork_Instance_When_DataContextProvider_Has_Been_Set() { NHUnitOfWorkFactory.SetSessionProvider(() => MockRepository.GenerateStub <ISession>()); var factory = new NHUnitOfWorkFactory(); var uowInstance = factory.Create(); Assert.That(uowInstance, Is.Not.Null); Assert.That(uowInstance, Is.TypeOf(typeof(NHUnitOfWork))); NHUnitOfWorkFactory.SetSessionProvider(null); }
public virtual void SetUp() { Factory = Fluently.Configure() .Database(MsSqlConfiguration .MsSql2008 .ConnectionString(x => x.FromConnectionStringWithKey("testdb"))) .Mappings(mappings => mappings.FluentMappings.AddFromAssemblyOf <NHRepositoryTests>()) .ExposeConfiguration(config => { var exportMode = ConfigurationManager.AppSettings["schemaExportMode"]; switch (exportMode) { case ("Create"): new SchemaExport(config).Create(false, true); break; case ("Update"): new SchemaUpdate(config).Execute(false, true); break; case ("DropCreate"): new SchemaExport(config).Drop(false, true); new SchemaExport(config).Create(false, true); break; } }) .BuildSessionFactory(); Store.Local.Set("NHRepositoryTests.SessionFactory", Factory); NHUnitOfWorkFactory.SetSessionProvider( () => Store.Local.Get <ISessionFactory>("NHRepositoryTests.SessionFactory").OpenSession()); var locator = MockRepository.GenerateStub <IServiceLocator>(); locator.Stub(x => x.GetInstance <IUnitOfWorkFactory>()) .Return(new NHUnitOfWorkFactory()).Repeat.Any(); ServiceLocator.SetLocatorProvider(() => locator); HibernatingRhinos.NHibernate.Profiler.Appender.NHibernateProfiler.Initialize(); }
public virtual void TearDown() { NHUnitOfWorkFactory.SetSessionProvider(null); Store.Local.Clear(); HibernatingRhinos.NHibernate.Profiler.Appender.NHibernateProfiler.Stop(); }