public async Task SingleOrDefaultAsync_NoValue() { EntityMapping.RegisterType(typeof(QueryableAsyncModel)); var connection = TestConfiguration.GetConnection(); var provider = new MongoFrameworkQueryProvider <QueryableAsyncModel>(connection); var queryable = new MongoFrameworkQueryable <QueryableAsyncModel>(provider); Assert.IsNull(await queryable.SingleOrDefaultAsync()); }
public async Task SingleOrDefaultAsync_HasValue() { EntityMapping.RegisterType(typeof(QueryableAsyncModel)); var connection = TestConfiguration.GetConnection(); var context = new MongoDbContext(connection); var provider = new MongoFrameworkQueryProvider <QueryableAsyncModel>(connection); var queryable = new MongoFrameworkQueryable <QueryableAsyncModel>(provider); context.ChangeTracker.SetEntityState(new QueryableAsyncModel { Title = "SingleOrDefaultAsync_HasValue.1" }, EntityEntryState.Added); context.SaveChanges(); var result = await queryable.SingleOrDefaultAsync(); Assert.AreEqual("SingleOrDefaultAsync_HasValue.1", result.Title); }
public async Task SingleOrDefaultAsync_HasMoreThanOneValue() { EntityMapping.RegisterType(typeof(QueryableAsyncModel)); var connection = TestConfiguration.GetConnection(); var context = new MongoDbContext(connection); var provider = new MongoFrameworkQueryProvider <QueryableAsyncModel>(connection); var queryable = new MongoFrameworkQueryable <QueryableAsyncModel>(provider); context.ChangeTracker.SetEntityState(new QueryableAsyncModel { Title = "SingleOrDefaultAsync_HasMoreThanOneValue.1" }, EntityEntryState.Added); context.ChangeTracker.SetEntityState(new QueryableAsyncModel { Title = "SingleOrDefaultAsync_HasMoreThanOneValue.2" }, EntityEntryState.Added); context.SaveChanges(); await Assert.ThrowsExceptionAsync <InvalidOperationException>(async() => await queryable.SingleOrDefaultAsync()); }