facebook / facebook/relay

Test failing after React 17 update

Open
#3,338 1 comment 3 reactions 0 assignees View on GitHub
wontfix
Dominant language
Rust
Stars
19k
Forks
1.9k
PR merge metrics
No merged PRs in 30d

Description

I updated to React 17 and this test started failing but I have no clue why:

import { render } from '@testing-library/react';
import { createMockEnvironment, MockPayloadGenerator } from 'relay-test-utils';

describe('when loading is complete', () => {
it('renders user fields', () => {
jest.resetModules();

const mockEnvironment = createMockEnvironment();

jest.mock('../../../../environment', () => mockEnvironment);
jest.mock('../User.react');

const TakedownUserRenderer = require('../UserRenderer.react').default;

const renderer = render();

expect(renderer.getByTestId('loading-user')).toBeTruthy();
expect(renderer.queryByTestId('active-user')).toBeFalsy();

// Fails here
mockEnvironment.mock.resolveMostRecentOperation(operation =>
MockPayloadGenerator.generate(operation),
);
});
});

The component:

class UserRenderer extends PureComponent {
render(): Node {
return (
{
return (




);
}}
/>
);
}
}

export default UserRenderer;

Error:

> Failed: "Error: ForwardRef(Relay(User))(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null."
>
30 | expect(renderer.queryByTestId('active-user')).toBeFalsy();
31 |
> 32 | mockEnvironment.mock.resolveMostRecentOperation(operation =>
| ^
33 | MockPayloadGenerator.generate(operation),
34 | );
35 | });

Packages:
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-relay": "^0.0.0-experimental-4c4107dd",
"relay-runtime": "^10.1.3",

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.