2017-10-05 6 views
0

Ich versuche, den Service wie in dem docs Beispiel http://dev.apollodata.com/tools/graphql-tools/mocking.html#Default-mock-examplespöttischer Service und laufen parametrisierte Abfrage in reagieren apollo graphql

Ich bin Export meines Schemas mit der Standard Selbstbeobachtung Abfrage, den Aufbau eine Schemaobjekt und mit diesem zu verspotten wenn Sie versuchen, eine Abfrage auszuführen, wie in den Dokumenten erwähnt.

import * as introspectionResult from "../../graphql/schema.json" 
const GRAPHQL_QUERY = ` 
query eventsFeatured(
    $type: String!, 
    $entity_type: String, 
    $market__role: String, 
    $outcome__odds_rank_unique: Int, 
    $limit: Int 
) { 
    featured(
    type: $type, 
    entity_type: $entity_type, 
    market__role: $market__role, 
    outcome__odds_rank_unique: $outcome__odds_rank_unique, 
    limit: $limit 
) { 
    ...FeaturedFragment 
    media { 
     description 
     extralarge 
     large 
     medium 
     preview 
     __typename 
    } 
    event { 
     ...EventFragment 
     market { 
     ...MarketFragment 
     outcome { 
      ...OutcomeFragment 
      media_logo { 
      preview 
      small 
      __typename 
      } 
      bookie { 
      ...BookieFragment 
      __typename 
      } 
      __typename 
     } 
     __typename 
     } 
     article { 
     ...ArticleFragment 
     __typename 
     } 
     category3 { 
     ...AllCategoriesFragment 
     __typename 
     } 
     __typename 
    } 
    offer { 
     id 
     name 
     conditions 
     deeplink 
     domain { 
     ...EventFragment 
     __typename 
     } 
     __typename 
    } 
    __typename 
    } 
} 

fragment EventFragment on Event { 
    id 
    name 
    canonicalised_name 
    display_name 
    date 
    date_human 
    date_short 
    type 
    __typename 
} 

fragment MarketFragment on Market { 
    id 
    name 
    display_name 
    canonicalised_name 
    type 
    role { 
    name 
    __typename 
    } 
    __typename 
} 

fragment OutcomeFragment on Outcome { 
    id 
    name 
    display_name 
    canonicalised_name 
    odds 
    odds_decimal 
    odds_rank 
    deeplink 
    home_or_away 
    type 
    __typename 
} 

fragment BookieFragment on Bookie { 
    name 
    __typename 
} 

fragment ArticleFragment on BaseArticle { 
    title 
    body 
    excerpt 
    author 
    date_no_time 
    date_stamp 
    date_human 
    date_short 
    date 
    __typename 
} 

fragment AllCategoriesFragment on Category3 { 
    ...Category3Fragment 
    category2 { 
    ...Category2Fragment 
    category1 { 
     ...Category1Fragment 
     __typename 
    } 
    __typename 
    } 
    __typename 
} 

fragment Category1Fragment on Category1 { 
    name 
    canonicalised_name 
    __typename 
} 

fragment Category2Fragment on Category2 { 
    name 
    canonicalised_name 
    __typename 
} 

fragment Category3Fragment on Category3 { 
    name 
    canonicalised_name 
    __typename 
} 

fragment FeaturedFragment on Featured { 
    id 
    type 
    display_order 
    __typename 
} 
` 

// this builds our mock apollo schema 
const schema = buildClientSchema(introspectionResult) 
addMockFunctionsToSchema({ schema }) 

// execute the supplied apollo query 
    graphql(schema, GRAPHQL_QUERY, { 
     options: (props) => ({ 
     variables: { 
      type: "IMAGEGRIDHOMEPAGE" 
     }, 
     })}) 
     .then(graphqlResult => { 
.... etc 
``` 

However, I am seeing the following error: 

``` 
{ errors: 
     [ GraphQLError { 
      message: 'Variable "$type" of required type "String!" was not provided.', 
      locations: [Object], 
      path: undefined } ] } 

Es scheint, dass die graphql Funktion erkennt nicht die Standardoptionen Objekt, zumindest nicht die variables Definitionen, wenn in diesem Zusammenhang mit einem Schema-Objekt als erstes arg verwendet. Ich habe versucht, in die Quelle hier zu graben, aber meine Typoskript ist nicht die beste - https://github.com/apollographql/react-apollo/blob/master/src/graphql.tsx

+0

Hmmm, dilly von einer Gurke dort elmpp. Ich wandere, wenn jemand die Antwort darauf weiß – elmpp

Antwort

0

Anwenderfehler - wie in den docs zu sehen ist, die graphql Funktion hier ist von der Basis graphql Bibliothek, nicht in der Tat die apollo-react ein.

Verwandte Themen