diff --git a/react-relay/index.d.ts b/react-relay/index.d.ts index b238b53f77..9c45ed9c7c 100644 --- a/react-relay/index.d.ts +++ b/react-relay/index.d.ts @@ -57,7 +57,7 @@ declare module "react-relay" { supports(...options: string[]): boolean } - function createContainer(component: React.ComponentClass | React.StatelessComponent, params?: CreateContainerOpts): RelayContainerClass + function createContainer(component: React.ComponentClass | React.StatelessComponent, params?: CreateContainerOpts): RelayContainerClass function injectNetworkLayer(networkLayer: RelayNetworkLayer): any function isContainer(component: React.ComponentClass): boolean function QL(...args: any[]): string diff --git a/react-relay/react-relay-tests.tsx b/react-relay/react-relay-tests.tsx index dce5435105..7160e60b0a 100644 --- a/react-relay/react-relay-tests.tsx +++ b/react-relay/react-relay-tests.tsx @@ -41,3 +41,45 @@ export default class AddTweetMutation extends Relay.Mutation { return this.props } } + +interface ArtworkProps { + artwork: { + title: string + }, + relay: Relay.RelayProp, +} + +class Artwork extends React.Component { + render() { + return ( + + {this.props.artwork.title} + + ) + } +} + +const ArtworkContainer = Relay.createContainer(Artwork, { + fragments: { + artwork: () => Relay.QL` + fragment on Artwork { + title + } + ` + } +}) + +class StubbedArtwork extends React.Component { + render() { + const props = { + artwork: { title: "CHAMPAGNE FORMICA FLAG" }, + relay: { + variables: { + artworkID: "champagne-formica-flag", + }, + setVariables: () => {}, + } + } + return + } +}