Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

jest-partial

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jest-partial

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->

latest
Source
npmnpm
Version
1.0.1
Version published
Weekly downloads
56
-28.21%
Maintainers
1
Weekly downloads
 
Created
Source

jest-partial

All Contributors

Partial Matcher for Jest Expect

animation of jest-partial matcher

jest-partial asserts that the provided object is a subset of the expected. We don't always want to verify the entire object that has been given. We often just want to protect the properties that we need, and ignore everything else.

Installation

With npm:

npm install --save-dev jest-partial

With yarn:

yarn add -D jest-partial

Setup

Jest >v24

Add jest-partial to your Jest setupFilesAfterEnv configuration. See for help

"jest": {
  "setupFilesAfterEnv": ["jest-partial"]
}

Jest <v23

"jest": {
  "setupTestFrameworkScriptFile": "jest-partial"
}

If you are already using another test framework, like jest-chain, then you should create a test setup file and require each of the frameworks you are using.

For example:

// ./testSetup.js
require('jest-partial');
require('jest-chain');
require('any other test framework libraries you are using');

Then in your Jest config:

"jest": {
  "setupTestFrameworkScriptFile": "./testSetup.js"
}

Typescript

If your editor does not recognise the custom jest-partial matchers, add a global.d.ts file to your project with:

import 'jest-partial';

API

The examples below use the following data object:

const kitchen = {
  version: '1',
  floor: {
    material: 'wood',
    color: 'walnut',
  },
  drawers: [
    {
      contents: [
        { type: 'spoon', count: 4 },
        { type: 'fork', count: 2 },
      ],
    },
  ],
};

.toMatchPartial(object)

case: Our kitchen has multiple drawers, and we just want to know that there is at least one drawer that contains spoons.

expect(kitchen).toMatchPartial({
  drawers: [
    {
      contents: [{ type: 'spoon' }],
    },
  ],
});

case: Our kitchen has multiple drawers, and we want to know that there is a drawer that holds 2 forks.

expect(kitchen).toMatchPartial({
  drawers: [
    {
      contents: [{ type: 'fork', count: 2 }],
    },
  ],
});

case: Our kitchen has multiple drawers, and we want to know that there is a drawer that holds forks and spoons.

expect(kitchen).toMatchPartial({
  drawers: [
    {
      contents: [{ type: 'fork' }, { type: 'spoon' }],
    },
  ],
});

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Stephan Meijer

🤔 💻 🚇 🚧

This project follows the all-contributors specification. Contributions of any kind welcome!

Keywords

jest

FAQs

Package last updated on 28 Sep 2020

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