示例#1
0
 it('throws if rendered without a relay context', () => {
   const ShallowRenderer = ReactTestUtils.createRenderer();
   expect(() => ShallowRenderer.render(
     <MockContainer foo={mockFooPointer} />
   )).toFailInvariant(
     'RelayContainer: `Relay(MockComponent)` was rendered with invalid ' +
     'Relay context `undefined`. Make sure the `relay` property on the ' +
     'React context conforms to the `RelayEnvironment` interface.'
   );
 });
示例#2
0
 it('throws if rendered without a route', () => {
   const ShallowRenderer = ReactTestUtils.createRenderer();
   expect(() => ShallowRenderer.render(
     <MockContainer foo={mockFooPointer} />,
     {relay: environment}
   )).toFailInvariant(
     'RelayContainer: `Relay(MockComponent)` was rendered without a valid ' +
     'route. Make sure the route is valid, and make sure that it is ' +
     'correctly set on the parent component\'s context ' +
     '(e.g. using <RelayRootContainer>).'
   );
 });
示例#3
0
 it('throws if rendered with an invalid relay context', () => {
   const fakeContext = {};
   const ShallowRenderer = ReactTestUtils.createRenderer();
   expect(() => ShallowRenderer.render(
     <MockContainer foo={mockFooPointer} />,
     {relay: fakeContext}
   )).toFailInvariant(
     'RelayContainer: `Relay(MockComponent)` was rendered with invalid ' +
     'Relay context `[object Object]`. Make sure the `relay` property on ' +
     'the React context conforms to the `RelayEnvironment` interface.'
   );
 });
  beforeEach(() => {
    jest.resetModuleRegistry();
    jasmine.addMatchers(RelayTestUtils.matchers);

    MockComponent = React.createClass({render: () => <div />});
    MockContainer = Relay.createContainer(MockComponent, {
      fragments: {},
    });
    ShallowRenderer = ReactTestUtils.createRenderer();

    queryConfig = RelayQueryConfig.genMockInstance();
    environment = new RelayEnvironment();

    console.error = jest.genMockFunction().mockImplementation(message => {
      throw new Error(message.replace(/Composite propType/, 'propType'));
    });
  });