Beispiel #1
0
        public void OnActionExecuting_ResolveCurrentNHibernateSessionAndBeginNewTransaction()
        {
            var mockCurrentSession = MockRepository.GenerateMock <ISession>();

            SetCurrentSessionUsingTheDependencyResolver(mockCurrentSession);

            var sessionFilter = new NHibernateSessionPerRequestFilter();

            sessionFilter.OnActionExecuting(null);

            mockCurrentSession.AssertWasCalled(m => m.BeginTransaction());
        }
Beispiel #2
0
        public void OnResultExecuted_CommitTheCurrentTransaction()
        {
            var mockCurrentTransaction = MockRepository.GenerateMock <ITransaction>();
            var stubCurrentSession     = MockRepository.GenerateMock <ISession>();

            stubCurrentSession.Stub(s => s.Transaction).Return(mockCurrentTransaction);
            SetCurrentSessionUsingTheDependencyResolver(stubCurrentSession);

            var sessionFilter = new NHibernateSessionPerRequestFilter();

            sessionFilter.OnResultExecuted(null);

            mockCurrentTransaction.AssertWasCalled(m => m.Commit());
        }
Beispiel #3
0
        public void OnException_WhenThereIsNoActiveTransaction_DoesNotRollbackTheCurrentTransaction()
        {
            var mockCurrentTransaction = MockRepository.GenerateMock <ITransaction>();

            mockCurrentTransaction.Stub(s => s.IsActive).Return(false);

            var stubCurrentSession = MockRepository.GenerateMock <ISession>();

            stubCurrentSession.Stub(s => s.Transaction).Return(mockCurrentTransaction);
            SetCurrentSessionUsingTheDependencyResolver(stubCurrentSession);

            var sessionFilter = new NHibernateSessionPerRequestFilter();

            sessionFilter.OnException(null);

            mockCurrentTransaction.AssertWasNotCalled(m => m.Rollback());
        }