public void OnActionExecuting_ResolveCurrentNHibernateSessionAndBeginNewTransaction() { var mockCurrentSession = MockRepository.GenerateMock<ISession>(); SetCurrentSessionUsingTheDependencyResolver(mockCurrentSession); var sessionFilter = new NHibernateSessionPerRequestFilter(); sessionFilter.OnActionExecuting(null); mockCurrentSession.AssertWasCalled(m=>m.BeginTransaction()); }
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()); }
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()); }