public async Task Regularly_ShouldDisposeScope(Overload overload) { var accessor = new AmbientDbContextAccessor <TestDbContext>(); Assert.Null(DbContextScope <TestDbContext> .CurrentOrDefault); Assert.Throws <InvalidOperationException>(() => accessor.CurrentDbContext); await this.Execute(overload, this.Provider, async (scope, ct) => { if (this.IsAsync(overload)) { await Task.Delay(TimeSpan.FromTicks(1)); } return(true); }); Assert.Null(DbContextScope <TestDbContext> .CurrentOrDefault); Assert.Throws <InvalidOperationException>(() => accessor.CurrentDbContext); }
public async Task Regularly_ShouldCreateScope(Overload overload) { var accessor = new AmbientDbContextAccessor <TestDbContext>(); await this.Execute(overload, this.Provider, async (scope, ct) => { Assert.NotNull(DbContextScope <TestDbContext> .CurrentOrDefault); Assert.Equal(DbContextScope <TestDbContext> .CurrentDbContext, accessor.CurrentDbContext); if (this.IsAsync(overload)) { await Task.Delay(TimeSpan.FromTicks(1)); } Assert.NotNull(DbContextScope <TestDbContext> .CurrentOrDefault); Assert.Equal(DbContextScope <TestDbContext> .CurrentDbContext, accessor.CurrentDbContext); return(true); }); }