@giancosta86/more-jest
TypeScript icon, indicating that this package has built-in type declarations

4.1.0 • Public • Published

more-jest

TypeScript utilities for Jest

GitHub CI npm version MIT License

more-jest is a TypeScript library providing enhanced TypeScript support for Jest.

Installation

The package on NPM is:

@giancosta86/omnicourse

The public API entirely resides in the root package index, so you shouldn't reference specific modules.

Matchers

To use the matchers provided by more-jest within a project, one needs to:

  1. Add the following attribute to the object exported by jest.config.js:

    setupFilesAfterEnv: ["@giancosta86/more-jest/dist/all"],
  2. Add this line to a global.d.ts file within the project root directory:

    import "@giancosta86/more-jest";
  3. Add "./global.d.ts" to the include array in tsconfig.json

Usage

Equality.addTesterFor(classType)

Takes a parameter of class T containing a method defined as:

equals(other: T): boolean {}

and registers into Jest an equality tester that:

  • returns undefined if either equality operand is not an instance of class T

  • otherwise, returns calls optionalEquals() as defined by @giancosta86/swanlake

Equality.test

Runs a suite of equality-related tests, inside a describe block having title «equality».

It takes the following parameters:

  • a factory used to create a reference object and its equal copies

  • a factory used to create a different object, not equal to the reference instance

Comparison.test

Runs a suite of comparison-related tests based on a Comp algorithm, within a «comparison» describe block.

It takes an object with the following parameters:

  • comp: the Comp object to be tested

  • scrambledItems: the items in any chaotic state

  • sortedItems: the items in the expected order

Matchers

  • .toBeTrimmed(): expects that a string be trimmed

  • .toEqualSequence(expected): expects that an iterable has the same items, in the same order, as the given iterable. The iterables can be of different types

  • .toHaveSameJson(expected): expects that a value be serialized to JSON as the given object

See also

Package Sidebar

Install

npm i @giancosta86/more-jest

Weekly Downloads

9

Version

4.1.0

License

MIT

Unpacked Size

25.4 kB

Total Files

43

Last publish

Collaborators

  • giancosta86