Created
January 19, 2016 22:28
-
-
Save mikberg/07b4006e22aacf31ffe6 to your computer and use it in GitHub Desktop.
Relay mock module
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Relay from 'real-react-relay'; | |
export class Mutation extends Relay.Mutation { | |
_resolveProps(props) { | |
this.props = props; | |
} | |
} | |
export class MockStore { | |
reset() { | |
this.successResponse = undefined; | |
} | |
succeedWith(response) { | |
this.reset(); | |
this.successResponse = response; | |
} | |
failWith(response) { | |
this.reset(); | |
this.failureResponse = response; | |
} | |
update(callbacks) { | |
if (this.successResponse) { | |
callbacks.onSuccess(this.successResponse); | |
} else if (this.failureResponse) { | |
callbacks.onFailure(this.failureResponse); | |
} | |
this.reset(); | |
} | |
commitUpdate(mutation, callbacks) { | |
return this.update(callbacks); | |
} | |
applyUpdate(mutation, callbacks) { | |
return this.update(callbacks); | |
} | |
} | |
export const Store = new MockStore(); | |
export const Route = Relay.Route; | |
export const PropTypes = Relay.PropTypes; | |
export default { | |
QL: Relay.QL, | |
Mutation, | |
Route: Relay.Route, | |
PropTypes: Relay.PropTypes, | |
createContainer: (component, specs) => { | |
/* eslint no-param-reassign:0 */ | |
component.getRelaySpecs = () => specs; | |
return component; | |
}, | |
Store, | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Do you know of any mock of relay modern that can be used in the same way as this one?