jest-react-mock
TypeScript icon, indicating that this package has built-in type declarations

3.1.2 • Public • Published

Installation

With npm

npm i -D jest-react-mock

or with yarn

yarn add -D jest-react-mock

Setup

In your test setup:

import 'jest-react-mock';

Usage

toBeMounted

Checks that a mock component is currently mounted.

import createReactMock from 'react-mock-component';
import React from 'react';
import {render, unmount} from 'react-dom';

const Mock = createReactMock();

expect(Mock).not.toBeMounted();
render(<Mock />);
expect(Mock).toBeMounted();
unmount();
expect(Mock).not.toBeMounted();

toHaveBeenRendered()

Checks that a mock component has been rendered at least once.

import createReactMock from 'react-mock-component';
import React from 'react';
import {render} from 'react-dom';

const Mock = createReactMock();

expect(Mock).not.toHaveBeenRendered();

render(<Mock />);

expect(Mock).toHaveBeenRendered();

This is slightly different from toBeMounted: if the component gets unmounted toBeMounted will throw whereas toHaveBeenRendered will continue to pass.

toHaveBeenRenderedWith(props)

Checks that a mock component has been rendered with the expected props at least once. If you want to check only the last render then use toHaveProps. You can pass a subset of the props and they will be deeply matched against the received ones.

import createReactMock from 'react-mock-component';
import React from 'react';
import {render} from 'react-dom';

const Mock = createReactMock<{ foo: string, bar: number }>();

render(<Mock foo="bar" bar={42} />);

expect(Mock).toHaveBeenRenderedWith({ foo: 'bar' });

toHaveProps(props)

Checks that a mock component's last received props match the expected ones. If you want the check all renders and not just the last one then use toHaveBeenRenderedWith. You can pass a subset of the props and they will be deeply matched against the received ones.

import createReactMock from 'react-mock-component';
import React from 'react';
import {render} from 'react-dom';

const Mock = createReactMock<{ foo: string, bar: number }>();

render(<Mock foo="bar" bar={42} />);

expect(Mock).toHaveProps({ foo: 'bar' });

Package Sidebar

Install

npm i jest-react-mock

Weekly Downloads

6,504

Version

3.1.2

License

MIT

Unpacked Size

23 kB

Total Files

11

Last publish

Collaborators

  • nighttrax