public void Uses_interception() { var transactionMock = new Mock <DbTransaction>(); transactionMock.Protected().Setup <DbConnection>("DbConnection").Returns(new Mock <DbConnection>().Object); var transaction = new EntityTransaction(new EntityConnection(), transactionMock.Object); var transactionInterceptorMock = new Mock <IDbTransactionInterceptor>(); DbInterception.Add(transactionInterceptorMock.Object); try { transaction.Commit(); } finally { DbInterception.Remove(transactionInterceptorMock.Object); } transactionInterceptorMock.Verify( m => m.Committing(It.IsAny <DbTransaction>(), It.IsAny <DbTransactionInterceptionContext>()), Times.Once()); transactionInterceptorMock.Verify( m => m.Committed(It.IsAny <DbTransaction>(), It.IsAny <DbTransactionInterceptionContext>()), Times.Once()); transactionMock.Verify(m => m.Commit(), Times.Once()); }
public void Commit_wraps_exceptions() { var transactionMock = new Mock<DbTransaction>(); transactionMock.Setup(m => m.Commit()).Throws<NotImplementedException>(); var transaction = new EntityTransaction(new EntityConnection(), transactionMock.Object); Assert.Throws<EntityException>(() => transaction.Commit()); }
public void Commit_wraps_exceptions() { var transactionMock = new Mock <DbTransaction>(); transactionMock.Setup(m => m.Commit()).Throws <NotImplementedException>(); var transaction = new EntityTransaction(new EntityConnection(), transactionMock.Object); Assert.Throws <EntityException>(() => transaction.Commit()); }
public void Commit_does_not_wrap_CommitFailedException() { var transactionMock = new Mock <DbTransaction>(); transactionMock.Setup(m => m.Commit()).Throws <CommitFailedException>(); transactionMock.Protected().Setup <DbConnection>("DbConnection").Returns(new Mock <DbConnection>().Object); var transaction = new EntityTransaction(new EntityConnection(), transactionMock.Object); Assert.Throws <CommitFailedException>(() => transaction.Commit()); }
public void Uses_interception() { var transactionMock = new Mock<DbTransaction>(); transactionMock.Protected().Setup<DbConnection>("DbConnection").Returns(new Mock<DbConnection>().Object); var transaction = new EntityTransaction(new EntityConnection(), transactionMock.Object); var transactionInterceptorMock = new Mock<IDbTransactionInterceptor>(); DbInterception.Add(transactionInterceptorMock.Object); try { transaction.Commit(); } finally { DbInterception.Remove(transactionInterceptorMock.Object); } transactionInterceptorMock.Verify( m => m.Committing(It.IsAny<DbTransaction>(), It.IsAny<DbTransactionInterceptionContext>()), Times.Once()); transactionInterceptorMock.Verify( m => m.Committed(It.IsAny<DbTransaction>(), It.IsAny<DbTransactionInterceptionContext>()), Times.Once()); transactionMock.Verify(m => m.Commit(), Times.Once()); }
public void Commit_does_not_wrap_CommitFailedException() { var transactionMock = new Mock<DbTransaction>(); transactionMock.Setup(m => m.Commit()).Throws<CommitFailedException>(); transactionMock.Protected().Setup<DbConnection>("DbConnection").Returns(new Mock<DbConnection>().Object); var transaction = new EntityTransaction(new EntityConnection(), transactionMock.Object); Assert.Throws<CommitFailedException>(() => transaction.Commit()); }