You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP

jest-react-mock

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jest-react-mock

jest helper for react-mock-component

3.2.0
latest
Version published
Weekly downloads
7.4K
-40.39%
Maintainers
1
Weekly downloads
 
Created

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' });

FAQs

Package last updated on 02 Mar 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts