private void DoWithData(Action <ISession, DbConfigurationProvider> action)
        {
            using (var childContainer = _container.CreateChildContainer())
            {
                var sessionFactory = childContainer.Resolve <ISessionFactory>();

                using (var session = sessionFactory.OpenSession())
                    using (var transaction = session.BeginTransaction())
                    {
                        var sessionDecorator = new SessionDecorator(session)
                        {
                            DoNotDispose = true
                        };
                        var sessionFactoryMock = new Mock <ISessionFactory>();
                        sessionFactoryMock.Setup(i => i.OpenSession()).Returns(sessionDecorator);

                        PopulateTestData(session);

                        session.Flush();

                        // засыпаем на 2 секунды, чтобы детектить изменения
                        Thread.Sleep(TimeSpan.FromSeconds(2));

                        var provider = new DbConfigurationProvider(sessionFactoryMock.Object);

                        action(session, provider);

                        transaction.Rollback();
                    }
            }
        }
Ejemplo n.º 2
0
 public Handler(DbConfigurationProvider configurationProvider, KatalyeContext context)
 {
     _configurationProvider = configurationProvider;
     _context = context;
 }
Ejemplo n.º 3
0
        public void Setup()
        {
            _taxRateProvider = new Mock <IProvideTaxRateFromDatabase>();

            _provider = new DbConfigurationProvider(_taxRateProvider.Object);
        }