@wezom/toolkit-jest

Useful tools for working with Jest

Usage no npm install needed!

<script type="module">
  import wezomToolkitJest from 'https://cdn.skypack.dev/@wezom/toolkit-jest';
</script>

README

@wezom/toolkit-jest

Test Build

Useful tools for working with Jest

Statements Branches Functions Lines
Statements Branches Functions Lines

Table of Content:

  1. Usage
  2. Tools
    1. jestFunctionSignatureTest()
    2. jestLogMute() and jestLogUnmute()
  3. Contributing
  4. License

Usage

Install npm package

npm i @wezom/toolkit-jest

▲ Go Top | ▲ Table of Content


Tools

jestFunctionSignatureTest()

Function signature test with set of custom cases

Parameters:

Name Data type Argument Default value Description
method T
cases { name?: string; parameters: Parameters<T>; expected: ReturnType<T> }[]

Returns: void

Examples:

// some-function.ts
export const someFunction = (y: boolean, z: number, w: number): number | null =>
    y ? z + w : null;

// some-function.spec.ts
import { someFunction } from 'some-function';
import { jestFunctionSignatureTest } from '@wezom/toolkit-jest';

describe('Function signature should match specification', () => {
    jestFunctionSignatureTest(someFunction, [
        {
            parameters: [true, 4, 5],
            expected: 9
        },
        {
            name: 'Custom test name',
            parameters: [false, 4, 5],
            expected: null
        }
    ]);
});

▲ Go Top | ▲ Table of Content


jestLogMute() and jestLogUnmute()

Mute default console.log logging

Returns: void

Examples:

// some-function.ts
export const someFunction = (x: number, y: number): number => {
    console.log('SOME LOG MESSAGE');
    return x + y;
};

// some-function.spec.ts
import { someFunction } from 'some-function';
import { jestLogMute, jestLogUnmute } from '@wezom/toolkit-jest';

describe('Should be silent test', () => {
    jestLogMute();
    test('silent testing of the `someFunction`', () => {
        expect(someFunction(1, 2)).toBe(3);
    });
    jestLogUnmute();
});

▲ Go Top | ▲ Table of Content


Contributing

Please fill free to create issues or send PR

Licence

BSD-3-Clause License