Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thinkmill/jest-expect-contain-deep

Assert deeply nested values in Jest
https://github.com/thinkmill/jest-expect-contain-deep

assertion deep jest matcher test

Last synced: 8 days ago
JSON representation

Assert deeply nested values in Jest

Awesome Lists containing this project

README

        

# jest-expect-contain-deep

> Assert deeply nested values in [Jest](https://facebook.github.io/jest/)

## Installation

```sh
yarn add --dev jest-expect-contain-deep
```

## Usage

**Before:**

```js
const containDeep = require('jest-expect-contain-deep');

test('values', () => {
let massiveObject = getMassiveObject();
expect(massiveObject.foo).toBe(expect.arrayContaining([1, 2]));
expect(massiveObject.bar.prop).toBe(true);
expect(massiveObject.baz).toContain('bar');
});

test('spies', () => {
doSomething();
expect(mySpy.mock.calls[0][0].foo).toBe(expect.arrayContaining([1, 2]));
expect(mySpy.mock.calls[0][0].bar.prop).toBe(true);
expect(mySpy.mock.calls[0][0].baz).toContain('bar');
});
```

**After:**

```js
const containDeep = require('jest-expect-contain-deep');

test('values', () => {
expect(getMassiveObject()).toEqual(containDeep({
foo: [1, 2],
bar: { prop: true },
baz: expect.stringContaining('bar'),
}));
});

test('spies', () => {
doSomething();
expect(mySpy).toHaveBeenCalledWith('arg1', containDeep({
foo: [1, 2],
bar: { prop: true },
baz: expect.stringContaining('bar'),
}));
});
```