public async Task ShouldFilterByContentItemIndexWhenSqlTablePrefixIsUsed() { await _initializeTask; _prefixedStore.RegisterIndexes <AnimalIndexProvider>(); using (var services = new FakeServiceCollection()) { services.Populate(new ServiceCollection()); services.Services.AddScoped(x => _prefixedStore.CreateSession()); var shellSettings = new ShellSettings(); shellSettings["TablePrefix"] = _prefix; services.Services.AddScoped(x => shellSettings); services.Build(); var returnType = new ListGraphType <StringGraphType>(); returnType.ResolvedType = new StringGraphType() { Name = "Animal" }; var animalWhereInput = new AnimalPartWhereInput(); var inputs = new FieldType { Name = "Inputs", Arguments = new QueryArguments { new QueryArgument <WhereInputObjectGraphType> { Name = "where", Description = "filters the animals", ResolvedType = animalWhereInput } } }; var context = new ResolveFieldContext { Arguments = new Dictionary <string, object>(), UserContext = new GraphQLContext { ServiceProvider = services }, ReturnType = returnType, FieldDefinition = inputs }; var ci = new ContentItem { ContentType = "Animal", Published = true, ContentItemId = "1", ContentItemVersionId = "1" }; ci.Weld(new AnimalPart { Name = "doug" }); var session = ((GraphQLContext)context.UserContext).ServiceProvider.GetService <ISession>(); session.Save(ci); await session.CommitAsync(); var type = new ContentItemsFieldType("Animal", new Schema(), Options.Create(new GraphQLContentOptions()), Options.Create(new GraphQLSettings { DefaultNumberOfResults = 10 })); context.Arguments["where"] = JObject.Parse("{ contentItemId: \"1\" }"); var dogs = await((LockedAsyncFieldResolver <IEnumerable <ContentItem> >)type.Resolver).Resolve(context); Assert.Single(dogs); Assert.Equal("doug", dogs.First().As <AnimalPart>().Name); } }