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()); }