Skip to content

Instantly share code, notes, and snippets.

npm install relay-compiler babel-plugin-relay react-relay @testing-library/react relay-test-utils react-test-renderer --save
import React, { useEffect, useState } from 'react';
import { HelloQuery } from './relay/graphql/query/Hello';
import { fetchQuery } from './relay/index';
// getting a test environment as props
export default function Testing({ environment }) {
// a react useState hook
const [text, setText] = useState('');
import React from 'react';
import { render } from '@testing-library/react';
/**
*
* @param {React component} any React component
* @returns React component wrapped around with the store
*/
const Provider = ({ children }) => {
return <>
import { screen, waitFor } from '@testing-library/react';
import {
createMockEnvironment,
MockPayloadGenerator,
} from 'relay-test-utils';
import ReactTestRenderer from 'react-test-renderer';
import { customRender } from './testUtils/test-utils';
import Testing from './Testing';
export default function Testing({ environment }) {
// a react useState hook
const [text, setText] = useState('');
const makeApiCall = () => {
// Make the graphQL call by passing the test environment
fetchQuery(HelloQuery, {}, environment).subscribe({
next: (data) => {
// The HelloQuery will return a string, so we can set that to
console.log
Sample
at Object.next (src/Testing.js:13:19)
PASS src/mock.test.js
✓ Mocking GraphQL queries (42 ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
npm i -D rollup rollup-plugin-typescript2 @rollup/plugin-commonjs @rollup/plugin-node-resolve rollup-plugin-peer-deps-external rollup-plugin-postcss node-sass sass
import React from "react";
import { SampleComponentProps } from "./SampleComponent.types";
import "./SampleComponent.scss";
const SampleComponent: React.FC<SampleComponentProps> = ({ text }) => (
<div
className="sample-component"
>
import SampleComponent from './SampleComponent/SampleComponent';
export { SampleComponent };
npm i --save-dev jest ts-jest @types/jest identity-obj-proxy @testing-library/react @testing-library/jest-dom jest-environment-jsdom