Exemplo n.º 1
0
        public void Rollback_executes_operation_and_dispatches_to_interceptors()
        {
            var transactionMock = new Mock <DbTransaction>();

            transactionMock.Protected().Setup <DbConnection>("DbConnection").Returns(new Mock <DbConnection>().Object);
            var interceptorMock    = new Mock <IDbTransactionInterceptor>();
            var dispatcher         = new DbTransactionDispatcher();
            var internalDispatcher = dispatcher.InternalDispatcher;

            internalDispatcher.Add(interceptorMock.Object);

            var interceptionContext = new DbInterceptionContext();

            dispatcher.Rollback(transactionMock.Object, interceptionContext);

            transactionMock.Verify(m => m.Rollback(), Times.Once());
            interceptorMock.Verify(m => m.RollingBack(transactionMock.Object, It.IsAny <DbTransactionInterceptionContext>()), Times.Once());
            interceptorMock.Verify(m => m.RolledBack(transactionMock.Object, It.IsAny <DbTransactionInterceptionContext>()), Times.Once());
        }
        public void Rollback_executes_operation_and_dispatches_to_interceptors()
        {
            var transactionMock = new Mock<DbTransaction>();
            transactionMock.Protected().Setup<DbConnection>("DbConnection").Returns(new Mock<DbConnection>().Object);
            var interceptorMock = new Mock<IDbTransactionInterceptor>();
            var dispatcher = new DbTransactionDispatcher();
            var internalDispatcher = dispatcher.InternalDispatcher;
            internalDispatcher.Add(interceptorMock.Object);

            var interceptionContext = new DbInterceptionContext();
            dispatcher.Rollback(transactionMock.Object, interceptionContext);

            transactionMock.Verify(m => m.Rollback(), Times.Once());
            interceptorMock.Verify(m => m.RollingBack(transactionMock.Object, It.IsAny<DbTransactionInterceptionContext>()), Times.Once());
            interceptorMock.Verify(m => m.RolledBack(transactionMock.Object, It.IsAny<DbTransactionInterceptionContext>()), Times.Once());
        }