public Task ShouldWrapInnerBehaviorsIfNoAmbientExists() { var behavior = new TransactionScopeUnitOfWorkBehavior(new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted }); return behavior.Invoke(null, ctx => { Assert.NotNull(Transaction.Current); return TaskEx.CompletedTask; }); }
public Task ShouldWrapInnerBehaviorsIfNoAmbientExists() { var behavior = new TransactionScopeUnitOfWorkBehavior(new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted }); return(behavior.Invoke(null, ctx => { Assert.NotNull(Transaction.Current); return Task.CompletedTask; })); }
public void ShouldBlowUpIfExistingScopeExists() { var behavior = new TransactionScopeUnitOfWorkBehavior(new TransactionOptions()); Assert.That(async() => { using (new TransactionScope(TransactionScopeOption.Required, TransactionScopeAsyncFlowOption.Enabled)) { await behavior.Invoke(null, ctx => Task.CompletedTask); } }, Throws.InstanceOf <Exception>().And.Message.Contains("Ambient transaction detected. The transaction scope unit of work is not supported when there already is a scope present.")); }
public void ShouldBlowUpIfExistingScopeExists() { var behavior = new TransactionScopeUnitOfWorkBehavior(new TransactionOptions()); Assert.That(async () => { using (new TransactionScope(TransactionScopeOption.Required, TransactionScopeAsyncFlowOption.Enabled)) { await behavior.Invoke(null, ctx => TaskEx.CompletedTask); } }, Throws.InstanceOf<Exception>().And.Message.Contains("Ambient transaction detected. The transaction scope unit of work is not supported when there already is a scope present.")); }