Ich versuche, den Service wie in dem docs Beispiel http://dev.apollodata.com/tools/graphql-tools/mocking.html#Default-mock-example
spö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
Hmmm, dilly von einer Gurke dort elmpp. Ich wandere, wenn jemand die Antwort darauf weiß – elmpp