public void WhenCreated_ThenNewTransactionIsStarted() { using (var tx = new DTCTransactionScope(null, new TransactionOptions(), this.sesstionFactoryMock.Object)) { Transaction.Current.Should().NotBeNull(); tx.Complete(); } }
public void WhenCompleted_ThenTransactionShouldBeCommited() { var transactionStatus = TransactionStatus.InDoubt; using (var tx = new DTCTransactionScope(null, new TransactionOptions(), this.sesstionFactoryMock.Object)) { Transaction.Current.TransactionCompleted += (s, e) => transactionStatus = e.Transaction.TransactionInformation.Status; tx.Complete(); } transactionStatus.Should().Be(TransactionStatus.Committed); }
public void WhenDisposedButNotCommited_ThenTransactionShouldBeAbortedAndExceptionThrown() { var transactionStatus = TransactionStatus.InDoubt; Action action = () => { using (var tx = new DTCTransactionScope(null, new TransactionOptions(), this.sesstionFactoryMock.Object)) { Transaction.Current.TransactionCompleted += (s, e) => transactionStatus = e.Transaction.TransactionInformation.Status; } }; action.ShouldThrow<Exception>(); transactionStatus.Should().Be(TransactionStatus.Aborted); }