public GqlQueryProviderTest(GqlClientFixture clientFixture) { var mapper = new Mock <IGraphTypeNameMapper>(); mapper.Setup(_ => _.GetTypeName(It.IsAny <Type>())).Returns((Type t) => t.Name); var schema = Schema.For(@" type Object { id: Int! } type Query { objects: [Object] }"); queryBuilder = new GqlQueryBuilder(schema, mapper.Object); client = clientFixture.CreateClientFor( schema, new { objects = new[] { new { id = 1 }, new { id = 2 }, new { id = 3 } } }); }
internal GqlContext(Func <IGraphQLClient> clientFactory, ISchemaSource schemaSource) { queryProvider = new Lazy <GqlQueryProvider>(() => { var gqlClient = clientFactory(); var schema = schemaSource.GetSchema(); var mapper = new GraphTypeMapper(schema, fluentContext); var serializer = GetSerializer(new EntityCache(mapper)); var queryBuilder = new GqlQueryBuilder(schema, mapper); return(new GqlQueryProvider(gqlClient, queryBuilder, serializer)); }); fluentContext = new FluentContext(); }
public GqlQueryProvider(IGraphQLClient client, GqlQueryBuilder queryBuilder, JsonSerializer serializer) { this.client = client ?? throw new ArgumentNullException(nameof(client)); this.queryBuilder = queryBuilder ?? throw new ArgumentNullException(nameof(queryBuilder)); this.serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); }
public GqlQueryProvider(IGraphQLClient client, GqlQueryBuilder queryBuilder) : this(client, queryBuilder, JsonSerializer.CreateDefault()) { }